o
    G%@ij  ã                   @   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 )z Get Directory Server version r	   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|› d¡ qW n ty>   |  d	¡ Y nw |  ¡ sI|  d
¡ n"d|  ¡ v r^|  g d¢¡ |  	ddi¡ nd|  ¡ v rk|  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 zdsctl z 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/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Úadd_dir_listing)r   ÚdsrvÚ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   ÚpostprocR   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   