File: //usr/lib/python3.9/site-packages/sos/report/plugins/__pycache__/postfix.cpython-39.pyc
a
^��c� � @ sZ d dl mZmZmZmZ d dlZG dd� de�ZG dd� dee�ZG dd� deee�ZdS ) � )�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc @ s4 e Zd ZdZdZdZdZdd� Zdd� Zd d
� Z dS )�PostfixzPostfix smtp server�postfix)ZmailZservices�r c C s� g d�}g }z�t | �d�d��Z}|�� D ]@}|�d�r8q(|�d�}|d �� |v r(|�|d �� d � q(W d � n1 s~0 Y W |S | Y S 0 d S )N)Zlmtp_tls_dkey_fileZlmtp_tls_eckey_fileZlmtp_tls_key_fileZsmtp_tls_dkey_fileZsmtp_tls_eckey_fileZsmtp_tls_key_fileZsmtpd_tls_dkey_fileZsmtpd_tls_eckey_fileZsmtpd_tls_key_fileZ"tls_legacy_public_key_fingerprintsZtlsproxy_tls_dkey_fileZtlsproxy_tls_eckey_fileZtlsproxy_tls_key_fileZsmtpd_tls_dh1024_param_fileZsmtpd_tls_dh512_param_fileZtlsproxy_tls_dh1024_param_fileZtlsproxy_tls_dh512_param_file�/etc/postfix/main.cf�r�#�=r � )�open� path_join� readlines�
startswith�split�strip�append)�self�forbid_attributes�fp�cffile�line�words� r �>/usr/lib/python3.9/site-packages/sos/report/plugins/postfix.py�forbidden_ssl_keys_files s
8z Postfix.forbidden_ssl_keys_filesc
C s d}g }d}t �d�}z�t| �d�d���}|�� D ]|}t �dd|�}|�|�}|d u rXq2|�d��� }||v r2|�d ��� } t | �d
kr�q2| �
|�r�| t |�d � } |�| � q2W d � n1 s�0 Y W n@ t�y }
z&d|
j
d
� �}| �|� W Y d }
~
n
d }
~
0 0 |S )N)Zlmtp_sasl_password_mapsZsmtp_sasl_password_mapsZpostscreen_dnsbl_reply_mapZsmtp_sasl_auth_cache_namezhash:z
^(.*)=(.*)r r
z#.*� r
� r zError parsing main.cf: )�re�compiler r r �sub�match�groupr �lenr r � Exception�argsZ
_log_error)r r r �prefixZ
option_formatr r �optionZ attribute�filepath�e�msgr r r �forbidden_password_files9 s.
. z Postfix.forbidden_password_filesc C sH | � dg� | �ddg� | �g d�� | �| �� � | �| �� � d S )Nz
/etc/postfix/ZpostconfZmailq)z/etc/postfix/*.keyz/etc/postfix/*.crtz/etc/postfix/ssl/)�
add_copy_specZadd_cmd_outputZadd_forbidden_pathr r- �r r r r �setup] s ��z
Postfix.setupN)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofiles�packagesr r- r0 r r r r r s #$r c s$ e Zd ZdZdZ� fdd�Z� ZS )�
RedHatPostfix)z/etc/rc.d/init.d/postfixr c s t t| ��� | �d� d S )Nz /etc/mail)�superr5 r0 r. r/ �� __class__r r r0 t s zRedHatPostfix.setup)r1 r2 r3 �filesr4 r0 �
__classcell__r r r7 r r5 o s r5 c s e Zd ZdZ� fdd�Z� ZS )�
DebianPostfixr c s t t| ��� d S )N)r6 r; r0 r/ r7 r r r0 } s zDebianPostfix.setup)r1 r2 r3 r4 r0 r: r r r7 r r; y s r; ) Zsos.report.pluginsr r r r r r r5 r; r r r r �<module> s a