a G%@ijã@s&ddlmZmZGdd„deeƒZdS)é)ÚPluginÚ RedHatPluginc@s8eZdZdZdZdZdZdZdd„Zdd „Z d d „Z d S) ÚDirectoryServerzDirectory ServerZds)Úidentity)ú /etc/dirsrvú/opt/redhat-ds)úredhat-ds-baseú redhat-ds-7cCs4| d¡s| d¡rdS| d¡s,| d¡r0dSdS)z Get Directory Server version rrÚds8r rÚds7F)Z is_installedZ path_exists)Úself©r ú9/usr/lib/python3.9/site-packages/sos/report/plugins/ds.pyÚ check_versions ÿ ÿzDirectoryServer.check_versioncCsä| gd¢¡zR| d¡D]B}|dd…dkr| d|¡}| d|›¡| d|›d¡qWnty|| d ¡Yn0| ¡s’| d ¡nDd | ¡vr¼| gd ¢¡|  d di¡nd| ¡vrÖ| ddg¡|  d¡dS)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.confrréZslapdzcertutil -L -d zdsctl z healthcheckzcould not list /etc/dirsrvzDirectory 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/var/lib/dirsrv/slapd-*/db/*) Zadd_forbidden_pathÚlistdirZ path_joinZadd_cmd_outputÚOSErrorZ _log_warnrZ add_alertZ add_copy_specZ add_file_tagsZadd_dir_listing)r ZdsrvZcertpathr r rÚsetup&s,      ÿ þzDirectoryServer.setupcCs,d}d}d}| d||¡| d||¡dS)Nz/(nsslapd-rootpw(\s)*:(\s)*)(\S+)([\r\n]\s.*)*\nz0(nsSymmetricKey(\s)*::(\s)*)(\S+)([\r\n]\s.*)*\nz \1********\nz /etc/dirsrv/*)Zdo_path_regex_sub)r Z regexppassZ regexpkeyÚreplr r rÚpostprocRs zDirectoryServer.postprocN) Ú__name__Ú __module__Ú __qualname__Z short_descZ plugin_nameZprofilesÚfilesZpackagesrrrr r r rrs ,rN)Zsos.report.pluginsrrrr r r rÚ s