HEX
Server: Apache/2.4.6 () OpenSSL/1.0.2k-fips PHP/8.3.8
System: Linux gateway.rmc-logistics.net 4.1.12-124.48.6.el7uek.x86_64 #2 SMP Tue Mar 16 14:57:50 PDT 2021 x86_64
User: apache (48)
PHP: 8.3.8
Disabled: NONE
Upload Files
File: //lib64/python2.7/site-packages/setroubleshoot/signature.pyo
�
�3�Zc@s�ddlZddlTddlZddlZddlmZmZejdedd�dedd�d	e	�Zy
ej
aWnek
r�ejanXd
ddd
dddddddddddddgZ
edkrejdedd�dedd��nddlmaddlmZddlTddlTddlTddlTddljZddlTddlZddlTddlmZddlZddlZdZd Z d!Z!itd"�e6td#�e 6td$�e!6Z"id%e6d&e 6d'e!6Z#ied%6e d&6e!d'6Z$d
e%fd(��YZ&de'fd)��YZ(de'fd*��YZ)de'fd+��YZ*iZ+td,�e+d-<td.�e+d/<td0�e+d1<td2�e+d3<td4�e+d5<td6�e+d6<td7�e+d7<td8�e+d8<td9�e+d9<td:�e+d:<td;�e+d;<td<�e+d<<td=�e+d=<d>�Z,d?e'fd@��YZ-de'fdA��YZ.de'fdB��YZ/d
e'fdC��YZ0de'fdD��YZ1de'fdE��YZ2de'fdF��YZ3de'fdG��YZ4de'fdH��YZ5de'fdI��YZ6edkr�ddl7Z7e7j8dJ�dKZ9e3�Z:e:j;e9dL�e:j<dZ=e=j>j?dZ@e@jAGHdMe=j>GHe:GHe7jB�e7j8dJ�dkr�dNGHndOe7j8dJ�GHe7jC�ndS(Pi����N(t*(tparse_config_settingt
get_configtdomaintgeneralti18n_text_domaint	localedirti18n_locale_dirtfallbacktSignatureMatchtSEFiltertSEFaultSignaturetSEFaultSignatureInfotSEFaultSignatureSettSEFaultSignatureUsert
SEEnvironmenttSEDatabasePropertiestSEFaultUserInfotSEFaultUserSettSEPlugintSEEmailRecipienttSEEmailRecipientSettFILTER_NEVERt
FILTER_ALWAYStFILTER_AFTER_FIRSTtfilter_textt__main__(tngettext(R(tTemplateiiisNever Ignores
Ignore AlwayssIgnore After First Alerttnevertalwaystafter_firstcBseZd�ZRS(cCs||_||_dS(N(tsiginfotscore(tselfR R!((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt__init__ds	(t__name__t
__module__R#(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR	cscBs�eZiidd6d�d6d6idd6d6idd6d6idd6d6idd6d	6idd6d
6idd6ed6d6idd6ed6d
6idd6d6idd6d6idd6d6Zd�Zd�Zd�Zd�ZRS(t	attributetXMLFormcCsdS(Ns1.0((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt<lambda>kstdefaulttversiontelementtplatformtkerneltpolicy_typet
policy_rpmtenforcetimport_typecasttselinux_enabledtselinux_mls_enabledt
policyversthostnametunamecCs!tt|�j�|j�dS(N(tsuperRR#tupdate(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#xscCs�ddl}ddl}t�\|_|_|j�d|_td�|_t|j	��|_
|j�}|dkr�d|_n	d|_t
|j��|_t
|j��|_|j�|_dj|j��|_dS(Ni����isselinux-policyit
Permissivet	Enforcingt (R,tselinuxtget_os_environmentR-tselinux_getpolicytypeR.tget_rpm_nvr_by_nameR/tstrtsecurity_policyversR4tsecurity_getenforceR0tbooltis_selinux_enabledR2tis_selinux_mls_enabledR3tnodeR5tjoinR6(R"R,R<R0((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR8|s	cCs|j|�S(N(t__eq__(R"tother((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt__ne__�scCs@x9|jj�D](}t||�t||�krtSqWtS(N(t	_xml_infotkeystgetattrtFalsetTrue(R"RItname((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyRH�s(R$R%tbooleanRKR#R8RJRH(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyRis 			cBsXeZiidd6ed6d�d6d6idd6ed6d�d6d6Zed�ZRS(	R+R'R1cCstS(N(R(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�sR)tfilter_typecCsdS(Ni((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�stcountcCs tt|�j�||_dS(N(R7R
R#RR(R"RR((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�s(R$R%tintRKRR#(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR
�s"cBs�eZiidd6d6idd6ed6d�d6d6idd6ed6d�d6d6id	d6ed6d
�d6d6Zd�Zd
�Zdd�ZRS(R&R'tusernameR1cCstS(N(RN(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�sR)t	seen_flagcCstS(N(RN(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�stdelete_flagR+cCst�S(N(R
(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�stfiltercCs tt|�j�||_dS(N(R7RR#RU(R"RU((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�scCsW||jkr%ttd|��n|dkrCttd��nt|||�dS(Ns!item (%s) is not a defined memberRUs changing the username is illegal(t_namestProgramErrortERR_NOT_MEMBERtERR_ILLEGAL_USER_CHANGEtsetattr(R"titemtdata((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytupdate_item�s
cCsxtdtj|d�|f�|tksD|tksD|tkrdtd�td|�|_tSt	d|��dS(Ns%update_filter: filter_type=%s data=%stunknownsupdate_filter: !!!RRsBad filter_type (%s)(
t	log_debugtmap_filter_value_to_nametgetRRRR
RXROt
ValueError(R"RRR_((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt
update_filter�s 
N(	R$R%RQR
RKR#R`tNoneRf(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�s"			t	directorytdirt	semaphoretsems
shared memorytshms
message queuetmsgqtmessagetmsgtfiletsockettprocesstprocess2t
filesystemRFt
capabilitytcapability2cCs|tj�krt|S|S(N(t
class_dictRL(ttclass((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyttranslate_class�stAttributeValueDictionarycBseZdZd�ZRS(tunstructuredcCstt|�j�dS(N(R7RzR#(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�s(R$R%RKR#(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyRz�scBs�eZiidd6d�d6d6idd6d6idd6dd6d	6idd6ed
6d6idd6ed
6d6idd6d
6idd6ed
6d6Zd�ZRS(R&R'cCsdS(Ns4.0((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�sR)R*R+thostt	operationtlisttaccessR1tscontextttcontextRxtportcKsDtt|�j�x*|j�D]\}}t|||�q WdS(N(R7RR#titemsR](R"tkwdstktv((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�s(R$R%t
AvcContextRTRKR#(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�scBsCeZiidd6d6idd6dd6d6Zd�Zd�ZRS(R+R'tanalysis_idtargR~targscCs)tt|�j�||_||_dS(N(R7RR#R�R�(R"R�R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�s	cCst|j|jf�S(N(R@R�R�(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt__str__�s(R$R%RKR#R�(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�s
	c
Bs�eZiidd6dd6ed6d6idd6ed6d6idd6d6idd6d6idd6d	6idd6d
d6d6idd6d
d6d6idd6ed6d
6idd6ed6d6idd6d6idd6ed6d6idd6ed6d6idd6d6idd6d6idd6d6idd6ed6d6idd6ed6d6idd6ed6d6idd6ed6d�d6d6idd6d6idd6dd6e	d6d6idd6d6idd6d6idd6d 6Z
dd	ddd
dddddg
Zd!�Zd"�Z
d#�Zd$�Zd%�Zd&�Zd'�Zd7d(�Zd7d)�Zd*�Zd+�Zd,�Zd-�Zd.�Zd/�Zd0�Zed1�Zd2�Zd3�Z ed4�Z!d5�Z"eed6�Z#RS(8R+R'tpluginR~R1tplugin_listtaudit_eventtsourcetspathttpathtrpmtsrc_rpm_listttgt_rpm_listR�R�RxR�tsigtif_textt	then_texttdo_texttenvironmenttfirst_seen_datetlast_seen_datecCsdS(Ni((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(sR)treport_counttlocal_idtusertuserstleveltfixabletbutton_textcKsVtt|�j�x*|j�D]\}}t|||�q Wd|_g|_dS(Ni(R7RR#R�R]R�R�(R"R�R�R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR##s
	cCs|j|jkr0|j|_|jd7_nx*|jD]}t||t||��q:W|jdkr{|j|_ndS(Ni(R�R�t
merge_includeR]RMR�Rg(R"R RP((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytupdate_merge*scCs
|jjS(N(R�R/(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytget_policy_rpm6scCs8d|j|jj|jj|jdj|jj�fS(Ns%s,%s,%s,%s,%st,(R�R�ttypeR�RxRGR�R(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytget_hash_str9scCstj|j��}|j�S(N(thashlibtsha256R�t	hexdigest(R"thash((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytget_hash<scCsUx$|jD]}|j|kr
|Sq
Wtd|�t|�}|jj|�|S(Nsnew SEFaultSignatureUser for %s(R�RURbRtappend(R"RUR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt
get_user_data@scCs?td|�d}|j|�}|dk	r;|j}n|S(Nsfind_filter_by_username %s(RbRgR�RX(R"RURXt	user_data((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytfind_filter_by_usernameIscCs#|j|�}|j||�dS(N(R�Rf(R"RURRR_R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytupdate_user_filterRscCszd}|j|�}td||f�|dk	rv|dk	rM||_n|j|�}td|||f�n|S(Ntdisplays5evaluate_filter_for_user: found %s user's filter = %ss4evaluate_filter_for_user: found filter for %s: %s
%s(R�RbRgRRtevaluate_filter(R"RURRtactiontf((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytevaluate_filter_for_userVscCs�|j}d}|tkr$d}nR|tkrQ|jdkrHd}qvd}n%|tkrfd}ntd|��|jd7_|S(NR�itignoresunknown filter_type (%s)i(RRRRRSRRe(R"RXRRR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�as					cCsCt|t�r5t|�dkr.dj|�SdSn
td�SdS(NiR;t(t
isinstanceR~tlenRGtdefault_textRg(R"trpm_list((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytformat_rpm_listts

cCsd|j|jfS(Ns	%s [ %s ](R�Rx(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytformat_target_object}scCs�d}|jjd�}|dkr[|jd�dkr[td�|j|jjf}n|jj	dkr|td�}ndS(NtSYSCALLtsuccesstyess:%s has a permissive type (%s). This access was not denied.R9s:SELinux is in permissive mode. This access was not denied.(
RgR�tget_record_of_typet	get_fieldt_R�R�R�R�R0(R"tpermissive_msgtsyscall_record((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt#description_adjusted_for_permissive�s!"cCs�i|_|jj|jd<|jj|jd<|j|jd<|j|jd<tjj|j�|jd<t	j
dd|j�|jd<|jr�t	j
d	d
|j�|jd<ntd�|_|j|jd
<tjj|j�|jd<|jrt	j
d	d
|j�|jd<n|jdkr:d|jd<n]|jdkr\|j|jd<n;|jdkr�tjj|j�|jd<n
d|jd<|jdkr�d|jd<n|j|jd<|jjdkr�d|jd<nd	j|jj�|jd<t|j�dkr0|jd|jd<n|j|jd<x?|jj�D].\}}|dkrPt|�|j|<qPqPWdS(NtSOURCE_TYPEtTARGET_TYPEtSOURCEtSOURCE_PATHtSOURCE_BASE_PATHs[^a-zA-Z0-9]R�tMODULE_NAMER;t.tFIX_SOURCE_PATHsN/AtTARGET_PATHtTARGET_BASE_PATHtFIX_TARGET_PATHt
TARGET_DIRRiRpRhtTARGET_CLASStACCESSitSOURCE_PACKAGEtPORT_NUMBER(ttemplate_substitutionsR�R�R�R�R�tostpathtbasenametretsubR�R�RgRxtdirnameR�RRGR�R�R�R�R�(R"tkeytvalue((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt%update_derived_template_substitutions�sB		"	"
cCst|dj|dj�S(Ni(tcmptpriority(R"txty((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt
priority_sort�scCsd|jdkrSttd�td�t|jj��|jdj|jj�fS|jdkr�ttd�td	�t|jj��|jdj|jj�fS|jdkrttd�td
�t|jj��|jdj|jj�t	|j�|j
jfSttd�td�t|jj��|jdj|jj�t	|j�|jfS(NRrRss?SELinux is preventing %s from using the %s access on a process.sCSELinux is preventing %s from using the '%s' accesses on a process.s, RuRvs6SELinux is preventing %s from using the %s capability.s:SELinux is preventing %s from using the '%s' capabilities.s(null)tUnknowns=SELinux is preventing %s from %s access on the %s labeled %s.sASELinux is preventing %s from '%s' accesses on the %s labeled %s.s5SELinux is preventing %s from %s access on the %s %s.s9SELinux is preventing %s from '%s' accesses on the %s %s.(RrRs(RuRv(s(null)R�(RxtP_R�R�R�RR�RGR�RyR�R�(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytsummary�sDDYcCs�t�|_g}d}|rUx�|jD]&}||j7}|j|df�q(Wn}xz|jD]o}xf|jD][}|j|jkro||j7}|jt|j��|j|t|j�f�PqoqoWq_W|j	|j
�||fS(Nitallow_ypbindt1(R�R�(tload_pluginstpluginsR�R�R�R�t	init_argsttupleR�tsortR�(R"tallR�ttotal_prioritytptsolution((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytget_plugins�s 

cCst|�j|j�S(N(Rtsafe_substituteR�(R"ttxt((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt
substitute�scCs g|D]}|j|�^qS(N(R�(R"R�R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytsubstitute_array�sc	Cs�|j}td�}|ttd�|jj��7}|ttd�|jj��7}|ttd�|j��7}|ttd�t|j��7}|ttd�t|j	��7}|ttd�t|j
��7}|r|ttd�d	�7}n%|ttd�t|jj��7}|ttd
�t|j
|j���7}|ttd�t|j
|j���7}|ttd�t|j��7}|ttd
�t|j��7}|ttd�t|j��7}|ttd�t|j��7}|r%|ttd�d	�7}n"|ttd�t|j��7}|r�|jj�}d	|d<|ttd�tdj|���7}n"|ttd�t|j��7}|ttd�t|j��7}d}|ttd�|jj|��7}|ttd�|jj|��7}|ttd�t|j��7}|dtd�7}d}x�|jjD]�}|jdkr�|d|j�d7}qn|d|j|j f7}|djg|j!D]}d||j"|f^q��d7}qnW|d|j#�7}y�d }	t$j%j&|	�r�d!}
t'|	gd"t(d#t(�}|
|j)|�d$7}
t$j%j*d%�r�|
d&7}
t'|	d'gd"t(d#t(�}|
|j)|�d$7}
n||
7}nWnnX||d7}|S((NsAdditional Information:
sSource ContextsTarget ContextsTarget ObjectstSourcesSource PathtPorttHosts	(removed)sSource RPM PackagessTarget RPM Packagess
Policy RPMsSelinux EnabledsPolicy TypesEnforcing Modes	Host NameitPlatformR;sAlert Counts%Y-%m-%d %H:%M:%S %Zs
First Seens	Last SeensLocal IDs
sRaw Audit MessagesR�tAVCs
type=%s msg=%s: s%s=%ss
Hash: s/usr/bin/audit2allows


audit2allowtstdintstdoutis /var/lib/sepolgen/interface_infos
audit2allow -Rs-R(+R�R�tformat_2_column_name_valueR�tformatR�R�R�R�R�R�R�R|R�R�R�R/R2R.R0R5R6tsplitRGR�R�R�R�R�trecordstrecord_typetto_texttevent_idt
fields_ordtfieldsR�R�R�texisttPopentPIPEtcommunicatetexists(R"treplacetenvttextR6tdate_formattavcbuftaudit_recordR�taudit2allowtnewbufR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytformat_details�sj	"""""%++"""""
+""%%"B
cOsCt}t}z#d�ad�a|||�SWd|a|aXdS(sdefine.*untranslated\(.*\ncSs|dkr|S|S(Ni((R�R�tz((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(-scSs|S(N((R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(.sN(R�R�(R"tfuncR�tkwargstsaved_translateP_tsaved_translate_((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytuntranslated#s		cCs�|j�|j�}|j|�\}}xp|D]h\}}td�|jt|j�t|�ddf}||7}x-tt|�d�D]}	|td�7}q�W|td�7}|j	|j
|jj|��j
d�}
|td�|
7}|j	|j|jj|��j
d�}
|td�|
d	j�|
d
7}|j	|j|jj|��j
d�}
|td�|
d	j�|
d
7}q2W|td�7}|S(
Ns0

*****  Plugin %s (%.4s confidence) suggests   idg�?iPRs
sutf-8s
Then iis
Do
s

(R�R�R�R�R�tfloatR�trangeR�R�tget_if_textR�Rtdecodet
get_then_texttlowertget_do_text(R"R�RRR�R�R�R�ttitletiR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytformat_text4s"
4
**&**N($R$R%Rt
AuditEventR�RTRRt	TimeStampRRKR�R#R�R�R�R�R�R�RgR�R�R�R�R�R�R�R�R�RNR�R�R�RRR((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�sf																	/				B	cBszeZiidd6d�d6d6idd6d6idd6ed6d�d6d	6idd6d
d6d6Zd
�Zd�ZRS(R&R'cCsdS(Ns1.0((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(NsR)R*RUR+R1cCstS(N(RN(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(Pstemail_alertt
email_addressR~temail_address_listcCs tt|�j�||_dS(N(R7RR#RU(R"RU((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#SscCs&||jkr"|jj|�ndS(N(R-R�(R"R,((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytadd_email_addressWs(R$R%RQRKR#R.(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyRLs	cBs]eZiidd6d�d6d6idd6dd6ed6d	6Zd
�Zd�Zd�ZRS(
R&R'cCsdS(Ns1.0((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(_sR)R*R+R�R~R1t	user_listcCstt|�j�dS(N(R7RR#(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#bscCs+x$|jD]}||jkr
|Sq
WdS(N(R/RURg(R"RUR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytget_userescCs9|j|�dk	rdSt|�}|jj|�|S(N(R0RgRR/R�(R"RUR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytadd_userks
(R$R%RRKR#R0R1(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR]s		cBs�eZiidd6d�d6d6idd6ed6d�d6d6idd6d	d
6ed6d6Zd�Zd
�Zd�Zd�Zd�Z	d�Z
d�Zdejd�Z
RS(R&R'cCsdttfS(Ns%d.%d(tDATABASE_MAJOR_VERSIONtDATABASE_MINOR_VERSION(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(vsR)R*R+R1cCst�S(N(R(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(wsR�R R~tsignature_listcCstt|�j�dS(N(R7R
R#(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#zsccsx|jD]}|Vq
WdS(N(R4(R"R ((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytsiginfos}scCs|jj|�|S(N(R4R�(R"R ((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytadd_siginfo�scCs|jj|�dS(N(R4tremove(R"R ((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytremove_siginfo�scCs
g|_dS(N(R4(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytclear�scCsttj��S(N(R@tuuidtuuid4(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytgenerate_local_id�scCs;|dkrdSx$|jD]}|j|kr|SqWdS(N(RgR4R�(R"R�R ((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytlookup_local_id�stexactc
CsM|j�}t}|dkr't}n;t|�tkrRt|�}d|}ntd|��g}x�|jD]�}	d}
|	j}xX|D]P}t	||�t	||�kr�|r�d}
q�|
|7}
q�|r�d}
Pq�q�W|r|
dkr5|j
t|	|
��q5qr|
|krr|j
t|	|
��qrqrW|jd��|S(NR>g�?sunknown criteria = %sgcSst|j|j�S(N(R�R!(tatb((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�s(
RLRNROR�t	FloatTypeR�ReR4R�RMR�R	R�(
R"tpattcriteriatxml_infot
match_targetsR>tnum_match_targetstscore_per_match_targettmatchesR R!R�RP((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytmatch_signatures�s6	
	
	
(R$R%RRRKR#R5R6R8R9R<R=RRI(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR
ts							
cBsJeZiidd6d6idd6d6idd6d6Zdddd�ZRS(R+R'RPt
friendly_nametfilepathcCs_tt|�j�|dk	r+||_n|dk	rC||_n|dk	r[||_ndS(N(R7RR#RgRPRJRK(R"RPRJRK((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�sN(R$R%RKRgR#(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�s
cBsPeZiidd6d6idd6ed6d�d6d6Zd	d�Zd�ZRS(
R+R'taddressR1cCstS(N(R(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�sR)RRcCs8tt|�j�||_|dk	r4||_ndS(N(R7RR#RLRgRR(R"RLRR((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�s	cCs d|jtj|jd�fS(Ns%s:%sRa(RLRcRdRR(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR��sN(R$R%RTRKRgR#R�(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�s
"cBs�eZiidd6d�d6d6idd6dd6ed6d	6Zdd
�Zd�Zd�Zed
�Z	d�Z
d�Zd�ZRS(R&R'cCsdS(NR�((((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR(�sR)R*R+t	recipientR~R1trecipient_listcCs/tt|�j�|dk	r+||_ndS(N(R7RR#RgRN(R"RN((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR#�scCs)djg|jD]}t|�^q�S(NR�(RGRNR@(R"R�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR��scCs7|j�}x$|jD]}||jkr|SqWdS(N(tstripRNRLRg(R"RLRM((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytfind_address�s
cCsn|j�}t|�s2ttdd|��dS|j|�}|dk	rQdS|jjt||��dS(Ntdetailsaddress='%s'(	ROtvalid_email_addressRZtERR_INVALID_EMAIL_ADDRRPRgRNR�R(R"RLRRRM((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytadd_address�scCs
g|_dS(N(RN(R"((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytclear_recipient_list�scCs<ddl}|jd�}|jd�}|jd�}itd6td6td6td6td	6td
6td6td6}yt|�}Wn2tk
r�}ttd
d||jf��nX|j	�xe|j
�D]W}	|jd|	�}	|	j�}	|	r�|j
|	�}
|
r*|
jd�}|
jd�}d}
|r�x�|j|�D]�}
|
jd�}|
jd�}|dkr�tj|j�d�}
|
dkr�td||f�q�qLtd||f�qLWny|j||
�Wq'tk
r#}|jtkrt|j�q$|�q'Xq*q�q�W|j�dS(Ni����s#.*s(\S+)(\s+(.+))?s(\w+)\s*=\s*(\S+)tenabledttrueR�tontdisabledtfalsetnotoffRQs%s, %sR�iiiRRs(unknown email filter (%s) for address %ss(unknown email option (%s) for address %s(R�tcompileRORNtopentIOErrorRZt
ERR_FILE_OPENtstrerrorRUt	readlinesR�ROtsearchtgroupRgtfinditertmap_filter_name_to_valueRdR$RbRTterrnoRStclose(R"RKR�t
comment_retentry_retkey_value_retmap_booleanR�tetlinetmatchRLtoptionsRRtoptionR�((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytparse_recipient_file�sT

#
cCs�yt|d�}Wn2tk
rG}ttdd||jf��nXx8|jD]-}t|j}|jd|j	|f�qRW|j
�dS(NtwRQs%s, %ss%-40s filter_type=%s
(R^R_RZR`RaRNRcRRtwriteRLRh(R"RKR�RmRMRR((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pytwrite_recipient_file9s#
N(
R$R%RRKRgR#R�RPRRTRURrRu(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyR�s				;isaudit_listener_database.xmltsigsssiginfo.audit_event=%ss	Memory OKsMemory leak %d bytes(Dtsyslogt
subprocesst$setroubleshoot.default_encoding_utf8tsetroubleshoottgettexttsetroubleshoot.configRRttranslationROtugettextR�tAttributeErrort__all__R$tinstallRR�tsetroubleshoot.errcodetsetroubleshoot.utiltsetroubleshoot.xml_serializetsetroubleshoot.html_utiltsetroubleshoot.uuidR:tsetroubleshoot.audit_dataR�ttypeststringRR�R�RRRRRcRftobjectR	tXmlSerializeRR
RRwRyRzRRRRRR
RRRtlibxml2tdebugMemorytxml_fileRvt
read_xml_fileR4R R�RtrecordRt
cleanupParsert
dumpMemory(((s>/usr/lib64/python2.7/site-packages/setroubleshoot/signature.pyt<module>s�
	


	









3
 	�OJm