403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python2.6/site-packages/sepolgen/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyo
Ñò
†·Jc	@sòddkZddkZddkZdZdZdZdZdZdZdd	d
ddd
gZ	hed6ed	6ed
6ed6ed6ed
6Z
dd_d„ƒYZdefd„ƒYZdefd„ƒYZ
eedd„Zdd„Zd`d„Zd„Zdefd„ƒYZde
fd„ƒYZde
fd„ƒYZd e
fd!„ƒYZd"e
fd#„ƒYZd$e
fd%„ƒYZd&e
fd'„ƒYZd(e
fd)„ƒYZd*e
fd+„ƒYZd,e
fd-„ƒYZd.e
fd/„ƒYZ d0e
fd1„ƒYZ!d2e
fd3„ƒYZ"d4efd5„ƒYZ#d6e
fd7„ƒYZ$d8e
fd9„ƒYZ%d:e
fd;„ƒYZ&d<e
fd=„ƒYZ'd>e
fd?„ƒYZ(d@e
fdA„ƒYZ)dBe
fdC„ƒYZ*dD„Z+dEefdF„ƒYZ,dGefdH„ƒYZ-dIefdJ„ƒYZ.dKefdL„ƒYZ/dMefdN„ƒYZ0dOefdP„ƒYZ1dQe
fdR„ƒYZ2dSefdT„ƒYZ3dUefdV„ƒYZ4dWe
fdX„ƒYZ5dYdadZ„ƒYZ6d[dbd\„ƒYZ7d]dcd^„ƒYZ8dS(diÿÿÿÿNiiiiiitsourcettargettobjectt
permissiontroletdestinationt
PolicyBasecBseZdd„ZRS(cCsd|_d|_dS(N(tNonetparenttcomment(tselfR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__init__6s	N(t__name__t
__module__RR(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR5stNodecBs¼eZdZdd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(sÁBase class objects produced from parsing the reference policy.

    The Node class is used as the base class for any non-leaf
    object produced by parsing the reference policy. This object
    should contain a reference to its parent (or None for a top-level
    object) and 0 or more children.

    The general idea here is to have a very simple tree structure. Children
    are not separated out by type. Instead the tree structure represents
    fairly closely the real structure of the policy statements.

    The object should be iterable - by default over all children but
    subclasses are free to provide additional iterators over a subset
    of their childre (see Interface for example).
    cCsti||ƒg|_dS(N(RRtchildren(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRKscCs
t|iƒS(N(titerR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__iter__OscCstid„t|ƒƒS(NcSs
t|tƒS((t
isinstanceR(tx((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt<lambda>Xs(t	itertoolstifiltertwalktree(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytnodesWscCstid„t|ƒƒS(NcSs
t|tƒS((RtModule(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR[s(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytmodulesZscCstid„t|ƒƒS(NcSs
t|tƒS((Rt	Interface(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR^s(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt
interfaces]scCstid„t|ƒƒS(NcSs
t|tƒS((RtTemplate(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRas(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt	templates`scCstid„t|ƒƒS(NcSs
t|tƒS((Rt
SupportMacros(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRds(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytsupport_macroscscCstid„t|ƒƒS(NcSs
t|tƒS((RtModuleDeclaration(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRis(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytmodule_declarationshscCstid„t|ƒƒS(NcSs
t|tƒS((Rt
InterfaceCall(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRls(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytinterface_callskscCstid„t|ƒƒS(NcSs
t|tƒS((RtAVRule(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRos(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytavrulesnscCstid„t|ƒƒS(NcSs
t|tƒS((RtTypeRule(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRrs(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt	typerulesqscCstid„t|ƒƒS(sAIterate over all of the TypeAttribute children of this Interface.cSs
t|tƒS((Rt
TypeAttribute(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRvs(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyttypeattributestscCstid„t|ƒƒS(NcSs
t|tƒS((RtRequire(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRys(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytrequiresxscCstid„t|ƒƒS(NcSs
t|tƒS((RtRole(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR|s(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytroles{scCstid„t|ƒƒS(NcSs
t|tƒS((Rt	RoleAllow(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRs(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytrole_allows~scCstid„t|ƒƒS(NcSs
t|tƒS((RtRoleType(R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR‚s(RRR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt
role_typesscCs4|iot|iƒd|iƒS|iƒSdS(Ns
(R	tstrt	to_string(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__str__„s
cCsd|ii|iƒfS(Ns<%s(%s)>(t	__class__RR4(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__repr__ŠscCsdS(Nt((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4sN(RR
t__doc__RRRRRRRR R"R$R&R(R*R,R.R0R2R5R7R4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR:s(																	tLeafcBs/eZdd„Zd„Zd„Zd„ZRS(cCsti||ƒdS(N(RR(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR’scCs4|iot|iƒd|iƒS|iƒSdS(Ns
(R	R3R4(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR5•s
cCsd|ii|iƒfS(Ns<%s(%s)>(R6RR4(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR7›scCsdS(NR8((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4žsN(RR
RRR5R7R4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR:‘s		c
cs|o
d}nd}|dfg}xçt|ƒdjoÓ|i|ƒ\}}|o||fVn|Vt|tƒog}t|iƒd}	xb|	djoT|djpt|i|	|ƒo"|i|i|	|dfƒn|	d8}	q˜W|i|ƒq)q)WdS(s™Iterate over a Node and its Children.

    The walktree function iterates over a tree containing Nodes and
    leaf objects. The iteration can perform a depth first or a breadth
    first traversal of the tree (controlled by the depthfirst
    paramater. The passed in node will be returned.

    This function will only work correctly for trees - arbitrary graphs
    will likely cause infinite looping.
    iÿÿÿÿiiN(tlentpopRRRRtappendtextend(
tnodet
depthfirstt	showdepthttypetindextstacktcurtdepthtitemsti((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR¥s&


$"ccs;x4|D],}|djpt||ƒo	|VqqWdS(sIterate over the direct children of a Node.

    The walktree function iterates over the children of a Node.
    Unlike walktree it does note return the passed in node or
    the children of any Node objects (that is, it does not go
    beyond the current level in the tree).
    N(RR(R?RBR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytwalknodeËst{t}cCspt|ƒ}d}|djotdƒ‚ndi|ƒ}|djo|S|dd|d|dSdS(sáConvert a set (or any sequence type) into a string representation
    formatted to match SELinux space separated list conventions.

    For example the list ['read', 'write'] would be converted into:
    '{ read write }'
    R8is"cannot convert 0 len set to stringt iN(R;t
ValueErrortjoin(tstconttlR3((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytlist_to_space_strØs

cCs6t|ƒ}|djotdƒ‚ndi|ƒS(Nis'cannot conver 0 len set to comma strings, (R;RMRN(RORQ((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytlist_to_comma_strés
tIdSetcBs&eZdd„Zd„Zd„ZRS(cCs5|oti||ƒnti|ƒt|_dS(N(tsetRtFalset
compliment(R
tlist((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRós
cCs
t|ƒS(N(RR(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytto_space_strúscCs
t|ƒS(N(RS(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytto_comma_strýsN(RR
RRRYRZ(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRTòs	tSecurityContextcBs;eZdZddd„Zd„Zd„Zdd„ZRS(s;An SELinux security context with optional MCS / MLS fields.cCsVti||ƒd|_d|_d|_d|_|dj	o|i|ƒndS(sßCreate a SecurityContext object, optionally from a string.

        Parameters:
           [context] - string representing a security context. Same format
              as a string passed to the from_string method.
        R8N(R:RtuserRRBRtleveltfrom_string(R
tcontextR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRs				
cCsš|idƒ}t|ƒdjotd|ƒ‚n|d|_|d|_|d|_t|ƒdjoti|ddƒ|_n
d|_dS(sóParse a string representing a context into a SecurityContext.

        The string should be in the standard format - e.g.,
        'user:role:type:level'.

        Raises ValueError if the string is not parsable as a security context.
        t:is)context string [%s] not in a valid formatiiiN(
tsplitR;RMR\RRBtstringRNR]R(R
R_tfields((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR^s


cCsI|i|ijo6|i|ijo#|i|ijo|i|ijS(sCompare two SecurityContext objects - all fields must be exactly the
        the same for the comparison to work. It is possible for the level fields
        to be semantically the same yet syntactically different - in this case
        this function will return false.
        (R\RRBR](R
tother((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__eq__&scCs‹|i|i|ig}|idjoF|djo(tiƒdjo|idƒqjq~|i|ƒn|i|iƒdi|ƒS(s½Return a string representing this security context.

        By default, the string will contiain a MCS / MLS level
        potentially from the default which is passed in if none was
        set.

        Arguments:
           default_level - the default level to use if self.level is an
             empty string.

        Returns:
           A string represening the security context in the form
              'user:role:type:level'.
        its0R`N(	R\RRBR]Rtselinuxtis_selinux_mls_enabledR=RN(R
t
default_levelRc((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR41s
N(RR
R9RRR^ReR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR[s
		tObjectClasscBseZdZddd„ZRS(s"SELinux object class and permissions.

    This class is a basic representation of an SELinux object
    class - it does not represent separate common permissions -
    just the union of the common and class specific permissions.
    It is meant to be convenient for policy generation.
    R8cCs)ti||ƒ||_tƒ|_dS(N(R:RtnameRTtperms(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRSs	N(RR
R9RR(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRjKsR)cBs#eZdZdd„Zd„ZRS(s[SElinux typeattribute statement.

    This class represents a typeattribute statement.
    cCs)ti||ƒd|_tƒ|_dS(NR8(R:RRBRTt
attributes(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR_s	cCsd|i|iiƒfS(Nstypeattribute %s %s;(RBRmRZ(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4dsN(RR
R9RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR)ZsR-cBseZdd„Zd„ZRS(cCs)ti||ƒd|_tƒ|_dS(NR8(R:RRRTttypes(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRhs	cCsd|i|iiƒfS(Nsrole %s types %s;(RRnRZ(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4msN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR-gstTypecBs eZddd„Zd„ZRS(R8cCs5ti||ƒ||_tƒ|_tƒ|_dS(N(R:RRkRTRmtaliases(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRqs	cCswd|i}t|iƒdjo|d|iiƒ}nt|iƒdjo|d|iiƒ}n|dS(Nstype %sisalias %ss, %st;(RkR;RpRYRmRZ(R
RO((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4ws
N(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRopst	TypeAliascBseZdd„Zd„ZRS(cCs)ti||ƒd|_tƒ|_dS(NR8(R:RRBRTRp(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR€s	cCsd|i|iiƒfS(Nstypealias %s alias %s;(RBRpRY(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4…sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRrst	AttributecBs eZddd„Zd„ZRS(R8cCsti||ƒ||_dS(N(R:RRk(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR‰scCsd|iS(Ns
attribute %s;(Rk(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRsˆsR%cBsPeZdZdZdZdZdZd	d	d„Zd„Z	d„Z
d„ZRS(
s»SELinux access vector (AV) rule.

    The AVRule class represents all varieties of AV rules including
    allow, dontaudit, and auditallow (indicated by the flags self.ALLOW,
    self.DONTAUDIT, and self.AUDITALLOW respectively).

    The source and target types, object classes, and perms are all represented
    by sets containing strings. Sets are used to make it simple to add
    strings repeatedly while avoiding duplicates.

    No checking is done to make certain that the symbols are valid or
    consistent (e.g., perms that don't match the object classes). It is
    even possible to put invalid types like '$1' into the rules to allow
    storage of the reference policy interfaces.
    iiiicCshti||ƒtƒ|_tƒ|_tƒ|_tƒ|_|i|_|o|i	|ƒndS(N(
R:RRTt	src_typest	tgt_typestobj_classesRltALLOWt	rule_typetfrom_av(R
tavR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR§scCs8|i|ijodS|i|ijodSdSdS(Ntallowt	dontauditt
auditallow(RxRwt	DONTAUDIT(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__rule_type_str±s
cCsw|ii|iƒ|i|ijo|iidƒn|ii|iƒ|ii|iƒ|ii|iƒdS(sIAdd the access from an access vector to this allow
        rule.
        R
N(	Rttaddtsrc_typettgt_typeRuRvt	obj_classRltupdate(R
Rz((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRy¹scCsAd|iƒ|iiƒ|iiƒ|iiƒ|iiƒfS(s«Return a string representation of the rule
        that is a valid policy language representation (assuming
        that the types, object class, etc. are valie).
        s%s %s %s:%s %s;(t_AVRule__rule_type_strRtRYRuRvRl(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4Ås
N(RR
R9RwR~t
AUDITALLOWt
NEVERALLOWRRR…RyR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR%’s
		R'cBs>eZdZdZdZdZdd„Zd„Zd„Z	RS(söSELinux type rules.

    This class is very similar to the AVRule class, but is for representing
    the type rules (type_trans, type_change, and type_member). The major
    difference is the lack of perms and only and sing destination type.
    iiicCsMti||ƒtƒ|_tƒ|_tƒ|_d|_|i|_dS(NR8(	R:RRTRtRuRvt	dest_typetTYPE_TRANSITIONRx(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÚs	cCs8|i|ijodS|i|ijodSdSdS(Nttype_transitionttype_changettype_member(RxR‰tTYPE_CHANGE(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRâs
cCs;d|iƒ|iiƒ|iiƒ|iiƒ|ifS(Ns%s %s %s:%s %s;(t_TypeRule__rule_type_strRtRYRuRvRˆ(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4ês
N(
RR
R9R‰RtTYPE_MEMBERRRRŽR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR'Ïs	R/cBseZdd„Zd„ZRS(cCs,ti||ƒtƒ|_tƒ|_dS(N(R:RRTt	src_rolest	tgt_roles(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRòscCs d|iiƒ|iiƒfS(Nsallow %s %s;(RRZR‘(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4÷sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR/ñsR1cBseZdd„Zd„ZRS(cCs)ti||ƒd|_tƒ|_dS(NR8(R:RRRTRn(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRüs	cCsd|i|iiƒfS(Nsrole %s types %s;(RRnRZ(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR1ûsR!cBseZdd„Zd„ZRS(cCs/ti||ƒd|_d|_t|_dS(NR8(R:RRktversionRVt	refpolicy(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRs		cCs7|iod|i|ifSd|i|ifSdS(Nspolicy_module(%s, %s)s
module %s %s;(R“RkR’(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4s
N(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR!stConditionalcBseZdd„Zd„ZRS(cCsti||ƒg|_dS(N(RRt	cond_expr(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRscCsdt|iddƒS(Ns[If %s]RPR8(R8R8(RRR•(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR”stBoolcBseZdd„Zd„ZRS(cCs&ti||ƒd|_t|_dS(NR8(R:RRkRVtstate(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRs	cCs,d|i}|io	|dS|dSdS(Nsbool %s ttruetfalse(RkR—(R
RO((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4s

	N(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR–st
InitialSidcBseZdd„Zd„ZRS(cCs&ti||ƒd|_d|_dS(NR8(R:RRkRR_(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt__init's	cCsd|it|iƒfS(Ns	sid %s %s(RkR3R_(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4,sN(RR
Rt_InitialSid__initR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRš&stGenfsConcBseZdd„Zd„ZRS(cCs/ti||ƒd|_d|_d|_dS(NR8(R:Rt
filesystemtpathRR_(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR0s		cCs d|i|it|iƒfS(Nsgenfscon %s %s %s(RžRŸR3R_(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR46sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR/st
FilesystemUsecBs/eZdZdZdZdd„Zd„ZRS(iiicCs2ti||ƒ|i|_d|_d|_dS(NR8(R:RtXATTRRBRžRR_(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR>s	cCsqd}|itjo
d}n5|itjo
d}n|itjo
d}nd||it|iƒfS(NR8s
fs_use_xattr s
fs_use_trans sfs_use_task s	%s %s %s;(RBR¡tTRANStTASKRžR3R_(R
RO((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4Ds


N(RR
R¡R¢R£RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR 9s
tPortConcBseZdd„Zd„ZRS(cCs/ti||ƒd|_d|_d|_dS(NR8(R:Rt	port_typetport_numberRR_(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRPs		cCs d|i|it|iƒfS(Nsportcon %s %s %s(R¥R¦R3R_(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4VsN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR¤OstNodeConcBseZdd„Zd„ZRS(cCs/ti||ƒd|_d|_d|_dS(NR8(R:RtstarttendRR_(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRZs		cCs d|i|it|iƒfS(Nsnodecon %s %s %s(R¨R©R3R_(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4`sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR§YstNetifConcBseZdd„Zd„ZRS(cCs/ti||ƒd|_d|_d|_dS(NR8(R:Rt	interfaceRtinterface_contexttpacket_context(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRds		cCs&d|it|iƒt|iƒfS(Nsnetifcon %s %s %s(R«R3R¬R­(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4jsN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRªcscCs]xVt|dtƒD]B\}}d}xt|ƒD]}|d}q2W|t|ƒGHqWdS(NRAR8s	(RtTruetrangeR3(theadR?RFRORH((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt
print_treeps
tHeaderscBseZdd„Zd„ZRS(cCsti||ƒdS(N(RR(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRyscCsdS(Ns	[Headers]((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4|sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR²xsRcBseZdd„Zd„ZRS(cCsti||ƒdS(N(RR(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRscCsdS(NR8((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4„sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR€sRcBs&eZdZddd„Zd„ZRS(sqA reference policy interface definition.

    This class represents a reference policy interface definition.
    R8cCsti||ƒ||_dS(N(RRRk(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRŒscCsd|iS(Ns[Interface name: %s](Rk(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4sN(RR
R9RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR‡st
TunablePolicycBseZdd„Zd„ZRS(cCsti||ƒg|_dS(N(RRR•(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR”scCsdt|iddƒS(Ns[Tunable Policy %s]RPR8(R8R8(RRR•(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4˜sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR³“sRcBs eZddd„Zd„ZRS(R8cCsti||ƒ||_dS(N(RRRk(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRœscCsd|iS(Ns[Template name: %s](Rk(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4 sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR›stIfDefcBs eZddd„Zd„ZRS(R8cCsti||ƒ||_dS(N(RRRk(R
RkR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR¤scCsd|iS(Ns[Ifdef name: %s](Rk(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4¨sN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR´£sR#cBs)eZddd„Zd„Zd„ZRS(R8cCs/ti||ƒ||_g|_g|_dS(N(R:Rtifnametargstcomments(R
RµR((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR¬s		cCsx|i|ijotSt|iƒt|iƒjotSx5t|i|iƒD]\}}||jotSqRWtS(N(RµRVR;R¶tzipR®(R
Rdtatb((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytmatches²s
	cCsˆd|i}d}xj|iD]_}t|tƒot|ƒ}n|}|djo|d|}n||}|d7}qW|dS(Ns%s(is, %sit)(RµR¶RRXRR(R
RORHR¹R3((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4¼s



N(RR
RRR»R4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR#«s	
tOptionalPolicycBseZdd„Zd„ZRS(cCsti||ƒdS(N(RR(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÍscCsdS(Ns[Optional Policy]((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4ÐsN(RR
RRR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR½ÌsRcBsAeZdd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsti||ƒd|_dS(N(RRRtmap(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÔscCsdS(Ns[Support Macros]((R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4ØscCsatƒ}|ii|ƒo4x>|i|ƒD]}|i|i|ƒƒq,Wn|i|ƒ|S(N(RUR¾thas_keytby_nameR„t_SupportMacros__expand_permR€(R
tpermROtp((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt
__expand_permÛs	
cCsah|_xQ|D]I}tƒ}x'|iD]}|i|i|ƒƒq)W||i|i<qWdS(N(R¾RURlR„RÁRk(R
Rt	exp_permsRÂ((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt	__gen_mapçs		
cCs#|ip|iƒn|i|S(N(R¾t_SupportMacros__gen_map(R
Rk((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÀïs
cCs(|ip|iƒn|ii|ƒS(N(R¾RÇR¿(R
Rk((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR¿ôs
N(	RR
RRR4RÁRÇRÀR¿(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÓs				R+cBs&eZdd„Zd„Zd„ZRS(cCsMti||ƒtƒ|_h|_tƒ|_tƒ|_tƒ|_dS(N(R:RRTRnRvR.tboolstusers(R
R((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRús	cCs)|ii|tƒƒ}|i|ƒdS(N(Rvt
setdefaultRTR„(R
RƒRlRÃ((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt
add_obj_classscCsg}|idƒx"|iD]}|id|ƒqWx:|iiƒD])\}}|id||iƒfƒqHWx"|iD]}|id|ƒqWx"|iD]}|id|ƒq¤Wx"|iD]}|id|ƒqÉW|idƒt|ƒdjod	Sd
i	|ƒS(Ns	require {s		type %s;s
	class %s %s;s		role %s;s		bool %s;s		user %s;RKiR8s
(
R=RnRvRGRYR.RÈRÉR;RN(R
RORBRƒRlRtboolR\((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4s*

!



N(RR
RRRËR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR+ùs	t
ObjPermSetcBseZd„Zd„ZRS(cCs||_tƒ|_dS(N(RkRURl(R
Rk((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRs	cCsd|i|iiƒfS(Nsdefine(`%s', `%s')(RkRlRY(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4"s(RR
RR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÍs	tClassMapcBseZd„Zd„ZRS(cCs||_||_dS(N(RƒRl(R
RƒRl((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR&s	cCs|id|iS(Ns: (RƒRl(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR4*s(RR
RR4(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÎ%s	tCommentcBs/eZdd„Zd„Zd„Zd„ZRS(cCs!|o
||_n
g|_dS(N(tlines(R
RQ((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR.s
cCsWt|iƒdjodSg}x"|iD]}|id|ƒq+Wdi|ƒSdS(NiR8t#s
(R;RÐR=RN(R
touttline((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR44s
cCsMt|iƒo9x6|iD]'}|djo|ii|ƒqqWndS(NR8(R;RÐR=(R
RdRÓ((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pytmerge?s


cCs
|iƒS(N(R4(R
((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyR5EsN(RR
RRR4RÔR5(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyRÏ-s		((RJRK((((9RbRRgtSRC_TYPEtTGT_TYPEt	OBJ_CLASStPERMStROLEt	DEST_TYPEtfield_to_strtstr_to_fieldRRR:R®RVRRRIRRRSRURTR[RjR)R-RoRrRsR%R'R/R1R!R”R–RšRR R¤R§RªR±R²RRR³RR´R#R½RR+RÍRÎRÏ(((s6/usr/lib/python2.6/site-packages/sepolgen/refpolicy.pyt<module>sjW&
		K
		
="
	

	



	!&$

Youez - 2016 - github.com/yon3zu
LinuXploit