
    ~ gt                     <    S SK J r   S SKJrJrJr   " S S\\5      rg)    )glob)PluginRedHatPluginSoSPredicatec                   d    \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrS	 rS
 rS rS rS rS rSrg)Ipa   zIdentity, policy, auditipa)identityapacheF)z/etc/ipa)
ipa-serverz
ipa-clientfreeipa-serverzfreeipa-clientNc                     U R                  S5      (       d,  U R                  S5      (       d  U R                  S5      (       a  gU R                  S5      (       d  U R                  S5      (       a  gg)	zGet IPA server version z
pki-serverz/var/lib/pkiz/usr/share/doc/ipa-server-4.2.0v4z
pki-commonz/var/lib/pki-ca/v3N)is_installedpath_existsselfs    8/usr/lib/python3/dist-packages/sos/report/plugins/ipa.pycheck_ipa_server_versionIpa.check_ipa_server_version!   sb    \**##N33##$EFF\**##$677    c                 f   ^  [        U 4S jT R                   S3T R                   S34 5       5      $ )zCheck if any CA is installed c              3   F   >#    U  H  nTR                  U5      v   M     g 7fN)r   ).0pathr   s     r   	<genexpr>#Ipa.ca_installed.<locals>.<genexpr>/   s'      
0tDT"" 0   !z/conf/ca/CS.cfgz/conf/CS.cfg)anypki_tomcat_dir_v4pki_tomcat_dir_v3r   s   `r   ca_installedIpa.ca_installed,   sC      
))*/:))*,70
 
 	
r   c                 .   ^  [        U 4S jS 5       5      $ )z!Check if IPA server is installed c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   )r   )r   pkgr   s     r   r   +Ipa.ipa_server_installed.<locals>.<genexpr>8   s#      
.NsDc"".Nr!   )r   r   )r"   r   s   `r   ipa_server_installedIpa.ipa_server_installed6   s     
.N
 
 	
r   c                 l    US:X  a  U R                  / SQ5        gUS:X  a  U R                  / SQ5        gg)zCollect PKI logs r   )
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.   N)add_copy_spec)r   ipa_versions     r   collect_pki_logsIpa.collect_pki_logs<   s?    $    D     !r   c                    SU l         SU l        SU l        SU l        U R	                  5       nU R                  5       (       a9  U R                  S5        U R                  SU S35        U R                  / SQ5        U R                  5       (       a"  U R                  S	5        U R                  U5        U R                  / S
Q5        US:X  a  U R                   nU R                  nOU R                  nU R                  nU R                  SU S35        U R                  U S35        U R                  SSSSSSSSSU S3U S3U S3/5        U R                  / SQ5        U R                  S5        [        U S/S9nU R                  SUS S!9  [        S"5       H  nU R                  SU 35        M     U R                  S#S$05        g )%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 [])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/etc/dirsrv/slapd-*/dse.ldifz&/etc/dirsrv/slapd-*/schema/99user.ldifz
/etc/hostsz/etc/httpd/alias/*z/etc/ipa/ca.crtz/etc/ipa/default.confz/etc/ipa/kdcproxy.confz$/etc/ipa/kdcproxy/ipa-kdc-proxy.confz/etc/ipa/kdcproxy/kdcproxy.confz/etc/named.*z/root/.ipa/log/cli.logz/var/kerberos/krb5kdc/kdc.crtz/var/lib/certmonger/cas/[0-9]*#/var/lib/certmonger/requests/[0-9]*z/var/lib/ipa/certs/httpd.crtz/var/lib/ipa/ra-agent.pemz(/var/lib/ipa/sysrestore/sysrestore.statez#/var/log/dirsrv/slapd-*/logs/accessz#/var/log/dirsrv/slapd-*/logs/errorsz/var/log/ipa-migrate.logz)/var/log/ipa/healthcheck/healthcheck.log*z/var/log/ipaclient-install.logz/var/log/ipaepn.log*z/var/log/ipaupgrade.logz/var/log/krb5kdc.logr   zcertutil -L -d z/aliasz/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/alias/key*z/flatfile.txtz/password.conf)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.keytabz/etc/dirsrv/slapd-*/schema/
certmonger)servicesgetcert listgetcert_list)predtagsz/etc/dirsrv/slapd-*/z(/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%   r1   add_cmd_outputadd_forbidden_pathadd_dir_listingr   r   add_file_tags)r   r0   pki_tomcat_dirpki_tomcat_conf_dirgetcert_predcertdb_directorys         r   setup	Ipa.setupU   s   !:!2&>#&3# 335$$&&OO9:OO.{m1=>    OOBC!!+. 
 	: $!33N"&"="=!33N"&"="=on-=VDE12':;!&)--#&*k*"#=1"#>2!
 	 	 
 	 	:;#D.:^= 	N!/ 	 	1 !%%; </2B1C DE != 	6)
 	r   c                     SnSnU R                  SX5        U R                  SSS5        Sn[        U5       H  nU R                  USS	5        M     g )
Nz(\s*arg \"password )[^\"]*z
\1********z/etc/named.confr8   z(pin=)'(\d+)'z\1'***'r5   z(key_pin=)(\d+)z\1***)do_file_subdo_cmd_output_subr   )r   matchsubstrequest_logsrequest_logs        r   postprocIpa.postproc   s_    -*E9~/)	+ =-K[/%' .r   )r>   r=   r$   r#   )__name__
__module____qualname____firstlineno__
short_descplugin_nameprofiles
ipa_server
ipa_clientfilespackagesr#   r$   r=   r>   r   r%   r+   r1   rH   rQ   __static_attributes__ r   r   r   r      s]    *JK%HJJEOH!!	

2iV'r   r   N)r   sos.report.pluginsr   r   r   r   r_   r   r   <module>ra      s      A A~'&, ~'r   