^c @sdZddddddddd g Zd Zd Zd ZeeBZied 6ed6ed6ed6Zid e6de6de6de6ZdddYZdddYZ 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 eZdZdZdZRS(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 PermMappingscBsDeZdZdZdZdZdZdZdZRS(sThe 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}||jkrtdni|j|<|j|}q t|dkrtdn|d krtdnt|dt|dt|d }|||js ""