U
    i©¹d:  ã                   @   s&   d dl mZmZ G dd„ deeƒZdS )é    )ÚPluginÚRedHatPluginc                   @   s8   e Zd ZdZdZdZdZdZdd„ Zdd	„ Z	d
d„ Z
dS )ÚDirectoryServerzDirectory ServerZds)Zidentity)ú/etc/dirsrvú/opt/redhat-ds)úredhat-ds-baseúredhat-ds-7c                 C   s4   |   d¡s|  d¡rdS |   d¡s,|  d¡r0dS dS )Nr   r   Úds8r   r   Úds7F)Zis_installedZpath_exists)Úself© r   ú7/usr/lib/python3/dist-packages/sos/report/plugins/ds.pyÚcheck_version   s    
ÿ
ÿzDirectoryServer.check_versionc              
   C   sö   |   dddddddg¡ zL|  d¡D ]<}|d	d
… dkr$|  d|¡}|  d| ¡ |  d| ¡ q$W n tk
r‚   |  d¡ Y nX |  ¡ s˜|  d¡ nPd|  ¡ krÎ|  ddddddddg¡ |  	ddi¡ nd|  ¡ krè|  ddg¡ |  d¡ d S )Nz/etc/dirsrv/slapd*/pin.txtz/etc/dirsrv/slapd*/key3.dbz/etc/dirsrv/slapd*/pwfile.txtz/etc/dirsrv/slapd*/*passw*z"/etc/dirsrv/admin-serv/key[3-4].dbz/etc/dirsrv/admin-serv/admpwz$/etc/dirsrv/admin-serv/password.confr   r   é   Zslapdzcertutil -L -d %szdsctl %s healthcheckzcould not list /etc/dirsrvzDirectory Server not found.r	   z/etc/dirsrv/slapd*/cert8.dbz/etc/dirsrv/slapd*/certmap.confz/etc/dirsrv/slapd*/dse.ldifz#/etc/dirsrv/slapd*/dse.ldif.startOKz/etc/dirsrv/slapd*/secmod.dbz /etc/dirsrv/slapd*/schema/*.ldifz/etc/dirsrv/admin-servz/var/log/dirsrv/*z/var/log/dirsrv/*/accessZdirsrv_accessr
   z/opt/redhat-ds/slapd-*/configz/opt/redhat-ds/slapd-*/logsz"ls -l /var/lib/dirsrv/slapd-*/db/*)
Zadd_forbidden_pathÚlistdirZ	path_joinZadd_cmd_outputÚOSErrorZ	_log_warnr   Z	add_alertZadd_copy_specZadd_file_tags)r   ÚdZcertpathr   r   r   Úsetup#   sP    ù
ø
 ÿþzDirectoryServer.setupc                 C   s,   d}d}d}|   d||¡ |   d||¡ d S )Nz/(nsslapd-rootpw(\s)*:(\s)*)(\S+)([\r\n]\s.*)*\nz0(nsSymmetricKey(\s)*::(\s)*)(\S+)([\r\n]\s.*)*\nz\1********\nz/etc/dirsrv/*)Zdo_path_regex_sub)r   Z
regexppassZ	regexpkeyÚreplr   r   r   ÚpostprocO   s
    zDirectoryServer.postprocN)Ú__name__Ú
__module__Ú__qualname__Z
short_descZplugin_nameZprofilesÚfilesZpackagesr   r   r   r   r   r   r   r      s   	,r   N)Zsos.report.pluginsr   r   r   r   r   r   r   Ú<module>   s   