
    Drd)                     v   d dl mZ esdev rddlmZ nd dlZ	 d dlZn# e	$ r d dlZY nw xY wd Z
d Zd Zd	 Z G d
 de          Zd dlZd dlZdZd ZdZddZddZd Zd Z G d de          Z ej        e           d Zd Zd Zd Zd Z d Z!d Z" G d de          Z# ej$        e#            G d de          Z% ej&        e%            G d d e          Z' ej(        e'            G d! d"e          Z) ej*        e)            G d# d$e          Z+ ej,        e+           ej-        Z-ej.        Z.d% Z/d& Z0d' Z1d( Z2d) Z3d* Z4d+ Z5d, Z6d- Z7d. Z8ej9        Z9ej:        Z:ej;        Z;ej<        Z<ej=        Z=ej>        Z>ej?        Z?ej@        Z@ejA        ZA G d/ d0e          ZB ejC        eB           d1 ZDd2 ZEd3 ZFd4 ZGd5 ZHd6 ZId7 ZJd8 ZKd9 ZLd: ZMd; ZN G d< d=e          ZO ejP        eO           d> ZQd? ZRd@ ZSdA ZTdB ZUdC ZVdD ZWdE ZXdF ZYdG ZZdH Z[ej\        Z\dI Z]dJ Z^dK Z_dL Z`dM ZadN ZbdO ZcdP ZddQ ZedR Zfejg        Zgejh        Zheji        Ziejj        Zjejk        Zkejl        Zlejm        Zmejn        Znejo        Zoejp        Zpejq        Zqejr        Zrejs        ZsdS ZtdT ZudU ZvdV ZwdW ZxdX ZydY ZzdZ Z{d[ Z|d\ Z}ej~        Z~ej        Zej        Zej        Zd] Zd^ Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zd_ Zd` Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zda Zdb Zdc Zdd Zej        Zej        Zej        Zej        Zej        Z G de dfe          Z ej        e           dg Zej        Zej        Zej        Zej        Zdh Zdi Zdj Zdk Zdl Zdm Zdn Zdo Zdp Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zdz Zd{ Zd| Zd} Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z G d de          Z ej        e           ej        Z G d de          Z ej        e            G d de          Z ej        e           ej        Zej        Zej        Zej        Zej        Zd Zd Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zd Zd Zd Zd Zd Zd Zd Zd Z d Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d Zd Zd Z G d de          Z ej        e           d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z! G d de          Z" ej#        e"           dĄ Z$dń Z%dƄ Z&dǄ Z'dȄ Z(dɄ Z)dʄ Z*d˄ Z+d̄ Z,ej-        Z-ej.        Z.ej/        Z/d̈́ Z0d΄ Z1dτ Z2dЄ Z3dф Z4d҄ Z5dӄ Z6dԄ Z7dՄ Z8dք Z9dׄ Z:d؄ Z;dل Z<dڄ Z=dۄ Z>d܄ Z?d݄ Z@dބ ZAd߄ ZBd ZCd ZDd ZEd ZFd ZGd ZHd ZId ZJd ZKd ZLd ZMd ZNd ZOd ZPd ZQd ZRd ZSd ZTd ZUd ZVd ZWd ZXd ZYd ZZd Z[d Z\d Z]d Z^d Z_d Z`d Zad Zbd  Zcd Zdd Zed Zfd Zgd Zhd Zid Zjd Zkd	 Zld
 Zmd Znd Zod Zpd Zqd Zrd ZsdS (      )version_info.   )_selinuxNc                     	 d| j                                         z   }n# t          j        $ r d}Y nw xY wd| j        j        d| j        j        d|dS )Nz	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss     2/usr/lib/python3/dist-packages/selinux/__init__.py
_swig_reprr      ss    	 2 2 4 44    !^6668O8O8OQXQXQXZZs    33c                       fd}|S )Nc                 4   |dk    r | ||           d S |dk    r| j                             |           d S t          | |          r?t          t	          t          |           |          t                    r | ||           d S t          d| z            )Nr
   thisownz(You cannot add instance attributes to %s)r
   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets      r   set_instance_attrzE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   s    6>>CdE"""""YIMM%     T4   	TZT

D0I0I8%T%T 	TCdE""""" !Kd!RSSS     )r!   r"   s   ` r   *_swig_setattr_nondynamic_instance_variabler%      s)    T T T T T r#   c                       fd}|S )Nc                     t          | |          r2t          t          | |          t                    s | ||           d S t	          d| z            )Nz%You cannot add class attributes to %s)r   r   r   r   r   )clsr   r    r!   s      r   set_class_attrz?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr)   s`    3 	Pjd1C1CX&N&N 	PCT5!!!!! !H3!NOOOr#   r$   )r!   r)   s   ` r   '_swig_setattr_nondynamic_class_variabler*   (   s)    P P P P P
 r#   c                       fd}|S )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                 `     | j         | j        | j                                                  S N)r   	__bases____dict__copy)r(   	metaclasss    r   wrapperz$_swig_add_metaclass.<locals>.wrapper3   s)    ys}cl6G6G6I6IJJJr#   r$   )r1   r2   s   ` r   _swig_add_metaclassr3   1   s&    K K K K KNr#   c                   2    e Zd ZdZ eej                  ZdS )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classN)r   r   __qualname____doc__r*   r   __setattr__r$   r#   r   r5   r5   8   s'        UU99$:JKKKKKr#   r5   Fc                     t           t          z  }|r
|t          z  }|r
|t          z  }|r
|t          z  }t          t          j                            |           ||           dS )ax   Restore SELinux context on a given path

    Arguments:
    path -- The pathname for the file or directory to be relabeled.

    Keyword arguments:
    recursive -- Change files and directories file labels recursively (default False)
    verbose -- Show changes in file labels (default False)
    force -- Force reset of context to match file_context for customizable files,
    and the default file context, changing the user, role, range portion  as well
    as the type (default False)
    nthreads -- The number of threads to use during relabeling, or 0 to use as many
    threads as there are online CPU cores (default 1)
    N)	 SELINUX_RESTORECON_IGNORE_DIGESTSELINUX_RESTORECON_REALPATHSELINUX_RESTORECON_RECURSESELINUX_RESTORECON_VERBOSE#SELINUX_RESTORECON_SET_SPECFILE_CTXselinux_restorecon_parallelospath
expanduser)rB   	recursiveverboseforcenthreadsrestorecon_flagss         r   
restoreconrI   F   sv      8:UU 766 766 @?? 2 24 8 8:JHUUUUUr#   c                     t          | |           |rQt          j        |           D ]>\  }}}||z   D ]0}t          t          j                            ||          |           1=dS dS )z) Set the SELinux context on a given path N)lsetfileconrA   walkrB   join)rB   contextrD   rootdirsfilesr   s          r   chconrR   _   s    g ?!# 	? 	?D$ ? ?BGLLt44g>>>>?? ?	? 	?r#   c                 R    t          j        | |           t          |d           dS )z, An SELinux-friendly shutil.copytree method TrD   N)shutilcopytreerI   srcdests     r   rV   rV   g   s-    
OCtt$$$$$$r#   c                 R    t          j        | |           t          |d           dS )z( An SELinux-friendly shutil.move method TrT   N)rU   moverI   rW   s     r   installr\   l   s-    
KTtt$$$$$$r#   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )security_idc                 4    | j                                         S r-   r
   r   xs    r   <lambda>zsecurity_id.<lambda>r        r#   c                 6    | j                             |          S r-   r`   rb   vs     r   rc   zsecurity_id.<lambda>r       AFJJqMM r#   The membership flagdocc                 R    t          j        | t          j                               d S r-   )r   security_id_swiginitnew_security_idr   s    r   __init__zsecurity_id.__init__w   $    %dH,D,F,FGGGGGr#   N)r   r   r6   r   r   r   r   r   security_id_ctx_getsecurity_id_ctx_setctxsecurity_id_refcnt_getsecurity_id_refcnt_setrefcntrp   delete_security_id__swig_destroy__r$   r#   r   r^   r^   q   s}        h--/I/IOdeeeGH
(8/1M
N
NCXh5x7VWWFH H H2r#   r^   c                 *    t          j        |           S r-   )r   avc_sid_to_contextsids    r   r{   r{   ~       &s+++r#   c                 *    t          j        |           S r-   )r   avc_sid_to_context_rawr|   s    r   r   r          *3///r#   c                 *    t          j        |           S r-   )r   avc_context_to_sidrt   s    r   r   r      r~   r#   c                 *    t          j        |           S r-   )r   avc_context_to_sid_rawr   s    r   r   r      r   r#   c                 *    t          j        |           S r-   )r   sidgetr|   s    r   r   r          ?3r#   c                 *    t          j        |           S r-   )r   sidputr|   s    r   r   r      r   r#   c                 *    t          j        |           S r-   )r   avc_get_initial_sidr   s    r   r   r      s    '---r#   c                   r    e Zd Z ed d d          ZeZ eej        ej	                  Z
d Zej        ZdS )avc_entry_refc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_entry_ref.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_entry_ref.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_entry_ref_swiginitnew_avc_entry_refro   s    r   rp   zavc_entry_ref.__init__   s$    'h.H.J.JKKKKKr#   N)r   r   r6   r   r   r   r   r   avc_entry_ref_ae_getavc_entry_ref_ae_setaerp   delete_avc_entry_refry   r$   r#   r   r   r      sf        h--/I/IOdeeeGH	(/1N	O	OBL L L4r#   r   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )avc_memory_callbackc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_memory_callback.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_memory_callback.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_memory_callback_swiginitnew_avc_memory_callbackro   s    r   rp   zavc_memory_callback.__init__   $    -dH4T4V4VWWWWWr#   N)r   r   r6   r   r   r   r   r   #avc_memory_callback_func_malloc_get#avc_memory_callback_func_malloc_setfunc_malloc!avc_memory_callback_func_free_get!avc_memory_callback_func_free_set	func_freerp   delete_avc_memory_callbackry   r$   r#   r   r   r      s}        h--/I/IOdeeeGH(8GIuvvKCXEoppIX X X:r#   r   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )avc_log_callbackc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_log_callback.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_log_callback.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_log_callback_swiginitnew_avc_log_callbackro   s    r   rp   zavc_log_callback.__init__   $    *41N1P1PQQQQQr#   N)r   r   r6   r   r   r   r   r   avc_log_callback_func_log_getavc_log_callback_func_log_setfunc_logavc_log_callback_func_audit_getavc_log_callback_func_audit_set
func_auditrp   delete_avc_log_callbackry   r$   r#   r   r   r      s}        h--/I/IOdeeeGHx>@fggH(BHDlmmJR R R7r#   r   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )avc_thread_callbackc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_thread_callback.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_thread_callback.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_thread_callback_swiginitnew_avc_thread_callbackro   s    r   rp   zavc_thread_callback.__init__   r   r#   N)r   r   r6   r   r   r   r   r   *avc_thread_callback_func_create_thread_get*avc_thread_callback_func_create_thread_setfunc_create_thread(avc_thread_callback_func_stop_thread_get(avc_thread_callback_func_stop_thread_setfunc_stop_threadrp   delete_avc_thread_callbackry   r$   r#   r   r   r      s        h--/I/IOdeeeGH!("UW_  XK  L  Lx QS[  TE  F  FX X X:r#   r   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Z eej        ej                  Z eej        ej                  Zd Zej        ZdS )avc_lock_callbackc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_lock_callback.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_lock_callback.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_lock_callback_swiginitnew_avc_lock_callbackro   s    r   rp   zavc_lock_callback.__init__   s$    +D(2P2R2RSSSSSr#   N)r   r   r6   r   r   r   r   r   %avc_lock_callback_func_alloc_lock_get%avc_lock_callback_func_alloc_lock_setfunc_alloc_lock#avc_lock_callback_func_get_lock_get#avc_lock_callback_func_get_lock_setfunc_get_lock'avc_lock_callback_func_release_lock_get'avc_lock_callback_func_release_lock_setfunc_release_lock$avc_lock_callback_func_free_lock_get$avc_lock_callback_func_free_lock_setfunc_free_lockrp   delete_avc_lock_callbackry   r$   r#   r   r   r      s        h--/I/IOdeeeGHhxMxO}~~OHXI8KwxxM !QS[  TD  E  EXhKXMz{{NT T T8r#   r   c                 2    t          j        | ||||          S r-   )r   avc_init)	msgprefixmem_callbackslog_callbacksthread_callbackslock_callbackss        r   r   r      s    Y}FVXfgggr#   c                 ,    t          j        | |          S r-   )r   avc_open)optsnoptss     r   r   r      s    T5)))r#   c                  (    t          j                    S r-   )r   avc_cleanupr$   r#   r   r   r          !!!r#   c                  (    t          j                    S r-   )r   	avc_resetr$   r#   r   r   r      s    r#   c                  (    t          j                    S r-   )r   avc_destroyr$   r#   r   r   r      r   r#   c                 4    t          j        | |||||          S r-   )r   avc_has_perm_noaudit)ssidtsidtclass	requestedaerefavds         r   r   r      s    (tVYsSSSr#   c                 2    t          j        | ||||          S r-   )r   avc_has_perm)r   r   r   r   r   s        r   r   r      s     tVYFFFr#   c                 4    t          j        | |||||          S r-   )r   	avc_audit)r   r   r   r   r   results         r   r   r      s    dD&)S&IIIr#   c                 .    t          j        | ||          S r-   )r   avc_compute_creater   r   r   s      r   r   r          &tT6:::r#   c                 .    t          j        | ||          S r-   )r   avc_compute_memberr   s      r   r   r      r   r#   c                      e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Zd Z ej!        Z"dS )avc_cache_statsc                 4    | j                                         S r-   r`   ra   s    r   rc   zavc_cache_stats.<lambda>   rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zavc_cache_stats.<lambda>   rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   avc_cache_stats_swiginitnew_avc_cache_statsro   s    r   rp   zavc_cache_stats.__init__  s$    )$0L0N0NOOOOOr#   N)#r   r   r6   r   r   r   r   r   !avc_cache_stats_entry_lookups_get!avc_cache_stats_entry_lookups_setentry_lookupsavc_cache_stats_entry_hits_getavc_cache_stats_entry_hits_set
entry_hits avc_cache_stats_entry_misses_get avc_cache_stats_entry_misses_setentry_misses"avc_cache_stats_entry_discards_get"avc_cache_stats_entry_discards_setentry_discardsavc_cache_stats_cav_lookups_getavc_cache_stats_cav_lookups_setcav_lookupsavc_cache_stats_cav_hits_getavc_cache_stats_cav_hits_setcav_hitsavc_cache_stats_cav_probes_getavc_cache_stats_cav_probes_set
cav_probesavc_cache_stats_cav_misses_getavc_cache_stats_cav_misses_set
cav_missesrp   delete_avc_cache_statsry   r$   r#   r   r   r      s       h--/I/IOdeeeGHHXGIsttM(A8CjkkJ8HExGpqqLXhI8KvwwN(8CXEmnnKx=x?deeH(A8CjkkJ(A8CjkkJP P P6r#   r   c                  (    t          j                    S r-   )r   avc_av_statsr$   r#   r   r   r          """r#   c                  (    t          j                    S r-   )r   avc_sid_statsr$   r#   r   r#  r#    s    !###r#   c                 *    t          j        |           S r-   )r   avc_netlink_open)blockings    r   r%  r%    s    $X...r#   c                  (    t          j                    S r-   )r   avc_netlink_loopr$   r#   r   r(  r(        $&&&r#   c                  (    t          j                    S r-   )r   avc_netlink_closer$   r#   r   r+  r+        %'''r#   c                 *    t          j        |           S r-   )r   selinux_status_open)fallbacks    r   r.  r.    s    '111r#   c                  (    t          j                    S r-   )r   selinux_status_closer$   r#   r   r1  r1        (***r#   c                  (    t          j                    S r-   )r   selinux_status_updatedr$   r#   r   r4  r4         *,,,r#   c                  (    t          j                    S r-   )r   selinux_status_getenforcer$   r#   r   r7  r7  #      -///r#   c                  (    t          j                    S r-   )r   selinux_status_policyloadr$   r#   r   r:  r:  &  r8  r#   c                  (    t          j                    S r-   )r   selinux_status_deny_unknownr$   r#   r   r<  r<  )      /111r#   c                   r    e Zd Z ed d d          ZeZ eej        ej	                  Z
d Zej        ZdS )context_s_tc                 4    | j                                         S r-   r`   ra   s    r   rc   zcontext_s_t.<lambda>,  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zcontext_s_t.<lambda>,  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   context_s_t_swiginitnew_context_s_tro   s    r   rp   zcontext_s_t.__init__0  rq   r#   N)r   r   r6   r   r   r   r   r   context_s_t_ptr_getcontext_s_t_ptr_setptrrp   delete_context_s_try   r$   r#   r   r?  r?  +  sf        h--/I/IOdeeeGH
(8/1M
N
NCH H H2r#   r?  c                 *    t          j        |           S r-   )r   context_newarg1s    r   rJ  rJ  7      %%%r#   c                 *    t          j        |           S r-   )r   context_strrK  s    r   rO  rO  :  rM  r#   c                 *    t          j        |           S r-   )r   context_freerK  s    r   rQ  rQ  =  s     &&&r#   c                 *    t          j        |           S r-   )r   context_type_getrK  s    r   rS  rS  @      $T***r#   c                 *    t          j        |           S r-   )r   context_range_getrK  s    r   rV  rV  C      %d+++r#   c                 *    t          j        |           S r-   )r   context_role_getrK  s    r   rY  rY  F  rT  r#   c                 *    t          j        |           S r-   )r   context_user_getrK  s    r   r[  r[  I  rT  r#   c                 ,    t          j        | |          S r-   )r   context_type_setrL  arg2s     r   r]  r]  L      $T4000r#   c                 ,    t          j        | |          S r-   )r   context_range_setr^  s     r   rb  rb  O  s    %dD111r#   c                 ,    t          j        | |          S r-   )r   context_role_setr^  s     r   rd  rd  R  r`  r#   c                 ,    t          j        | |          S r-   )r   context_user_setr^  s     r   rf  rf  U  r`  r#   c                 ,    t          j        | |          S r-   )r   get_ordered_context_listuserfromcons     r   rh  rh  Y  s    ,T7;;;r#   c                 .    t          j        | ||          S r-   )r   #get_ordered_context_list_with_levelrj  levelrk  s      r   rm  rm  \  s    7eWMMMr#   c                 ,    t          j        | |          S r-   )r   get_default_contextri  s     r   rq  rq  _  s    'g666r#   c                 .    t          j        | ||          S r-   )r   get_default_context_with_levelrn  s      r   rs  rs  b  s    24HHHr#   c                 .    t          j        | ||          S r-   )r   get_default_context_with_role)rj  rolerk  s      r   ru  ru  e  s    1$gFFFr#   c                 0    t          j        | |||          S r-   )r   "get_default_context_with_rolelevel)rj  rv  ro  rk  s       r   rx  rx  h  s    6tT5'RRRr#   c                  (    t          j                    S r-   )r   query_user_contextr$   r#   r   rz  rz  k      &(((r#   c                 *    t          j        |           S r-   )r   manual_user_enter_context)rj  s    r   r}  r}  n  s    -d333r#   c                  (    t          j                    S r-   )r   selinux_default_type_pathr$   r#   r   r  r  q  r8  r#   c                 *    t          j        |           S r-   )r   get_default_type)rv  s    r   r  r  t  rT  r#   c                 .    t          j        | ||          S r-   )r   selabel_open)backendr   r   s      r   r  r    s     $666r#   c                 *    t          j        |           S r-   )r   selabel_closehandles    r   r  r        !&)))r#   c                 .    t          j        | ||          S r-   )r   selabel_lookupr  keyr   s      r   r  r    s    "63555r#   c                 .    t          j        | ||          S r-   )r   selabel_lookup_rawr  s      r   r  r    s    &vsD999r#   c                 ,    t          j        | |          S r-   )r   selabel_partial_match)r  r  s     r   r  r    s    )&#666r#   c                 0    t          j        | |||          S r-   )r   'selabel_get_digests_all_partial_matches)recr  calculated_digestxattr_digests       r   r  r    s    ;CFWYefffr#   c                 .    t          j        | ||          S r-   )r    selabel_hash_all_partial_matches)r  r  digests      r   r  r    s    4S#vFFFr#   c                 .    t          j        | ||          S r-   )r   selabel_lookup_best_matchr  r  r   s      r   r  r    s    -c3===r#   c                 .    t          j        | ||          S r-   )r   selabel_lookup_best_match_rawr  s      r   r  r    s    1#sDAAAr#   c                 ,    t          j        | |          S r-   )r   selabel_digest)r  r  s     r   r  r    s    "3///r#   c                 ,    t          j        | |          S r-   )r   selabel_cmp)h1h2s     r   r  r    s    B'''r#   c                 *    t          j        |           S r-   )r   selabel_statsr  s    r   r  r    r  r#   c                 ,    t          j        | |          S r-   )r   selinux_restorecon)pathnamerH   s     r   r  r    s    &x1ABBBr#   c                 .    t          j        | ||          S r-   )r   r@   )r  rH   rG   s      r   r@   r@     s    /:JHUUUr#   c                 *    t          j        |           S r-   )r   selinux_restorecon_set_sehandle)hndls    r   r  r    s    3D999r#   c                  (    t          j                    S r-   )r   !selinux_restorecon_default_handler$   r#   r   r  r        5777r#   c                  (    t          j                    S r-   )r   #selinux_restorecon_set_exclude_listr$   r#   r   r  r        7999r#   c                 *    t          j        |           S r-   )r   #selinux_restorecon_set_alt_rootpath)alt_rootpaths    r   r  r    s    7EEEr#   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Z eej        ej                  Z eej        ej                  Zd Zej        ZdS )	dir_xattrc                 4    | j                                         S r-   r`   ra   s    r   rc   zdir_xattr.<lambda>  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zdir_xattr.<lambda>  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   dir_xattr_swiginitnew_dir_xattrro   s    r   rp   zdir_xattr.__init__  s$    #D(*@*B*BCCCCCr#   N)r   r   r6   r   r   r   r   r   dir_xattr_directory_getdir_xattr_directory_set	directorydir_xattr_digest_getdir_xattr_digest_setr  dir_xattr_result_getdir_xattr_result_setr   dir_xattr_next_getdir_xattr_next_setnextrp   delete_dir_xattrry   r$   r#   r   r  r    s        h--/I/IOdeeeGH98;[\\IXh3X5RSSFXh3X5RSSF8H/1LMMDD D D0r#   r  c                 .    t          j        | ||          S r-   )r   selinux_restorecon_xattr)r  xattr_flags
xattr_lists      r   r  r    s    ,X{JOOOr#   c                  (    t          j                    S r-   )r   %selinux_restorecon_get_skipped_errorsr$   r#   r   r  r    s    9;;;r#   c                  (    t          j                    S r-   )r   is_selinux_enabledr$   r#   r   r  r     r{  r#   c                  (    t          j                    S r-   )r   is_selinux_mls_enabledr$   r#   r   r  r    r5  r#   c                  (    t          j                    S r-   )r   getconr$   r#   r   r  r    s    ?r#   c                  (    t          j                    S r-   )r   
getcon_rawr$   r#   r   r  r  	         r#   c                 *    t          j        |           S r-   )r   setconcons    r   r  r    r   r#   c                 *    t          j        |           S r-   )r   
setcon_rawr  s    r   r  r        s###r#   c                 *    t          j        |           S r-   )r   	getpidconpids    r   r  r    s    c"""r#   c                 *    t          j        |           S r-   )r   getpidcon_rawr  s    r   r  r    s    !#&&&r#   c                  (    t          j                    S r-   )r   
getprevconr$   r#   r   r  r    r  r#   c                  (    t          j                    S r-   )r   getprevcon_rawr$   r#   r   r  r        "$$$r#   c                  (    t          j                    S r-   )r   
getexecconr$   r#   r   r  r    r  r#   c                  (    t          j                    S r-   )r   getexeccon_rawr$   r#   r   r  r  !  r  r#   c                 *    t          j        |           S r-   )r   
setexecconr  s    r   r  r  $  r  r#   c                 *    t          j        |           S r-   )r   setexeccon_rawr  s    r   r  r  '      "3'''r#   c                  (    t          j                    S r-   )r   getfscreateconr$   r#   r   r  r  *  r  r#   c                  (    t          j                    S r-   )r   getfscreatecon_rawr$   r#   r   r  r  -  r{  r#   c                 *    t          j        |           S r-   )r   setfscreateconrN   s    r   r  r  0  s    "7+++r#   c                 *    t          j        |           S r-   )r   setfscreatecon_rawr  s    r   r  r  3  s    &w///r#   c                  (    t          j                    S r-   )r   getkeycreateconr$   r#   r   r  r  6      #%%%r#   c                  (    t          j                    S r-   )r   getkeycreatecon_rawr$   r#   r   r   r   9      ')))r#   c                 *    t          j        |           S r-   )r   setkeycreateconr  s    r   r  r  <  s    #G,,,r#   c                 *    t          j        |           S r-   )r   setkeycreatecon_rawr  s    r   r  r  ?  s    '000r#   c                  (    t          j                    S r-   )r   getsockcreateconr$   r#   r   r  r  B  r)  r#   c                  (    t          j                    S r-   )r   getsockcreatecon_rawr$   r#   r   r	  r	  E  r2  r#   c                 *    t          j        |           S r-   )r   setsockcreateconr  s    r   r  r  H  s    $W---r#   c                 *    t          j        |           S r-   )r   setsockcreatecon_rawr  s    r   r  r  K  s    (111r#   c                 *    t          j        |           S r-   )r   
getfileconrB   s    r   r  r  N  s    t$$$r#   c                 *    t          j        |           S r-   )r   getfilecon_rawr  s    r   r  r  Q  s    "4(((r#   c                 *    t          j        |           S r-   )r   lgetfileconr  s    r   r  r  T  rM  r#   c                 *    t          j        |           S r-   )r   lgetfilecon_rawr  s    r   r  r  W  s    #D)))r#   c                 *    t          j        |           S r-   )r   fgetfileconfds    r   r  r  Z  s    ###r#   c                 *    t          j        |           S r-   )r   fgetfilecon_rawr  s    r   r  r  ]  s    #B'''r#   c                 ,    t          j        | |          S r-   )r   
setfileconrB   r  s     r   r  r  `  s    tS)))r#   c                 ,    t          j        | |          S r-   )r   setfilecon_rawr  s     r   r!  r!  c  s    "4---r#   c                 ,    t          j        | |          S r-   )r   rK   r  s     r   rK   rK   f  s    c***r#   c                 ,    t          j        | |          S r-   )r   lsetfilecon_rawr  s     r   r$  r$  i  s    #D#...r#   c                 ,    t          j        | |          S r-   )r   fsetfileconr  r  s     r   r&  r&  l  s    C(((r#   c                 ,    t          j        | |          S r-   )r   fsetfilecon_rawr'  s     r   r)  r)  o  s    #B,,,r#   c                 *    t          j        |           S r-   )r   
getpeerconr  s    r   r+  r+  r  s    r"""r#   c                 *    t          j        |           S r-   )r   getpeercon_rawr  s    r   r-  r-  u  s    "2&&&r#   c                   N   e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Zd Zej        ZdS )av_decisionc                 4    | j                                         S r-   r`   ra   s    r   rc   zav_decision.<lambda>x  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zav_decision.<lambda>x  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   av_decision_swiginitnew_av_decisionro   s    r   rp   zav_decision.__init__  rq   r#   N)r   r   r6   r   r   r   r   r   av_decision_allowed_getav_decision_allowed_setallowedav_decision_decided_getav_decision_decided_setdecidedav_decision_auditallow_getav_decision_auditallow_set
auditallowav_decision_auditdeny_getav_decision_auditdeny_set	auditdenyav_decision_seqno_getav_decision_seqno_setseqnoav_decision_flags_getav_decision_flags_setflagsrp   delete_av_decisionry   r$   r#   r   r/  r/  w  s        h--/I/IOdeeeGHhx79YZZGhx79YZZG(=x?bccJ;X=_``IHX3X5STTEHX3X5STTEH H H2r#   r/  c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )selinux_optc                 4    | j                                         S r-   r`   ra   s    r   rc   zselinux_opt.<lambda>  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zselinux_opt.<lambda>  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   selinux_opt_swiginitnew_selinux_optro   s    r   rp   zselinux_opt.__init__  rq   r#   N)r   r   r6   r   r   r   r   r   selinux_opt_type_getselinux_opt_type_setr   selinux_opt_value_getselinux_opt_value_setr    rp   delete_selinux_optry   r$   r#   r   rI  rI    s}        h--/I/IOdeeeGH8H183PQQDHX3X5STTEH H H2r#   rI  c                   "   e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Zd Zej        ZdS )selinux_callbackc                 4    | j                                         S r-   r`   ra   s    r   rc   zselinux_callback.<lambda>  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zselinux_callback.<lambda>  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   selinux_callback_swiginitnew_selinux_callbackro   s    r   rp   zselinux_callback.__init__  r   r#   N)r   r   r6   r   r   r   r   r   selinux_callback_func_log_getselinux_callback_func_log_setr   selinux_callback_func_audit_getselinux_callback_func_audit_setr   "selinux_callback_func_validate_get"selinux_callback_func_validate_setfunc_validate$selinux_callback_func_setenforce_get$selinux_callback_func_setenforce_setfunc_setenforce$selinux_callback_func_policyload_get$selinux_callback_func_policyload_setfunc_policyloadrp   delete_selinux_callbackry   r$   r#   r   rU  rU    s        h--/I/IOdeeeGHx>@fggH(BHDlmmJHXH(JuvvMhxLhN{||OhxLhN{||OR R R7r#   rU  c                 *    t          j        |           S r-   )r   selinux_get_callback)r   s    r   rj  rj    s    (...r#   c                 ,    t          j        | |          S r-   )r   selinux_set_callback)r   cbs     r   rl  rl    s    (r222r#   c                 2    t          j        | ||||          S r-   )r   security_compute_avscontconr   r   r   s        r   ro  ro    s    'dFIsKKKr#   c                 2    t          j        | ||||          S r-   )r   security_compute_av_rawrp  s        r   rt  rt    s    +D$	3OOOr#   c                 2    t          j        | ||||          S r-   )r   security_compute_av_flagsrp  s        r   rv  rv    s    -dD&)SQQQr#   c                 2    t          j        | ||||          S r-   )r   security_compute_av_flags_rawrp  s        r   rx  rx    s    1$fiQTUUUr#   c                 .    t          j        | ||          S r-   )r   security_compute_createrq  rr  r   s      r   rz  rz        +D$???r#   c                 .    t          j        | ||          S r-   )r   security_compute_create_rawr{  s      r   r~  r~        /dFCCCr#   c                 0    t          j        | |||          S r-   )r   security_compute_create_namerq  rr  r   objnames       r   r  r    s    0tVWMMMr#   c                 0    t          j        | |||          S r-   )r    security_compute_create_name_rawr  s       r   r  r    s    4T4QQQr#   c                 .    t          j        | ||          S r-   )r   security_compute_relabelr{  s      r   r  r    s    ,T4@@@r#   c                 .    t          j        | ||          S r-   )r   security_compute_relabel_rawr{  s      r   r  r    s    0tVDDDr#   c                 .    t          j        | ||          S r-   )r   security_compute_memberr{  s      r   r  r    r|  r#   c                 .    t          j        | ||          S r-   )r   security_compute_member_rawr{  s      r   r  r    r  r#   c                 ,    t          j        | |          S r-   )r   security_compute_userrq  usernames     r   r  r    s    )$999r#   c                 ,    t          j        | |          S r-   )r   security_compute_user_rawr  s     r   r  r    s    -dH===r#   c                 0    t          j        | |||          S r-   )r   security_validatetransrq  rr  r   newcons       r   r  r    s    *4vvFFFr#   c                 0    t          j        | |||          S r-   )r   security_validatetrans_rawr  s       r   r  r    s    .tT66JJJr#   c                 *    t          j        |           S r-   )r   security_load_policy)lens    r   r  r    s    (---r#   c                 *    t          j        |           S r-   )r   security_get_initial_contextr   s    r   r  r        0666r#   c                 *    t          j        |           S r-   )r    security_get_initial_context_rawr   s    r   r  r    s    4T:::r#   c                 *    t          j        |           S r-   )r   selinux_mkload_policy)preserveboolss    r   r  r    s    )-888r#   c                  (    t          j                    S r-   )r   selinux_init_load_policyr$   r#   r   r  r        ,...r#   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )
SELbooleanc                 4    | j                                         S r-   r`   ra   s    r   rc   zSELboolean.<lambda>  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zSELboolean.<lambda>  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   SELboolean_swiginitnew_SELbooleanro   s    r   rp   zSELboolean.__init__  s$    $T8+B+D+DEEEEEr#   N)r   r   r6   r   r   r   r   r   SELboolean_name_getSELboolean_name_setr   SELboolean_value_getSELboolean_value_setr    rp   delete_SELbooleanry   r$   r#   r   r  r    s}        h--/I/IOdeeeGH8H0(2NOODHX2H4QRREF F F1r#   r  c                 .    t          j        | ||          S r-   )r   security_set_boolean_list)boolcntboollist	permanents      r   r  r    s    -gxKKKr#   c                 *    t          j        |           S r-   )r   security_load_booleansr  s    r   r  r        *4000r#   c                 *    t          j        |           S r-   )r   security_check_contextr  s    r   r  r    r   r#   c                 *    t          j        |           S r-   )r   security_check_context_rawr  s    r   r  r  
  s    .s333r#   c                 *    t          j        |           S r-   )r   security_canonicalize_contextr  s    r   r  r    s    1#666r#   c                 *    t          j        |           S r-   )r   !security_canonicalize_context_rawr  s    r   r  r    s    5c:::r#   c                  (    t          j                    S r-   )r   security_getenforcer$   r#   r   r  r    r  r#   c                 *    t          j        |           S r-   )r   security_setenforce)r    s    r   r  r    s    '...r#   c                  (    t          j                    S r-   )r   security_reject_unknownr$   r#   r   r  r    s    +---r#   c                  (    t          j                    S r-   )r   security_deny_unknownr$   r#   r   r  r        )+++r#   c                  (    t          j                    S r-   )r   security_get_checkreqprotr$   r#   r   r  r    r8  r#   c                  (    t          j                    S r-   )r   security_disabler$   r#   r   r  r  "  r)  r#   c                  (    t          j                    S r-   )r   security_policyversr$   r#   r   r  r  %  r  r#   c                  (    t          j                    S r-   )r   security_get_boolean_namesr$   r#   r   r  r  (      .000r#   c                 *    t          j        |           S r-   )r   security_get_boolean_pendingr   s    r   r  r  +  r  r#   c                 *    t          j        |           S r-   )r   security_get_boolean_activer   s    r   r  r  .      /555r#   c                 ,    t          j        | |          S r-   )r   security_set_boolean)r   r    s     r   r  r  1  s    (u555r#   c                  (    t          j                    S r-   )r   security_commit_booleansr$   r#   r   r  r  4  r  r#   c                       e Zd Z ed d d          ZeZ eej        ej	                  Z
 eej        ej                  Zd Zej        ZdS )security_class_mappingc                 4    | j                                         S r-   r`   ra   s    r   rc   zsecurity_class_mapping.<lambda>7  rd   r#   c                 6    | j                             |          S r-   r`   rf   s     r   rc   zsecurity_class_mapping.<lambda>7  rh   r#   ri   rj   c                 R    t          j        | t          j                               d S r-   )r   security_class_mapping_swiginitnew_security_class_mappingro   s    r   rp   zsecurity_class_mapping.__init__<  s$    0x7Z7\7\]]]]]r#   N)r   r   r6   r   r   r   r   r   security_class_mapping_name_getsecurity_class_mapping_name_setr    security_class_mapping_perms_get security_class_mapping_perms_setpermsrp   delete_security_class_mappingry   r$   r#   r   r  r  6  s}        h--/I/IOdeeeGH8H<h>fggDHX>@ijjE^ ^ ^=r#   r  c                 *    t          j        |           S r-   )r   selinux_set_mapping)maps    r   r  r  C  s    ',,,r#   c                 *    t          j        |           S r-   )r   mode_to_security_class)modes    r   r  r  F  r  r#   c                 *    t          j        |           S r-   )r   string_to_security_classr   s    r   r  r  I  s    ,T222r#   c                 *    t          j        |           S r-   )r   security_class_to_string)r(   s    r   r  r  L  s    ,S111r#   c                 ,    t          j        | |          S r-   )r   security_av_perm_to_string)r   perms     r   r  r  O  s    .vt<<<r#   c                 ,    t          j        | |          S r-   )r   string_to_av_perm)r   r   s     r   r  r  R  s    %fd333r#   c                 ,    t          j        | |          S r-   )r   security_av_stringr   avs     r   r  r  U  s    &vr222r#   c                 ,    t          j        | |          S r-   )r   print_access_vectorr  s     r   r   r   X  s    '333r#   c                  (    t          j                    S r-   )r   selinux_flush_class_cacher$   r#   r   r  r  [  r8  r#   c                 *    t          j        |           S r-   )r   set_matchpathcon_flags)rF  s    r   r  r  a  s    *5111r#   c                 *    t          j        |           S r-   )r   matchpathcon_initr  s    r   r  r  d  rW  r#   c                 ,    t          j        | |          S r-   )r   matchpathcon_init_prefix)rB   prefixs     r   r  r  g  s    ,T6:::r#   c                  (    t          j                    S r-   )r   matchpathcon_finir$   r#   r   r  r  j  r,  r#   c                 ,    t          j        | |          S r-   )r   realpath_not_final)r   resolved_paths     r   r  r  m  s    &t];;;r#   c                 ,    t          j        | |          S r-   )r   matchpathconrB   r  s     r   r  r  p  s     t,,,r#   c                 ,    t          j        | |          S r-   )r   matchpathcon_indexr  s     r   r  r  s  s    &tT222r#   c                 .    t          j        | ||          S r-   )r   matchpathcon_filespec_add)inospecindfiles      r   r  r  v  s    -c7DAAAr#   c                  (    t          j                    S r-   )r   matchpathcon_filespec_destroyr$   r#   r   r  r  y      1333r#   c                  (    t          j                    S r-   )r   matchpathcon_filespec_evalr$   r#   r   r  r  |  r  r#   c                 *    t          j        |           S r-   )r   matchpathcon_checkmatches)strs    r   r  r    s    -c222r#   c                 *    t          j        |           S r-   )r   matchmediacon)medias    r   r"  r"    s    !%(((r#   c                  (    t          j                    S r-   )r   selinux_getenforcemoder$   r#   r   r%  r%    r5  r#   c                 *    t          j        |           S r-   )r   selinux_boolean_sub)boolean_names    r   r'  r'    s    '555r#   c                  (    t          j                    S r-   )r   selinux_getpolicytyper$   r#   r   r*  r*    r  r#   c                  (    t          j                    S r-   )r   selinux_policy_rootr$   r#   r   r,  r,    r  r#   c                 *    t          j        |           S r-   )r   selinux_set_policy_root)rootpaths    r   r.  r.        +H555r#   c                  (    t          j                    S r-   )r   selinux_current_policy_pathr$   r#   r   r2  r2    r=  r#   c                  (    t          j                    S r-   )r   selinux_binary_policy_pathr$   r#   r   r4  r4    r  r#   c                  (    t          j                    S r-   )r   selinux_failsafe_context_pathr$   r#   r   r6  r6    r  r#   c                  (    t          j                    S r-   )r   selinux_removable_context_pathr$   r#   r   r8  r8        2444r#   c                  (    t          j                    S r-   )r   selinux_default_context_pathr$   r#   r   r;  r;        0222r#   c                  (    t          j                    S r-   )r   selinux_user_contexts_pathr$   r#   r   r>  r>    r  r#   c                  (    t          j                    S r-   )r   selinux_file_context_pathr$   r#   r   r@  r@    r8  r#   c                  (    t          j                    S r-   )r   !selinux_file_context_homedir_pathr$   r#   r   rB  rB    r  r#   c                  (    t          j                    S r-   )r   selinux_file_context_local_pathr$   r#   r   rD  rD        3555r#   c                  (    t          j                    S r-   )r   selinux_file_context_subs_pathr$   r#   r   rG  rG    r9  r#   c                  (    t          j                    S r-   )r   #selinux_file_context_subs_dist_pathr$   r#   r   rI  rI    r  r#   c                  (    t          j                    S r-   )r   selinux_homedir_context_pathr$   r#   r   rK  rK    r<  r#   c                  (    t          j                    S r-   )r   selinux_media_context_pathr$   r#   r   rM  rM    r  r#   c                  (    t          j                    S r-   )r   #selinux_virtual_domain_context_pathr$   r#   r   rO  rO    r  r#   c                  (    t          j                    S r-   )r   "selinux_virtual_image_context_pathr$   r#   r   rQ  rQ    s    6888r#   c                  (    t          j                    S r-   )r   selinux_lxc_contexts_pathr$   r#   r   rS  rS    r8  r#   c                  (    t          j                    S r-   )r   selinux_x_context_pathr$   r#   r   rU  rU    r5  r#   c                  (    t          j                    S r-   )r   selinux_sepgsql_context_pathr$   r#   r   rW  rW    r<  r#   c                  (    t          j                    S r-   )r   selinux_openrc_contexts_pathr$   r#   r   rY  rY    r<  r#   c                  (    t          j                    S r-   )r   selinux_openssh_contexts_pathr$   r#   r   r[  r[    r  r#   c                  (    t          j                    S r-   )r   selinux_snapperd_contexts_pathr$   r#   r   r]  r]    r9  r#   c                  (    t          j                    S r-   )r   selinux_systemd_contexts_pathr$   r#   r   r_  r_    r  r#   c                  (    t          j                    S r-   )r   selinux_contexts_pathr$   r#   r   ra  ra    r  r#   c                  (    t          j                    S r-   )r   selinux_securetty_types_pathr$   r#   r   rc  rc    r<  r#   c                  (    t          j                    S r-   )r   selinux_booleans_subs_pathr$   r#   r   re  re    r  r#   c                  (    t          j                    S r-   )r   selinux_booleans_pathr$   r#   r   rg  rg    r  r#   c                  (    t          j                    S r-   )r   selinux_customizable_types_pathr$   r#   r   ri  ri    rE  r#   c                  (    t          j                    S r-   )r   selinux_users_pathr$   r#   r   rk  rk    r{  r#   c                  (    t          j                    S r-   )r   selinux_usersconf_pathr$   r#   r   rm  rm    r5  r#   c                  (    t          j                    S r-   )r   selinux_translations_pathr$   r#   r   ro  ro    r8  r#   c                  (    t          j                    S r-   )r   selinux_colors_pathr$   r#   r   rq  rq    r  r#   c                  (    t          j                    S r-   )r   selinux_netfilter_context_pathr$   r#   r   rs  rs    r9  r#   c                  (    t          j                    S r-   )r   selinux_pathr$   r#   r   ru  ru    r!  r#   c                 0    t          j        | |||          S r-   )r   selinux_check_access)rq  rr  r   r  s       r   rw  rw    s    (tVTBBBr#   c                 *    t          j        |           S r-   )r   selinux_check_passwd_accessr   s    r   ry  ry    s    /	:::r#   c                 *    t          j        |           S r-   )r   checkPasswdAccessrz  s    r   r|  r|    s    %i000r#   c                 *    t          j        |           S r-   )r   selinux_check_securetty_context)tty_contexts    r   r~  r~     s    3K@@@r#   c                 *    t          j        |           S r-   )r   set_selinuxmnt)mnts    r   r  r    r  r#   c                  (    t          j                    S r-   )r   selinuxfs_existsr$   r#   r   r  r    r)  r#   c                  (    t          j                    S r-   )r   fini_selinuxmntr$   r#   r   r  r  	  r  r#   c                 ,    t          j        | |          S r-   )r   setexecfilecon)filenamefallback_types     r   r  r    s    "8];;;r#   c                 *    t          j        |           S r-   )r   is_context_customizable)scontexts    r   r  r    r0  r#   c                 *    t          j        |           S r-   )r   selinux_trans_to_raw_context)transs    r   r  r    s    0777r#   c                 *    t          j        |           S r-   )r   selinux_raw_to_trans_contextraws    r   r  r        0555r#   c                 *    t          j        |           S r-   )r   selinux_raw_context_to_colorr  s    r   r  r    r  r#   c                 *    t          j        |           S r-   )r   getseuserbyname)	linuxusers    r   r  r    s    #I...r#   c                 ,    t          j        | |          S r-   )r   	getseuser)r  services     r   r  r    s    h000r#   c                 ,    t          j        | |          S r-   )r   selinux_file_context_cmp)abs     r   r  r  !  s    ,Q222r#   c                 ,    t          j        | |          S r-   )r   selinux_file_context_verifyr  s     r   r  r  $  s    /d;;;r#   c                 *    t          j        |           S r-   )r   selinux_lsetfilecon_defaultr  s    r   r  r  '  r  r#   c                  (    t          j                    S r-   )r   selinux_reset_configr$   r#   r   r  r  *  r2  r#   )FFFr   )F(t  sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r*   r3   r   r5   rU   rA   DISABLED
PERMISSIVE	ENFORCINGrI   rR   rV   r\   objectr^   security_id_swigregisterr{   r   r   r   r   r   r   r   avc_entry_ref_swigregisterr    avc_memory_callback_swigregisterr   avc_log_callback_swigregisterr    avc_thread_callback_swigregisterr   avc_lock_callback_swigregisterAVC_OPT_UNUSEDAVC_OPT_SETENFORCEr   r   r   r   r   r   r   r   r   r   AVC_CALLBACK_GRANTAVC_CALLBACK_TRY_REVOKEAVC_CALLBACK_REVOKEAVC_CALLBACK_RESETAVC_CALLBACK_AUDITALLOW_ENABLEAVC_CALLBACK_AUDITALLOW_DISABLEAVC_CALLBACK_AUDITDENY_ENABLEAVC_CALLBACK_AUDITDENY_DISABLEAVC_CACHE_STATSr   avc_cache_stats_swigregisterr   r#  r%  r(  r+  r.  r1  r4  r7  r:  r<  r?  context_s_t_swigregisterrJ  rO  rQ  rS  rV  rY  r[  r]  rb  rd  rf  SELINUX_DEFAULTUSERrh  rm  rq  rs  ru  rx  rz  r}  r  r  SELABEL_CTX_FILESELABEL_CTX_MEDIASELABEL_CTX_XSELABEL_CTX_DBSELABEL_CTX_ANDROID_PROPSELABEL_CTX_ANDROID_SERVICESELABEL_OPT_UNUSEDSELABEL_OPT_VALIDATESELABEL_OPT_BASEONLYSELABEL_OPT_PATHSELABEL_OPT_SUBSETSELABEL_OPT_DIGESTSELABEL_NOPTr  r  r  r  r  r  r  r  r  r  SELABEL_SUBSETSELABEL_EQUALSELABEL_SUPERSETSELABEL_INCOMPARABLEr  r  SELABEL_X_PROPSELABEL_X_EXTSELABEL_X_CLIENTSELABEL_X_EVENTSELABEL_X_SELNSELABEL_X_POLYPROPSELABEL_X_POLYSELNSELABEL_DB_DATABASESELABEL_DB_SCHEMASELABEL_DB_TABLESELABEL_DB_COLUMNSELABEL_DB_SEQUENCESELABEL_DB_VIEWSELABEL_DB_PROCEDURESELABEL_DB_BLOBSELABEL_DB_TUPLESELABEL_DB_LANGUAGESELABEL_DB_EXCEPTIONSELABEL_DB_DATATYPEr  r@   r;   SELINUX_RESTORECON_NOCHANGEr?   r=   r>   SELINUX_RESTORECON_PROGRESSr<   SELINUX_RESTORECON_XDEVSELINUX_RESTORECON_ADD_ASSOC!SELINUX_RESTORECON_ABORT_ON_ERROR!SELINUX_RESTORECON_SYSLOG_CHANGESSELINUX_RESTORECON_LOG_MATCHES!SELINUX_RESTORECON_IGNORE_NOENTRY SELINUX_RESTORECON_IGNORE_MOUNTSSELINUX_RESTORECON_MASS_RELABELSELINUX_RESTORECON_SKIP_DIGEST!SELINUX_RESTORECON_CONFLICT_ERRORSELINUX_RESTORECON_COUNT_ERRORSr  r  r  r  MATCHNOMATCHDELETED_MATCHDELETED_NOMATCHERRORr  dir_xattr_swigregisterr   SELINUX_RESTORECON_XATTR_RECURSE0SELINUX_RESTORECON_XATTR_DELETE_NONMATCH_DIGESTS+SELINUX_RESTORECON_XATTR_DELETE_ALL_DIGESTS&SELINUX_RESTORECON_XATTR_IGNORE_MOUNTSr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r	  r  r  r  r  r  r  r  r  r  r!  rK   r$  r&  r)  r+  r-  r/  av_decision_swigregisterSELINUX_AVD_FLAGS_PERMISSIVErI  selinux_opt_swigregisterrU  selinux_callback_swigregisterSELINUX_CB_LOGSELINUX_CB_AUDITSELINUX_CB_VALIDATESELINUX_CB_SETENFORCESELINUX_CB_POLICYLOADrj  rl  SELINUX_ERRORSELINUX_WARNINGSELINUX_INFOSELINUX_AVCSELINUX_POLICYLOADSELINUX_SETENFORCESELINUX_TRANS_DIRro  rt  rv  rx  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  SELboolean_swigregisterr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  #security_class_mapping_swigregisterr  r  r  r  r  r  r  r   r  MATCHPATHCON_BASEONLYMATCHPATHCON_NOTRANSMATCHPATHCON_VALIDATEr  r  r  r  r  r  r  r  r  r  r  r"  r%  r'  r*  r,  r.  r2  r4  r6  r8  r;  r>  r@  rB  rD  rG  rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r_  ra  rc  re  rg  ri  rk  rm  ro  rq  rs  ru  rw  ry  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$   r#   r   <module>r     s   : 9 9 9 9 9 #//OOO"""""   [ [ [
 
 
    L L L L L$ L L L  				
	V V V V2? ? ? ?% % %
% % %
3 3 3 3 3& 3 3 3 " !+ . . ., , ,0 0 0, , ,0 0 0          . . .5 5 5 5 5F 5 5 5 $ #M 2 2 2; ; ; ; ;& ; ; ; * )*= > > >8 8 8 8 8v 8 8 8 ' &'7 8 8 8; ; ; ; ;& ; ; ; * )*= > > >
9 
9 
9 
9 
9 
9 
9 
9 ( '(9 : : :(0 h h h* * *" " "     " " "T T TG G GJ J J; ; ;; ; ;0 ": 2 0 !)!H "*"J  ( F !)!H *7 7 7 7 7f 7 7 7" & %o 6 6 6# # #$ $ $/ / /' ' '( ( (2 2 2+ + +- - -0 0 00 0 02 2 23 3 3 3 3& 3 3 3 " !+ . . .& & && & &' ' '+ + +, , ,+ + ++ + +1 1 12 2 21 1 11 1 12 < < <N N N7 7 7I I IG G GS S S) ) )4 4 40 0 0+ + +, . &(#< &B 0 4 4 , 0 0 $7 7 7* * *6 6 6: : :7 7 7g g gG G G> > >B B B0 0 0(&, 4 ( ( (* * *(&, *(0 0 2 . , . 2 *4 *, 2 4 2 C C CV V V#+#L  &B &.&R #%@ %@ &B &B ": 'D $,$N !$,$N !!)!H $,$N !#+#L  "*"J !)!H $,$N !"*"J : : :8 8 8: : :F F F

&*
1 
1 
1 
1 
1 
1 
1 
1   	 * * *P P P#+#L  3;3l 0.6.b +)1)X &< < <) ) )- - -  ! ! !     $ $ $# # #' ' '! ! !% % %! ! !% % %$ $ $( ( (% % %) ) ), , ,0 0 0& & &* * *- - -1 1 1' ' '+ + +. . .2 2 2% % %) ) )& & &* * *$ $ $( ( (* * *. . .+ + +/ / /) ) )- - -# # #' ' '3 3 3 3 3& 3 3 3 " !+ . . .'D 3 3 3 3 3& 3 3 3 " !+ . . .8 8 8 8 8v 8 8 8 ' &'7 8 8 8(, 2  6  6 / / /3 3 3&*$"0 0 . L L LP P PR R RV V V@ @ @D D DN N NR R RA A AE E E@ @ @D D D: : :> > >G G GK K K. . .7 7 7; ; ;9 9 9/ / /2 2 2 2 2 2 2 2 !   , , ,L L L1 1 10 0 04 4 47 7 7; ; ;* * */ / /. . ., , ,0 0 0' ' '* * *1 1 17 7 76 6 66 6 6/ / /> > > > >V > > > - ,-C D D D- - -1 1 13 3 32 2 2= = =4 4 43 3 34 4 40 0 0 6 4  6 2 2 2, , ,; ; ;( ( (< < <- - -3 3 3B B B4 4 41 1 13 3 3) ) )- - -6 6 6, , ,* * *6 6 62 2 21 1 14 4 45 5 53 3 31 1 10 0 08 8 86 6 65 5 5: : :3 3 31 1 1: : :9 9 90 0 0- - -3 3 33 3 34 4 45 5 54 4 4, , ,3 3 31 1 1, , ,6 6 6) ) )- - -0 0 0* * *5 5 5# # #C C C; ; ;1 1 1A A A( ( (' ' '& & &< < <6 6 68 8 86 6 66 6 6/ / /1 1 13 3 3< < <6 6 6+ + + + +s    	**