ó â„^c @s±dZddddddddd g Zd Zd Zd ZeeBZied 6ed6ed6ed6Zid e6de6de6de6Zddd„ƒYZddd„ƒYZ dS(s¬ This module provides knowledge object classes and permissions. It should be used to keep this knowledge from leaking into the more generic parts of the policy generation. tsockettfdtprocesstfiletlnk_filet fifo_filetdbust capabilitytunix_stream_socketiiitntrtwtbtPermMapcBs eZdZd„Zd„ZRS(sA mapping between a permission and its information flow properties. PermMap represents the information flow properties of a single permission including the direction (read, write, etc.) and an abstract representation of the bandwidth of the flow (weight). cCs||_||_||_dS(N(tpermtdirtweight(tselfRRR((s:/usr/lib64/python2.7/site-packages/sepolgen/objectmodel.pyt__init__Ts  cCsd|jt|j|jfS(Ns'(Rt dir_to_strRR(R((s:/usr/lib64/python2.7/site-packages/sepolgen/objectmodel.pyt__repr__Ys  (t__name__t __module__t__doc__RR(((s:/usr/lib64/python2.7/site-packages/sepolgen/objectmodel.pyR Ms t PermMappingscBsDeZdZd„Zd„Zd„Zd„Zd„Zd„ZRS(sÛThe information flow properties of a set of object classes and permissions. PermMappings maps one or more classes and permissions to their PermMap objects describing their information flow charecteristics. cCsi|_d|_t|_dS(Ni(tclassestdefault_weightt FLOW_BOTHt default_dir(R((s:/usr/lib64/python2.7/site-packages/sepolgen/objectmodel.pyRds  c Cs'd }x|D]}|jƒ}t|ƒdks t|ƒdks |ddkrYq n|ddkr®|d}||jkr‘tdƒ‚ni|j|<|j|}q t|ƒdkrÏtdƒ‚n|d krêtdƒ‚nt|dt|dt|d ƒƒ}|||js ""