o
    *bÎ  ã                   @   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)Ú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)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Ð   |   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 rT|  g d¢¡ nd|  ¡ v ra|  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   é   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/*r   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_spec)r   ÚdZcertpathr   r   r   Úsetup#   s,   
€üÿ
þ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   ÚpostprocL   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   