MINI MINI MANI MO

Path : /usr/lib64/python2.7/site-packages/sepolicy/
File Upload :
Current File : //usr/lib64/python2.7/site-packages/sepolicy/__init__.pyc


vP\c@sddlmZddlZddlZddlZdZddlZddlj	Z	ddl
jZddlm
Z
ddlZddlZejedejeyejededd	WnMek
rejedd	n*ek
rddlZeejd
<nXejZejZejZejZejZejZejZ ej!Z!ej"Z"dZ#dZ$d
Z%dZ&dZ'dZ(dZ)dZdZ*dZ+ddZ-ddZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ2dZ4d Z5iZ6e7d!e6d"<e7d#e6d$<e7d%e6d&<e7d'e6d(<e7d)e6d*<e7d+e6d,<e7d-e6d.<e7d/e6d0<iZ8d"e8d1<d$e8d2<d&e8d3<d(e8d4<d*e8d5<d,e8d6<d.e8d7<d0e8d8<d9Z9d:Z:d;Z;d<Z<ddl=Z=ddl>Z>ddlZd=Z?gd>Z@gd?ZAd@ZBdaCejDdAZEdaFejDdBZGdaHejDdCZIdaJejDdDZKdEZLdFZMdGZNdHZOdIZPdJZQdKZRdLZSdMZTdNZUdOdPZVgaWdQZXdaYdRZZda[dSZ\da]dTZ^dUZ_da`daadVZbdWZcdaddXZedYZfdagdZZhdaid[Zjdakd\Zldamd]Znd^Zodapd_Zqdard`ZsdatdaZudbZvdcZwiZxddexde<dfexdg<dhexdi<dhexdj<dhexdk<dlexdm<dnexdo<dpexdq<drexds<drexdt<duexdv<duexdw<dxexdy<dzexd{<ewd|Zydazd}Z{d~ZyeVZ|ee|Wn.e}k
r%Z~ejdkr&e~q&nXdZdZdZdadZdaddlZddZddZdZdZdZdZdS(i(tpolicyiNtpolicycoreutils(tutils/usr/share/localetunicodetcodesetsutf-8t_tallowt
auditallowt
neverallowt	dontaudittsourcettargettpermlisttclasst
transitiont
role_allowcCstj||}|S(N(t_policytinfo(tsetypetnamet	dict_list((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyR5scCs|r|}ni}ttttttg}x7|D]/}||krYtd|nt||<q4Wg}t|kr|t}dj	|t|t<nt
j|}|rt|dkrg|D]}t
||r|^q}n|S(NsType has to be in %st,i(tALLOWt
AUDITALLOWt
NEVERALLOWt	DONTAUDITt
TRANSITIONt
ROLE_ALLOWt
ValueErrortTruetPERMStjoinRtsearchtlent_dict_has_perms(ttypesRtseinfotvalid_typesRtpermsRtx((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyR :s 	

+c
Csfi}g}|jdrLttgi|t6|t6|t6|t6}n^ttgi|t6|t6|t6}x4|D],}|d|krzg}|j|qzqzWyxgg|D]/}t|j	|tr|dr|^qD]}	|	^qD]K}|j
i|dd6|dd6||kr|j|i}qqWWntk
ra|SX|S(Nt_tRtbooleanR
(tendswithR RtSOURCEtTARGETtCLASSRtappendtsettissubsettupdatetKeyError(
tsrctdestttclasstpermttdictttlisttallowstiR'ty((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_conditionalsQs$1'
V#

c
Cstg|D]}|dddr
|^q
dk}td|djtg|D].}d|ddd|dddf^qSfS(NR)iis-- Allowed %s [ %s ]s || s%s=%d(R!RRR/(tcondR'tenabled((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_conditionals_format_textis7cCstt|ddS(NiR#(Rt	ATTRIBUTE(t	attribute((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_types_from_attributenscCstt|ddS(Nit
attributes(RtTYPE(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_attributes_from_typerscCs2ytt|ddSWntk
r-dSXdS(NiR(RRDtRuntimeErrortNone(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_real_type_namexs
cCsdt|krtStSdS(Nt	exec_type(RERtFalse(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytfile_type_is_executablescCsdt|krtStSdS(Nt
entry_type(RERRJ(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytfile_type_is_entrypointscCstt|ddS(NiRC(RRD(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyREscCsdt|krtStSdS(NRI(RERRJ(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRKscCsdt|krtStSdS(NRL(RERRJ(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRMss	all filestasregular filetft	directorytdscharacter devicetcsblock devicetbssocket filetss
symbolic linktls
named pipetpts--s-ds-cs-bs-ss-ls-pcCsg}d}y1tj|dtjdt}|jd}Wn>tjk
r}}ddlm}|jjd}nXx4|D],}t	|r|j
|jdqqW|S(Ns semodule --list=full 2>/dev/nulltstderrtshells
i(tSELinuxDBus(t
subprocesstcheck_outputtSTDOUTRtsplittCalledProcessErrortsedbusRZt
semodule_listR!R.(tall_modulestcmdtoutputRUteRZR:((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_moduless		
cCsdddg}g}g}x|D]}yqt|d}|j}|j|djdd }x|D]}|j|qnW|j|g}Wq"g}q"Xq"W|S(Ns$/usr/share/selinux/targeted/base.lsts,/usr/share/selinux/targeted/modules-base.lsts//usr/share/selinux/targeted/modules-contrib.lsttrit i(topent	readlinestcloseR^R.textend(tmod_lst_pathRbtmod_tempR:tfdtmodulestm((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_modules_from_mod_lsts 




cCsg}i}x6tD]+}|jt|r|j|qqWt}xT|D]L}y(||dt||df||<WqUtk
rg||<qUXqUW|S(Ntregextftype(tget_all_file_typest
startswithtgen_short_nameR.t
get_fcdictt
file_type_strR2(RtflisttmpathsROtfcdict((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_file_typess	
(
cCst}t}g}i}ttgi|d6ddgd6dd6}|dksit|dkrm|St}dd	g}x|D]}|d
|krqnd|kr|dsqqn|d
jdr'|d
|krqn|d
|kr^|d
|kr$|j|d
q$q^qx4t	|d
D]"}	|	|kr8|j|	q8q8WqWxT|D]L}
y(||
d
t
||
df||
<Wqitk
rg||
<qiXqiW|S(NR
RitwriteRtfileR
it	proc_typetsysctl_typeRR>R(RsRt(tget_all_attributesRuR RRGR!RxR*R.RBRyR2(Rtall_attributest
file_typest
all_writesR{RR|RCR:ttRO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_writable_filess<		-	

	
(
cCstjj|r|gSytjd|}Wnd|fGHgSX|}|jdrl|d d}ntjj|}y!|ddkr|d7}nWntk
rdGHnXyMtjd|}tt	|j
gtj|D]}||^qSWngSXdS(Ns%s$sbad reg:s(/.*)?it/istry failed got an IndexError(tostpathtexiststretcompileR*tdirnamet
IndexErrortlisttfiltertmatchtlistdir(tregtpatRVRR'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt	find_files,
:cCs~g}t|}xet|jD]Q}|jdr%||kr%x-||D]}xt|D]}|SWqQWq%q%WdS(Nt_exec_t(tget_entrypointsRtkeysR*RRG(tdomaintexclude_listtall_entrypointstexecutable_filestexeRRO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytfind_all_files/scCstt}yS|jdr[||kr[x1||dD]}xt|D]}|SWq6WnWntk
ronXdS(NRRs(RxR*RR2RG(RRR|RRO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytfind_entrypoint_path=s	
c	Csyet|dP}|j}x:|D]2}|j}i|dd6|d6||d<q(WWdQXWn+tk
r}|jtjkrqnX|S(NRgitequivtmodifyi(RiRjR^tIOErrorterrnotENOENT(tedicttfc_pathRRotfcReRO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytread_file_equivIs
.
cCs-tr
tSiatt|ddtatS(Ns.subsR(tfile_equiv_modifiedRR(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_file_equiv_modifiedXs
cCs3tr
tSt|att|ddtatS(Ns
.subs_distR(t
file_equivRRRJ(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_file_equivcs
cCstr
tSgay,t|dd}|j}WdQXWn,tk
rj}|jtjkrfngSXx|D]}|j}t|dkrqrnyDt|dkrt|d}nd}tj	|d|fWqrt
k
rqrXqrWtS(Ns.localRgiiiRN(tlocal_filesRiRjRRRR^R!ttrans_file_type_strR.R2(RRoRReR:trecRt((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_local_file_pathsns,

cCs[tr
tSt|d}|j}|jy0t|dd}||j7}WdQXWn+tk
r}|jtjkrqnXiay0t|dd}||j7}WdQXWn+tk
r}|jtjkrqnXx|D]}|j}yt|dkr0t	|d}nd}|djdd}|tkrut|d	j
|d
ni|d
gd	6|d6t|<WqqXqWidgd	6td
<idgd	6td<idgd	6td<idgd	6td<idgd	6td<idgd	6td<idgd	6td<idgd	6td<idgd	6td<tS(NRgs	.homedirss.localiiRNit:RsiRts
all log filestlogfilesall user tmp filest
user_tmp_typesall user home filestuser_home_typesall virtual image filestvirt_image_typesBall files on file systems which do not support extended attributest	noxattrfss)all sandbox content in tmpfs file systemstsandbox_tmpfs_types&all user content in tmpfs file systemstuser_tmpfs_typesall files on the systemt	file_typesAuse this label for random content that will be shared using sambat
samba_share_t(R|RiRjRkRRRR^R!RR.(RRoRReR:RRtR((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRxsP



#cCsVy>gttgidd6D]}|d|kr|^qSWntk
rQnXdS(NtprocessR
t	transtype(R Rt	TypeErrorRG(RR'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_transitions_intos
>
cCs:y"ttgi|d6dd6SWntk
r5nXdS(NR
RR
(R RRRG(R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_transitionss
"
cCsVy>gttgi|d6D]}|ddkr|^qSWntk
rQnXdS(NR
R
R(R RRRG(RR'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_file_transitionss
>
cCsg}ttgi|d6}x\|D]T}d|kr&y5x.|dD]"}||krF|j|qFqFWWqzqzXq&q&W|S(NR
R)(R RR.(RR)tboollistRRVRS((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_boolean_ruless
cCs
tdS(NRL(RB(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_entrypointsscCsg}yhggttgi|d6dgd6dd6D]}|d|kr7|^q7D]}|d^qW}Wntk
rnX|S(NR
t
entrypointRRR
R(R RR(RtentrypointsR'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_entrypoint_typessh
cCstj|djdd}yigttgidd6dd6D]}|d|krD|^qD}t|d	kr|dS|d	d
SWntk
rnXdS(NiRitinit_tR
RR
RiR(tselinuxt
getfileconR^R RR!RGR(RRR'R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_init_transtypes C
cCsyigttgidd6dd6D]}|d|kr$|^q$}t|dkr\dS|ddSWntk
r|nXdS(NRR
RR
RiR(R RR!RGR(RR'R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_init_entrypointsC
cCsbyJgttgidd6|d6dd6D]}|d^q+}|dSWntk
r]nXdS(NRR
RRR
Ri(R RRRG(RR'R((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_init_entrypoint_targets>
cCspt}i}xZt|D]L}y(||dt||df||<Wqtk
rgg||<qXqW|S(NRsRt(RxRRyR2(RR|R{RO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRs	(
RcCsYy9|tj}tjd|}|j|dSWnnXttddS(Ns%s.*isNo SELinux Policy installed(Rtselinux_binary_policy_pathtglobtsortRR(trootRtpolicies((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_installed_policys
cCsttdkrtSttj}yHt|}tj}|j|t	|jj
a|jWn(tj
jd|tjdnXtjtS(Nis#could not open interface info [%s]
i(R!tmethodstgen_interfacestdefaultstinterface_infoRit
interfacestInterfaceSett	from_fileRRRktsysRXR~texitR(tfnRotifs((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_methods(s

cCs6tdkr2gttD]}|d^qantS(NR(t	all_typesRGRRD(R'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
get_all_types?s&cCs*tdkr&ttdddantS(Nt
userdomainiR#(t
user_typesRGRR@(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_user_typesHscCstr
tSiax~ttgD]m}|ddks |ddkrLq n|dtkrxt|dj|dq |dgt|d<q WtS(NR
tsystem_rR(trole_allowsR RR.(Rg((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_role_allowsQs cCsddl}g}t}|jx{|D]s}|jd|}t|dkr,t|jd|ddkr|d|kr|j|dqq,q,W|S(Nis(.*)%ss_exec_t$is_initrc$s(.*)_exec_t$s(.*)_initrc$(RRRtfindallR!R.(Rtall_domainsR#R:Rq((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_entrypoint_domainsas	

2cCstj}tj}t}y,tj|jtj|jkrIdSWntk
r]nXtjdkrt	t
dntjddtj
dtGHdS(NisEYou must regenerate interface info by running /usr/bin/sepolgen-ifgens/usr/bin/sepolgen-ifgenRXRY(RRtheadersRJRtstattst_mtimetOSErrortgetuidRRR[R\R]R(tifileRtrebuild((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRqs$
	cCs>trttfSiaiaxttD]}|d|dkrVt|d}n$dt|dt|df}|d|dftkrt|d|dfj|n|gt|d|df<d|kr
|d|dft|d|d|df<q)|dt|d|d|df<q)WttfS(Ntlowthighs%s-%sttypetprotocoltrange(tportrecst
portrecsbynumRtPORTtstrR.(R:tport((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
gen_port_dicts
$"0'cCs$ts ttdddantS(NRiR#(RRR@(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_domainsscCs<t|dt|dkt|dt|dkS(Ni(tint(R'R;((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytmls_cmpscCs[tr
tStt}|j}|jdtjtd|d||dfatS(Ntkeys%s-%sii(	t	mls_rangetmls_rangerolesRtSENSRRRt
cmp_to_keyR(t
range_dictR((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
get_mls_rangescCsHtr
tSgttD]}|d^qatjdtjtS(NRtobject_r(trolesRtROLEtremoveR(R'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
get_all_roless#

cCsJtsFttax1tD]&}dj|djd|d<qWntS(NRWRRh(tselinux_user_listRtUSERRR^(R'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_selinux_userss

'cCstr
tSttjd}|j}|jgax|jdD]}|j}t|dksK|j	drqKn|jd}tj
i|dd6|dd6dj|d	d
6qKWtS(NRgs
it#RRitseuseritmls(tlogin_mappingsRiRtselinux_usersconf_pathtreadRkR^tstripR!RvR.R(RotbufRSR'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_login_mappingss
!;cCs.gtD]}|d^q
}|j|S(NR(RR(R'tusers((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
get_all_userss 
cCs/tr
tSttdddatjtS(NRiR#(RRR@R(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRus

cCs/tr
tSttdddatjtS(Nt	port_typeiR#(t
port_typesRR@R(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_port_typess

cCststtantS(N(tboolsRtBOOLEAN(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
get_all_boolsscCs!dj|t| jdS(NRhR(RR!R^(ROttrim((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytprettyprintscCs|S(N((RO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytmarkup
stetc_ts/etcttmp_ts/tmptunit_file_ts/usr/lib/systemd/systems/lib/systemd/systems/etc/systemd/systemtvar_cache_ts
/var/cachet	var_lib_ts/var/libtlog_ts/var/logt	var_run_ts/var/runs/runt
var_lock_ts	/run/locks
/var/run/locktvar_spool_ts
/var/spoolt	content_ts/var/wwwcCsCd||}|jdr4|dt|dS|jdrX|dt|dS|jdr||dt|dS|jdr|d	t|dS|jd
r|dt|dS|jdr|dt|dS|jd
s|jdr|dS|jdr%|dS|jdrI|dt|dS|jdrm|dt|dS|jdr|dt|dS|jdr|dt|dS|jdr|d|td S|jdr|dt|dS|jdr#|dt|dS|jdrG|dt|dS|jd rk|dt|d S|jd!r|d"t|d!S|jd#r|d$t|d%S|jd&r|d't|d&S|jd(r|d)t|d(S|jd*r|d+t|d(S|jd,rC|d$t|d,S|jd-rg|d.t|d-S|jd/r|d0t|d/S|jd1r|d2t|d1S|jd3r|d4t|d3S|jd5r|d2t|d5S|jd6r|d2t|d6S|jd7r?|d2t|d7S|jd6rc|d8t|d6S|jd9r|d:t|d9S|jd;r|d<t|d9S|jd=r|d>t|d=S|jd?r|d@t|d?S|jdAr
|dBS|jdCr.|dDt|dCS|dEt|dFS(GNs+Set files with the %s type, if you want to t
_var_run_ts8store the %s files under the /run or /var/run directory.t_pid_ts,store the %s files under the /run directory.t
_var_lib_ts0store the %s files under the /var/lib directory.t_var_ts,store the %s files under the /var directory.t_var_spool_ts2store the %s files under the /var/spool directory.t_spool_tt_cache_tt_var_cache_ts/store the files under the /var/cache directory.t	_keytab_ts)treat the files as kerberos keytab files.t_lock_tsEtreat the files as %s lock data, stored under the /var/lock directoryt_log_tsKtreat the data as %s log data, usually stored under the /var/log directory.t	_config_tsRtreat the files as %s configuration data, usually stored under the /etc directory.t_conf_tRs,transition an executable to the %s_t domain.t_cgi_content_ts"treat the files as %s cgi content.t
_rw_content_ts)treat the files as %s read/write content.t_rw_tt_write_tt_db_ts'treat the files as %s database content.t
_ra_content_ts*treat the files as %s read/append content.t_ra_conten_tt_cert_ts'treat the files as %s certificate data.t_key_tstreat the files as %s key data.t	_secret_ts"treat the files as %s secret data.t_ra_tt_ro_ts(treat the files as %s read/only content.t
_modules_tstreat the files as %s modules.t
_content_tstreat the files as %s content.t_state_ts!treat the files as %s state data.t_files_tt_file_tt_data_tstreat the data as %s content.t_tmp_ts1store %s temporary files in the /tmp directories.t_etc_ts'store %s files in the /etc directories.t_home_ts+store %s files in the users home directory.t_tmpfs_ts&store %s files on a tmpfs file system.t_unit_file_ts#treat files as a systemd unit file.t_htaccess_ts#treat the file as a %s access file.streat the files as %s data.R((R*R!R!(ROR"ttxt((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_descriptionscCs0ts,gttD]}|d^qantS(NR(RRR@(R'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyR~s&cCskdadadadadadadadada	yt
j|Wntt
d|nXdS(NsFailed to read %s policy file(RGRRRRRRRRRRRRR(tpolicy_file((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRs
cCs)x"|D]}||tkrtSqWtS(N(RRJR(tdictR&R6((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyR"s
cCst}|jdr%|d }n|}t|d|krTtd|n|ddkru|d d}n
|d}||fS(NR(isdomain %s_t does not existiRQR(RR*RHR(RRt
domainnamet
short_name((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyRws	

c	Csg}g}t|\}}xiggttgi|d6D]}d|kr>|^q>D]}|d^qZD]}x|D]}t|tsq{nytj|d}Wntk
r|d}nX|dj|s|dj|r;|d|f|kr|d|f|kr|j	|d|fqq{|d|f|kr{|d|f|kr{|j	|d|fq{q{WqnW||fS(NR
R)ii(
RwR Rt
isinstancettupleRtsecurity_get_boolean_activeRRvR.(	RRtdomainboolsRVRWR'R:RSR>((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt	get_boolss"V

&--"cCsKtsGtjdatjrGgtD]}tj|^q&aqGntS(Ni(tbooleansRtsecurity_get_boolean_namesRtPY3tdecode_input(R'((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_all_booleanss
	(s#/usr/share/selinux/devel/policy.xmlcCscy)tj|}|j}|jWn3tk
r^t|}|j}|jnX|S(N(tgzipRiRRkR(RRoR((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
policy_xmls
c
Cstr
tSddl}ddl}iayE|jjjt|}x|jdD]}x|jdD]}x~|jdD]m}|jdjdj	j
d}|jdd|}|jd	|jd
|ft|jd	<qWx~|jdD]m}|jdjdj	j
d}|jdd|}|jd	|jd
|ft|jd	<qWqlWxu|jdD]d}|jdjdj	j
d}|jdd|}d|jd
|ft|jd	<qWqVWxu|jdD]d}|jdjdj	j
d}|jdd|}d|jd
|ft|jd	<qWWnt
k
r}	nXtS(
NitlayertmodulettunabletdescRVs
RhRtdftvaltbooltglobal(t
booleans_dicttxml.etree.ElementTreeRtetreetElementTreet
fromstringRcRtfindttextRtsubtgetR(
RtxmlRttreeRURqRSRgR:Re((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt
gen_bool_dicts8$2$6$-$-cCs5t}||kr't||dStdSdS(Nitunknown(RvR(R)Rk((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytboolean_category
s	cCsYt}||kr't||dS|jd}d|ddj|dfSdS(NiRsAllow %s to %siRhi(RvRR^R(R)RkRg((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytboolean_descs
	cCsOd}y+td}|jj}WdQXWntk
rJd}nX|S(NRWs/etc/system-releasetMisc(RitreadlinetrstripR(tsystem_releaseRO((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytget_os_versions

cCsvdadadadadadadadada	da
da
dadada
dadadadadadS(N(RGRRRR]RkRR|RRRRRRRRRRR(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pytreinit&s&(RWRRRRRtPROGNAMEtgettexttsepolgen.defaultsRtsepolgen.interfacesRtsepolgenRRR[tbindtextdomaint
textdomaintinstallRRRtbuiltinsRt__dict__RDR	R@RR
RR-tTCLASSRtCATSRRRRR+R,RRRRGRR R<R?RBRERHRKRMRyRRRfRrR}RRRRRRRRtselinux_file_context_pathRRRRRR|RxRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRuRRRRR!R"tDEFAULT_DIRSRSRRRTRRetis_selinux_enabledR"RwR\R]RaRkRbRcRvRxRyR~R(((s7/usr/lib64/python2.7/site-packages/sepolicy/__init__.pyt<module>sX



																			







				$		1												
										
										













\			
				 				

OHA YOOOO