4]c @slddlZddlZddlZdZdZdddddd d d d g Zd ZddlZejedej eyej ede ddWnSe k rej eddddn*e k rddlZeejd s tlayertmoduletnamet interfacetparamtsummaryttemplate(tostxml.etree.ElementTreeRR0R1tinterface_dicttNoneR Rtisfiletetreet ElementTreetparset fromstringR+tgett getiteratorRtfindttextR( RR9txmlR0R1tactive_modulest param_listRttreetlR/R'R&((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyR|sH       ( (cCsNt|}d|dj||ddj||djdf}|S(Ns %s(%s) %ss, it is (RtjoinR$(R5RRtinterface_text((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyRs >cCs`ddlm}g}xC||dD]3}|j|j|d|dj|f}q%W|S(Ni(t test_moduleis%s(%s) s, (t templatesRNRt dict_valuesRL(tinterfaces_dictR5RNt param_tmpR'RM((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyRs t compiletestcCsIddlm}d}|tjd||j7}|t||7}|S(Ni(RNRt TEMPLATETYPE(RORNR*tsubtte_test_moduleR(R5RR4RNtte((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pytgenerate_compile_tes cCsddl}ddl}|jj|d}|jj|jdd}y.|jd||d|jdt}|SWnF|j k r}t j j d t j j |j t jd nXdS( s; Returns xml format of interfaces for given .if policy fileiNt/t.isDpython /usr/share/selinux/devel/include/support/segenxml.py -w -m %sRtshells- Could not proceed selected interface file. i(R9t subprocessRtdirnametbasenameR$t check_outputtSTDOUTtTruetCalledProcessErrorRRRtoutputR#(tif_fileR9R\tbasedirtfilenameRcR&((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyRs    c Csdddddg}dg}dg}ddl}ddl}id d 6d d 6d d6dd6}t|}||kp|jdd|kp||d|kstd|GHyt|d d} | jt||| jy(|j d|d d|j dt WnC|j k rX} t jjtd|t jj| jnXWn3tk r} t jjtd|| fnXxYt|jD](} |jj| r|j| qqWnt jjtd|dS(Ntuserdomtkerneltcorenettfilestdevtselinux_genboolR8iscompiletest.pptppscompiletest.teRWscompiletest.fctfcscompiletest.iftifR iisCompiling %s interfacetws,make -f /usr/share/selinux/devel/Makefile %sRR[s Compile test for %s failed. s% Compile test for %s has not run. %s s, Compiling of %s interface is not supported.(R\R9RR$R topenRRXtcloseR_R`RaRbRRRctEnvironmentErrorRtvaluesRtexiststremove( R5Rtexclude_interfacestexclude_interface_nametexclude_interface_typeR\R9t policy_filesRtfdR&tv((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyRs4    " 9   $(R*RRtADMIN_TRANSITION_INTERFACER,t__all__tPROGNAMEtgettexttbindtextdomaint textdomaintinstallRat TypeErrorRtbuiltinsR t__dict__RRRRR<R;RRRRXRR(((s8/usr/lib64/python2.7/site-packages/sepolicy/interface.pyts>   !            2