File: //usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/postfix.cpython-36.pyc
3
3��d� � @ sZ d dl mZmZmZmZ d dlZG dd� de�ZG dd� dee�ZG dd� deee�ZdS ) � )�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc @ s4 e Zd ZdZdZdZd
Zdd� Zdd� Zd d
� Z dS )�PostfixzPostfix smtp server�postfix�mail�servicesc C s� ddddddddd d
ddd
ddddg}g }znt | jd�d��T}xL|j� D ]@}|jd�rXqH|jd�}|d j� |krH|j|d j� d � qHW W d Q R X W d |S )NZlmtp_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_filez/etc/postfix/main.cf�r�#�=r � )�open� path_join� readlines�
startswith�split�strip�append)�self�forbid_attributes�fp�cffile�lineZwords� r �/usr/lib/python3.6/postfix.py�forbidden_ssl_keys_files s6
(z Postfix.forbidden_ssl_keys_filesc C s d}g }d}t jd�}y�t| jd�d���}x�|j� D ]|}t jd d
|�}|j|�}|d krZq4|jd�j� }||kr4|jd�j� } t | �d
kr�q4| j
|�r�| t |�d � } |j| � q4W W d Q R X W n> tk
� r� }
z d|
j
d
� �}| j|� W Y d d }
~
X nX |S )N�lmtp_sasl_password_maps�smtp_sasl_password_maps�postscreen_dnsbl_reply_map�smtp_sasl_auth_cache_namezhash:z
^(.*)=(.*)z/etc/postfix/main.cfr
z#.*� r
� r zError parsing main.cf: )r r r r )�re�compiler r r �sub�match�groupr �lenr r � Exception�argsZ
_log_error)r r r �prefixZ
option_formatr r ZoptionZ attribute�filepath�e�msgr r r �forbidden_password_files9 s4
z Postfix.forbidden_password_filesc C sJ | j dg� | jddg� | jdddg� | j| j� � | j| j� � d S )Nz
/etc/postfix/ZpostconfZmailqz/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)r r )r )
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofiles�packagesr r/ r1 r r r r r s #$r c s$ e Zd ZdZdZ� fdd�Z� ZS )�
RedHatPostfix�/etc/rc.d/init.d/postfixr c s t t| �j� | jd� d S )Nz /etc/mail)�superr6 r1 r0 )r )� __class__r r r1 t s zRedHatPostfix.setup)r7 )r )r2 r3 r4 �filesr5 r1 �
__classcell__r r )r9 r r6 o s r6 c s e Zd ZdZ� fdd�Z� ZS )�
DebianPostfixr c s t t| �j� d S )N)r8 r<