o
    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 ServerÚds)Úidentity)ú/etc/dirsrvú/opt/redhat-ds)úredhat-ds-baseúredhat-ds-7c                 C   s4   |   d¡s
|  d¡rdS |   d¡s|  d¡rdS dS )Nr	   r   Úds8r
   r   Úds7F)Úis_installedÚpath_exists)Úself© r   ú7/usr/lib/python3/dist-packages/sos/report/plugins/ds.pyÚcheck_version   s   
ÿ
ÿzDirectoryServer.check_versionc                 C   sÞ   |   g d¢¡ z&|  d¡D ]}|dd… dkr+|  d|¡}|  d| ¡ |  d| ¡ qW n ty;   |  d¡ Y nw |  ¡ sF|  d	¡ n"d
|  ¡ v r[|  g d¢¡ |  	ddi¡ nd|  ¡ v rh|  ddg¡ |  d¡ d S )N)z/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   é   Ú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/*/accessÚdirsrv_accessr   z/opt/redhat-ds/slapd-*/configz/opt/redhat-ds/slapd-*/logsz"ls -l /var/lib/dirsrv/slapd-*/db/*)
Úadd_forbidden_pathÚlistdirÚ	path_joinÚadd_cmd_outputÚOSErrorÚ	_log_warnr   Ú	add_alertÚadd_copy_specÚadd_file_tags)r   ÚdÚcertpathr   r   r   Úsetup#   s2   
€üÿ
ÿþ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/*)Údo_path_regex_sub)r   Ú
regexppassÚ	regexpkeyÚreplr   r   r   ÚpostprocO   s
   zDirectoryServer.postprocN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚfilesÚpackagesr   r!   r&   r   r   r   r   r      s    	,r   N)Úsos.report.pluginsr   r   r   r   r   r   r   Ú<module>   s   