o
    id]                     @   s6   d dl mZmZmZ d dlmZ G dd deeZdS )    )PluginRedHatPluginSoSPredicate)globc                   @   sX   e Zd ZdZdZdZdZdZdZdZ	dd Z
d	d
 Zdd Zdd Zdd Zdd ZdS )IpazIdentity, policy, auditipa)identityapacheF)z/etc/ipa)
ipa-serverz
ipa-clientfreeipa-serverzfreeipa-clientc                 C   s>   |  ds| ds| drdS |  ds| drdS d S )Nz
pki-serverz/var/lib/pkiz/usr/share/doc/ipa-server-4.2.0v4z
pki-commonz/var/lib/pki-ca/v3)is_installedpath_existsself r   8/usr/lib/python3/dist-packages/sos/report/plugins/ipa.pycheck_ipa_server_version   s   

zIpa.check_ipa_server_versionc                 C   s(   |  d| j s|  d| j rdS d S )Nz%s/conf/ca/CS.cfgz%s/conf/CS.cfgT)r   pki_tomcat_dir_v4pki_tomcat_dir_v3r   r   r   r   ca_installed&   s
   zIpa.ca_installedc                 C   s   |  ds
|  drdS d S )Nr
   r   T)r   r   r   r   r   ipa_server_installed,   s
   
zIpa.ipa_server_installedc                 C   s8   |dkr|  g d d S |dkr|  g d d S d S )Nr   )
z!/var/log/pki/pki-tomcat/ca/debug*z!/var/log/pki/pki-tomcat/ca/systemz'/var/log/pki/pki-tomcat/ca/transactionsz(/var/log/pki/pki-tomcat/ca/selftests.logz"/var/log/pki/pki-tomcat/catalina.*/var/log/pki/pki-ca-spawn.*z"/var/log/pki/pki-tomcat/kra/debug*z"/var/log/pki/pki-tomcat/kra/systemz(/var/log/pki/pki-tomcat/kra/transactionsz/var/log/pki/pki-kra-spawn.*r   )z/var/log/pki-ca/debugz/var/log/pki-ca/systemz/var/log/pki-ca/transactionsz/var/log/pki-ca/selftests.logz/var/log/pki-ca/catalina.*r   )add_copy_spec)r   ipa_versionr   r   r   retrieve_pki_logs1   s
   zIpa.retrieve_pki_logsc                 C   sP  d| _ d| _d| _d| _|  }|  r'| d | d|  | g d |  r5| d | 	| | g d	 |d
krI| j | _
| j| _n| j| _
| j| _| d| j
  | d| j  | dddddddddd| j
 d| j d| j g | g d t| dgd}| jd|dd tdD ]	}| d |  q| d!d"i d S )#Nz/var/lib/pki/pki-tomcatz/var/lib/pki-caz/etc/pki/pki-tomcat/caz/etc/pki-cazIPA server install detectedzIPA version is [%s])z/var/log/ipaserver-install.logz"/var/log/ipaserver-kra-install.logz!/var/log/ipaserver-enable-sid.logz/var/log/ipareplica-install.logz"/var/log/ipareplica-ca-install.logz/var/log/ipa-custodia.audit.logz$CA is installed: retrieving PKI logs)z/var/log/ipaclient-install.logz/var/log/ipaupgrade.logz/var/log/krb5kdc.logz#/var/log/dirsrv/slapd-*/logs/accessz#/var/log/dirsrv/slapd-*/logs/errorsz/etc/dirsrv/slapd-*/dse.ldifz&/etc/dirsrv/slapd-*/schema/99user.ldifz
/etc/hostsz/etc/httpd/alias/*z/etc/named.*z/etc/ipa/ca.crtz/etc/ipa/default.confz/etc/ipa/kdcproxy/kdcproxy.confz$/etc/ipa/kdcproxy/ipa-kdc-proxy.confz/etc/ipa/kdcproxy.confz/root/.ipa/log/cli.log#/var/lib/certmonger/requests/[0-9]*z/var/lib/certmonger/cas/[0-9]*z/var/lib/ipa/ra-agent.pemz/var/lib/ipa/certs/httpd.crtz/var/kerberos/krb5kdc/kdc.crtz(/var/lib/ipa/sysrestore/sysrestore.statez)/var/log/ipa/healthcheck/healthcheck.log*z/var/log/ipaepn.log*r   zcertutil -L -d %s/aliasz	%s/CS.cfgz/etc/pki/nssdb/key*z/etc/dirsrv/slapd-*/key*z/etc/dirsrv/slapd-*/pin.txtz/etc/dirsrv/slapd-*/pwdfile.txtz/etc/httpd/alias/ipasession.keyz/etc/httpd/alias/key*z/etc/httpd/alias/pin.txtz/etc/httpd/alias/pwdfile.txtz/etc/named.keytabz%s/alias/key*z%s/flatfile.txtz%s/password.conf)z"ls -la /etc/dirsrv/slapd-*/schema/z certutil -L -d /etc/httpd/alias/zpki-server cert-find --show-allz%pki-server subsystem-cert-validate caz klist -ket /etc/dirsrv/ds.keytabz%klist -ket /etc/httpd/conf/ipa.keytabz,klist -ket /var/lib/ipa/gssproxy/http.keytab
certmonger)servicesgetcert listgetcert_list)predtagsz/etc/dirsrv/slapd-*/zcertutil -L -d %sz(/var/log/ipa/healthcheck/healthcheck.logfreeipa_healthcheck_log)r   r   pki_tomcat_conf_dir_v4pki_tomcat_conf_dir_v3r   r   
_log_debugr   r   r   pki_tomcat_dirpki_tomcat_conf_diradd_cmd_outputadd_forbidden_pathr   r   add_file_tags)r   r   getcert_predcertdb_directoryr   r   r   setupI   s`   
	



z	Ipa.setupc                 C   sH   d}d}|  d|| | ddd d}t|D ]	}|  |dd	 qd S )
Nz(\s*arg \"password )[^\"]*z
\1********z/etc/named.confr    z(pin=)'(\d+)'z\1'***'r   z(key_pin=)(\d+)z\1***)do_file_subdo_cmd_output_subr   )r   matchsubstrequest_logsrequest_logr   r   r   postproc   s   zIpa.postprocN)__name__
__module____qualname__
short_descplugin_nameprofiles
ipa_server
ipa_clientfilespackagesr   r   r   r   r/   r6   r   r   r   r   r      s    
kr   N)sos.report.pluginsr   r   r   r   r   r   r   r   r   <module>   s   
