a wÒg ™ã@sšddlmZedkredƒ‚es(devr6ddlmZnddlZz ddlZ Wne ydddl Z Yn0dd „Z d d „Z d d „Z dd„ZGdd„deƒZddlZddlZdZdZdZ�ddd„Z�ddd„Zdd„Zdd„ZGdd„deƒZe e¡dd„Zd d!„Zd"d#„Zd$d%„Z d&d'„Z!d(d)„Z"d*d+„Z#Gd,d-„d-eƒZ$e %e$¡Gd.d/„d/eƒZ&e 'e&¡Gd0d1„d1eƒZ(e )e(¡Gd2d3„d3eƒZ*e +e*¡Gd4d5„d5eƒZ,e -e,¡ej.Z.ej/Z/d6d7„Z0d8d9„Z1d:d;„Z2dd?„Z4d@dA„Z5dBdC„Z6dDdE„Z7dFdG„Z8dHdI„Z9ej:Z:ej;Z;ejZ>ej?Z?ej@Z@ejAZAejBZBGdJdK„dKeƒZCe DeC¡dLdM„ZEdNdO„ZFdPdQ„ZGdRdS„ZHdTdU„ZIdVdW„ZJdXdY„ZKdZd[„ZLd\d]„ZMd^d_„ZNd`da„ZOGdbdc„dceƒZPe QeP¡ddde„ZRdfdg„ZSdhdi„ZTdjdk„ZUdldm„ZVdndo„ZWdpdq„ZXdrds„ZYdtdu„ZZdvdw„Z[dxdy„Z\ej]Z]dzd{„Z^d|d}„Z_d~d„Z`d€d�„Zad‚dƒ„Zbd„d…„Zcd†d‡„Zddˆd‰„ZedŠd‹„ZfdŒd�„ZgejhZhejiZiejjZjejkZkejlZlejmZmejnZnejoZoejpZpejqZqejrZrejsZsejtZtdŽd�„Zud�d‘„Zvd’d“„Zwd”d•„Zxd–d—„Zyd˜d™„Zzdšd›„Z{dœd�„Z|dždŸ„Z}d d¡„Z~ejZej€Z€ej�Z�ej‚Z‚d¢d£„Zƒd¤d¥„Z„ej…Z…ej†Z†ej‡Z‡ejˆZˆej‰Z‰ejŠZŠej‹Z‹ejŒZŒej�Z�ejŽZŽej�Z�ej�Z�ej‘Z‘ej’Z’ej“Z“ej”Z”ej•Z•ej–Z–ej—Z—d¦d§„Z˜d¨d©„Z™ejšZšej›Z›ejœZœej�Z�ejžZžejŸZŸej Z ej¡Z¡ej¢Z¢ej£Z£ej¤Z¤ej¥Z¥ej¦Z¦ej§Z§ej¨Z¨ej©Z©ejªZªej«Z«dªd«„Z¬d¬d­„Z­d®d¯„Z®d°d±„Z¯ej°Z°ej±Z±ej²Z²ej³Z³ej´Z´Gd²d³„d³eƒZµe ¶eµ¡d´dµ„Z·ej¸Z¸ej¹Z¹ejºZºej»Z»d¶d·„Z¼d¸d¹„Z½dºd»„Z¾d¼d½„Z¿d¾d¿„ZÀdÀdÁ„ZÁdÂdÄZÂdÄdÅ„ZÃdÆdÇ„ZÄdÈdÉ„ZÅdÊdË„ZÆdÌdÍ„ZÇdÎdÏ„ZÈdÐdÑ„ZÉdÒdÓ„ZÊdÔdÕ„ZËdÖdׄZÌdØdÙ„ZÍdÚdÛ„ZÎdÜdÝ„ZÏdÞdß„ZÐdàdá„ZÑdâdã„ZÒdädå„ZÓdædç„ZÔdèdé„ZÕdêdë„ZÖdìdí„Z×dîdï„ZØdðdñ„ZÙdòdó„ZÚdôdõ„ZÛdöd÷„ZÜdødù„ZÝdúdû„ZÞdüdý„Zßdþdÿ„Zà�d�d„Zá�d�d„Zâ�d�d„Zã�d�d„Zä�d�d „Zå�d �d „ZæG�d �d „�d eƒZçe èeç¡ejéZéG�d�d„�deƒZêe ëeê¡G�d�d„�deƒZìe íeì¡ejîZîejïZïejðZðejñZñejòZò�d�d„Zó�d�d„ZôejõZõejöZöej÷Z÷ejøZøejùZùejúZúejûZû�d�d„Zü�d�d„Zý�d�d„Zþ�d�d„Zÿ�d�d„�Z�d �d!„�Z�d"�d#„�Z�d$�d%„�Z�d&�d'„�Z�d(�d)„�Z�d*�d+„�Z�d,�d-„�Z�d.�d/„�Z�d0�d1„�Z �d2�d3„�Z �d4�d5„�Z �d6�d7„�Z �d8�d9„�Z �d:�d;„�Z�d<�d=„�Z�d>�d?„�ZG�d@�dA„�dAeƒ�Ze� �e¡�dB�dC„�Z�dD�dE„�Z�dF�dG„�Z�dH�dI„�Z�dJ�dK„�Z�dL�dM„�Z�dN�dO„�Z�dP�dQ„�Z�dR�dS„�Z�dT�dU„�Z�dV�dW„�Z�dX�dY„�Z�dZ�d[„�Z�d\�d]„�Z �d^�d_„�Z!�d`�da„�Z"�db�dc„�Z#�dd�de„�Z$G�df�dg„�dgeƒ�Z%e� &�e%¡�dh�di„�Z'�dj�dk„�Z(�dl�dm„�Z)�dn�do„�Z*�dp�dq„�Z+�dr�ds„�Z,�dt�du„�Z-�dv�dw„�Z.�dx�dy„�Z/e�j0�Z0e�j1�Z1e�j2�Z2�dz�d{„�Z3�d|�d}„�Z4�d~�d„�Z5�d€�d�„�Z6�d‚�dƒ„�Z7�d„�d…„�Z8�d†�d‡„�Z9�dˆ�d‰„�Z:�dŠ�d‹„�Z;�dŒ�d�„�Z<�dŽ�d�„�Z=�d��d‘„�Z>�d’�d“„�Z?�d”�d•„�Z@�d–�d—„�ZA�d˜�d™„�ZB�dš�d›„�ZC�dœ�d�„�ZD�dž�dŸ„�ZE�d �d¡„�ZF�d¢�d£„�ZG�d¤�d¥„�ZH�d¦�d§„�ZI�d¨�d©„�ZJ�dª�d«„�ZK�d¬�d­„�ZL�d®�d¯„�ZM�d°�d±„�ZN�d²�d³„�ZO�d´�dµ„�ZP�d¶�d·„�ZQ�d¸�d¹„�ZR�dº�d»„�ZS�d¼�d½„�ZT�d¾�d¿„�ZU�dÀ�dÁ„�ZV�dÂ�dÄ�ZW�dÄ�dÅ„�ZX�dÆ�dÇ„�ZY�dÈ�dÉ„�ZZ�dÊ�dË„�Z[�dÌ�dÍ„�Z\�dÎ�dÏ„�Z]�dÐ�dÑ„�Z^�dÒ�dÓ„�Z_�dÔ�dÕ„�Z`�dÖ�dׄ�Za�dØ�dÙ„�Zb�dÚ�dÛ„�Zc�dÜ�dÝ„�Zd�dÞ�dß„�Ze�dà�dá„�Zf�dâ�dã„�Zg�dä�då„�Zh�dæ�dç„�Zi�dè�dé„�Zj�dê�dë„�Zk�dì�dí„�Zl�dî�dï„�Zm�dð�dñ„�Zn�dò�dó„�Zo�dô�dõ„�Zp�dö�d÷„�Zq�dø�dù„�Zr�dú�dû„�Zs�dü�dý„�Zt�dþ�dÿ„�Zu�d�d„�ZvdS(é)Ú version_info)éérzPython 2.7 or later requiredÚ.é)Ú_selinuxNcCsBzd|j ¡}Wntjy*d}Yn0d|jj|jj|fS)Nz proxy of Úz <%s.%s; %s >)ÚthisÚ__repr__Ú __builtin__Ú ExceptionÚ __class__Ú __module__Ú__name__)ÚselfZstrthis©rú6/usr/lib64/python3.9/site-packages/selinux/__init__.pyÚ _swig_reprs  rcs‡fdd„}|S)Ncsh|dkr|j |¡nN|dkr,ˆ|||ƒn8t||ƒrXttt|ƒ|ƒtƒrXˆ|||ƒn td|ƒ‚dS)NÚthisownr z(You cannot add instance attributes to %s)r ÚownÚhasattrÚ isinstanceÚgetattrÚtypeÚpropertyÚAttributeError)rÚnameÚvalue©ÚsetrrÚset_instance_attrszE_swig_setattr_nondynamic_instance_variable..set_instance_attrr)rr rrrÚ*_swig_setattr_nondynamic_instance_variables r!cs‡fdd„}|S)Ncs8t||ƒr(tt||ƒtƒs(ˆ|||ƒn td|ƒ‚dS)Nz%You cannot add class attributes to %s)rrrrr)ÚclsrrrrrÚset_class_attr,sz?_swig_setattr_nondynamic_class_variable..set_class_attrr)rr#rrrÚ'_swig_setattr_nondynamic_class_variable+s r$cs‡fdd„}|S)zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclasscsˆ|j|j|j ¡ƒS©N)rÚ __bases__Ú__dict__Úcopy©r"©Ú metaclassrrÚwrapper6sz$_swig_add_metaclass..wrapperr)r+r,rr*rÚ_swig_add_metaclass4s r-c@seZdZdZeejƒZdS)Ú_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classN)rrÚ __qualname__Ú__doc__r$rÚ __setattr__rrrrr.;sr.éÿÿÿÿFcCsDttB}|r|tO}|r |tO}|r,|tO}ttj |¡||ƒdS)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)r:Ú recursiveÚverboseÚforceÚnthreadsÚrestorecon_flagsrrrÚ restoreconIsrAcCsJt||ƒ|rFt |¡D],\}}}||D]}ttj ||¡|ƒq*qdS)z) Set the SELinux context on a given path N)Ú lsetfileconr9Úwalkr:Újoin)r:Úcontextr<ÚrootÚdirsÚfilesrrrrÚchconbs   rIcCst ||¡t|dd�dS)z, An SELinux-friendly shutil.copytree method T©r<N)ÚshutilÚcopytreerA©ÚsrcÚdestrrrrLjs rLcCst ||¡t|dd�dS)z( An SELinux-friendly shutil.move method TrJN)rKÚmoverArMrrrÚinstallos rQc@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Ú security_idcCs |j ¡Sr%©r r©ÚxrrrÚuózsecurity_id.cCs |j |¡Sr%rS©rUÚvrrrrVurWúThe membership flag©ÚdoccCst |t ¡¡dSr%)rZsecurity_id_swiginitZnew_security_id©rrrrÚ__init__zszsecurity_id.__init__N)rrr/rrrr rZsecurity_id_ctx_getZsecurity_id_ctx_setÚctxZsecurity_id_refcnt_getZsecurity_id_refcnt_setZrefcntr^Zdelete_security_idÚ__swig_destroy__rrrrrRts rRcCs t |¡Sr%)rÚavc_sid_to_context©Zsidrrrra‚sracCs t |¡Sr%)rÚavc_sid_to_context_rawrbrrrrc…srccCs t |¡Sr%)rÚavc_context_to_sid©r_rrrrdˆsrdcCs t |¡Sr%)rÚavc_context_to_sid_rawrerrrrf‹srfcCs t |¡Sr%)rÚsidgetrbrrrrgŽsrgcCs t |¡Sr%)rÚsidputrbrrrrh‘srhcCs t |¡Sr%)rÚavc_get_initial_sid©rrrrri”sric@sBeZdZedd„dd„dd�ZeZeejej ƒZ dd„Z ej Z dS) Ú avc_entry_refcCs |j ¡Sr%rSrTrrrrV—rWzavc_entry_ref.cCs |j |¡Sr%rSrXrrrrV—rWrZr[cCst |t ¡¡dSr%)rZavc_entry_ref_swiginitZnew_avc_entry_refr]rrrr^›szavc_entry_ref.__init__N)rrr/rrrr rZavc_entry_ref_ae_getZavc_entry_ref_ae_setZaer^Zdelete_avc_entry_refr`rrrrrk–s rkc@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Úavc_memory_callbackcCs |j ¡Sr%rSrTrrrrV£rWzavc_memory_callback.cCs |j |¡Sr%rSrXrrrrV£rWrZr[cCst |t ¡¡dSr%)rZavc_memory_callback_swiginitZnew_avc_memory_callbackr]rrrr^¨szavc_memory_callback.__init__N)rrr/rrrr rZ#avc_memory_callback_func_malloc_getZ#avc_memory_callback_func_malloc_setZ func_mallocZ!avc_memory_callback_func_free_getZ!avc_memory_callback_func_free_setZ func_freer^Zdelete_avc_memory_callbackr`rrrrrl¢s rlc@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Úavc_log_callbackcCs |j ¡Sr%rSrTrrrrV°rWzavc_log_callback.cCs |j |¡Sr%rSrXrrrrV°rWrZr[cCst |t ¡¡dSr%)rZavc_log_callback_swiginitZnew_avc_log_callbackr]rrrr^µszavc_log_callback.__init__N)rrr/rrrr rZavc_log_callback_func_log_getZavc_log_callback_func_log_setÚfunc_logZavc_log_callback_func_audit_getZavc_log_callback_func_audit_setÚ func_auditr^Zdelete_avc_log_callbackr`rrrrrm¯s rmc@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Úavc_thread_callbackcCs |j ¡Sr%rSrTrrrrV½rWzavc_thread_callback.cCs |j |¡Sr%rSrXrrrrV½rWrZr[cCst |t ¡¡dSr%)rZavc_thread_callback_swiginitZnew_avc_thread_callbackr]rrrr^Âszavc_thread_callback.__init__N)rrr/rrrr rZ*avc_thread_callback_func_create_thread_getZ*avc_thread_callback_func_create_thread_setZfunc_create_threadZ(avc_thread_callback_func_stop_thread_getZ(avc_thread_callback_func_stop_thread_setZfunc_stop_threadr^Zdelete_avc_thread_callbackr`rrrrrp¼s rpc@sleZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ eejejƒZeejejƒZdd„ZejZdS) Úavc_lock_callbackcCs |j ¡Sr%rSrTrrrrVÊrWzavc_lock_callback.cCs |j |¡Sr%rSrXrrrrVÊrWrZr[cCst |t ¡¡dSr%)rZavc_lock_callback_swiginitZnew_avc_lock_callbackr]rrrr^Ñszavc_lock_callback.__init__N)rrr/rrrr rZ%avc_lock_callback_func_alloc_lock_getZ%avc_lock_callback_func_alloc_lock_setZfunc_alloc_lockZ#avc_lock_callback_func_get_lock_getZ#avc_lock_callback_func_get_lock_setZ func_get_lockZ'avc_lock_callback_func_release_lock_getZ'avc_lock_callback_func_release_lock_setZfunc_release_lockZ$avc_lock_callback_func_free_lock_getZ$avc_lock_callback_func_free_lock_setZfunc_free_lockr^Zdelete_avc_lock_callbackr`rrrrrqÉsrqcCst |||||¡Sr%)rÚavc_init)Z msgprefixZ mem_callbacksZ log_callbacksZthread_callbacksZlock_callbacksrrrrrÛsrrcCs t ||¡Sr%)rÚavc_open)ÚoptsÚnoptsrrrrsÞsrscCst ¡Sr%)rÚ avc_cleanuprrrrrvásrvcCst ¡Sr%)rÚ avc_resetrrrrrwäsrwcCst ¡Sr%)rÚ avc_destroyrrrrrxçsrxcCst ||||||¡Sr%)rÚavc_has_perm_noaudit)ÚssidÚtsidÚtclassÚ requestedÚaerefÚavdrrrryêsrycCst |||||¡Sr%)rÚ avc_has_perm)rzr{r|r}r~rrrr€ísr€cCst ||||||¡Sr%)rÚ avc_audit)rzr{r|r}rÚresultrrrr�ðsr�cCst |||¡Sr%)rÚavc_compute_create©rzr{r|rrrrƒósrƒcCst |||¡Sr%)rÚavc_compute_memberr„rrrr…ösr…c@s¤eZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ eejejƒZeejejƒZeejejƒZeejejƒZeejejƒZeejejƒZdd„Z ej!Z"dS) Úavc_cache_statscCs |j ¡Sr%rSrTrrrrVrWzavc_cache_stats.cCs |j |¡Sr%rSrXrrrrVrWrZr[cCst |t ¡¡dSr%)rZavc_cache_stats_swiginitZnew_avc_cache_statsr]rrrr^ szavc_cache_stats.__init__N)#rrr/rrrr rZ!avc_cache_stats_entry_lookups_getZ!avc_cache_stats_entry_lookups_setZ entry_lookupsZavc_cache_stats_entry_hits_getZavc_cache_stats_entry_hits_setZ entry_hitsZ avc_cache_stats_entry_misses_getZ avc_cache_stats_entry_misses_setZ entry_missesZ"avc_cache_stats_entry_discards_getZ"avc_cache_stats_entry_discards_setZentry_discardsZavc_cache_stats_cav_lookups_getZavc_cache_stats_cav_lookups_setZ cav_lookupsZavc_cache_stats_cav_hits_getZavc_cache_stats_cav_hits_setZcav_hitsZavc_cache_stats_cav_probes_getZavc_cache_stats_cav_probes_setZ cav_probesZavc_cache_stats_cav_misses_getZavc_cache_stats_cav_misses_setZ cav_missesr^Zdelete_avc_cache_statsr`rrrrr†sr†cCst ¡Sr%)rÚ avc_av_statsrrrrr‡sr‡cCst ¡Sr%)rÚ avc_sid_statsrrrrrˆsrˆcCs t |¡Sr%)rÚavc_netlink_open)Úblockingrrrr‰sr‰cCst ¡Sr%)rÚavc_netlink_looprrrrr‹sr‹cCst ¡Sr%)rÚavc_netlink_closerrrrrŒ!srŒcCs t |¡Sr%)rÚselinux_status_open)Úfallbackrrrr�$sr�cCst ¡Sr%)rÚselinux_status_closerrrrr�'sr�cCst ¡Sr%)rÚselinux_status_updatedrrrrr�*sr�cCst ¡Sr%)rÚselinux_status_getenforcerrrrr‘-sr‘cCst ¡Sr%)rÚselinux_status_policyloadrrrrr’0sr’cCst ¡Sr%)rÚselinux_status_deny_unknownrrrrr“3sr“c@sBeZdZedd„dd„dd�ZeZeejej ƒZ dd„Z ej Z dS) Ú context_s_tcCs |j ¡Sr%rSrTrrrrV6rWzcontext_s_t.cCs |j |¡Sr%rSrXrrrrV6rWrZr[cCst |t ¡¡dSr%)rZcontext_s_t_swiginitZnew_context_s_tr]rrrr^:szcontext_s_t.__init__N)rrr/rrrr rZcontext_s_t_ptr_getZcontext_s_t_ptr_setZptrr^Zdelete_context_s_tr`rrrrr”5s r”cCs t |¡Sr%)rÚ context_new©Ústrrrrr•Bsr•cCs t |¡Sr%)rÚ context_str©Úconrrrr˜Esr˜cCs t |¡Sr%)rÚ context_freer™rrrr›Hsr›cCs t |¡Sr%)rÚcontext_type_getr™rrrrœKsrœcCs t |¡Sr%)rÚcontext_range_getr™rrrr�Nsr�cCs t |¡Sr%)rÚcontext_role_getr™rrrržQsržcCs t |¡Sr%)rÚcontext_user_getr™rrrrŸTsrŸcCs t ||¡Sr%)rÚcontext_type_set)ršrrrrr Wsr cCs t ||¡Sr%)rÚcontext_range_set)ršÚrangerrrr¡Zsr¡cCs t ||¡Sr%)rÚcontext_role_set)ršÚrolerrrr£]sr£cCs t ||¡Sr%)rÚcontext_user_set)ršÚuserrrrr¥`sr¥cCs t ||¡Sr%)rÚget_ordered_context_list©r¦Úfromconrrrr§dsr§cCst |||¡Sr%)rÚ#get_ordered_context_list_with_level©r¦Úlevelr©rrrrªgsrªcCs t ||¡Sr%)rÚget_default_contextr¨rrrr­jsr­cCst |||¡Sr%)rÚget_default_context_with_levelr«rrrr®msr®cCst |||¡Sr%)rÚget_default_context_with_role)r¦r¤r©rrrr¯psr¯cCst ||||¡Sr%)rÚ"get_default_context_with_rolelevel)r¦r¤r¬r©rrrr°ssr°cCst ¡Sr%)rÚquery_user_contextrrrrr±vsr±cCs t |¡Sr%)rÚmanual_user_enter_context)r¦rrrr²ysr²cCst ¡Sr%)rÚselinux_default_type_pathrrrrr³|sr³cCs t |¡Sr%)rÚget_default_type)r¤rrrr´sr´cCst |||¡Sr%)rÚ selabel_open)Zbackendrtrurrrrµ�srµcCs t |¡Sr%)rÚ selabel_close©Úhandlerrrr¶’sr¶cCst |||¡Sr%)rÚselabel_lookup©r¸Úkeyrrrrr¹•sr¹cCst |||¡Sr%)rÚselabel_lookup_rawrºrrrr¼˜sr¼cCs t ||¡Sr%)rÚselabel_partial_match)r¸r»rrrr½›sr½cCst ||||¡Sr%)rÚ'selabel_get_digests_all_partial_matches)Úrecr»Zcalculated_digestZ xattr_digestrrrr¾žsr¾cCst |||¡Sr%)rÚ selabel_hash_all_partial_matches)r¿r»ÚdigestrrrrÀ¡srÀcCst |||¡Sr%)rÚselabel_lookup_best_match©r¿r»rrrrr¤srÂcCst |||¡Sr%)rÚselabel_lookup_best_match_rawrÃrrrrħsrÄcCs t ||¡Sr%)rÚselabel_digest)r¿rÁrrrrŪsrÅcCs t ||¡Sr%)rÚ selabel_cmp)Zh1Zh2rrrrƱsrÆcCs t |¡Sr%)rÚ selabel_statsr·rrrrÇ´srÇcCs t ||¡Sr%)rÚselinux_restorecon)Úpathnamer@rrrrÈÊsrÈcCst |||¡Sr%)rr8)rÉr@r?rrrr8Ísr8cCs t |¡Sr%)rÚselinux_restorecon_set_sehandle)ZhndlrrrrÊâsrÊcCst ¡Sr%)rÚ!selinux_restorecon_default_handlerrrrrËåsrËcCst ¡Sr%)rÚ#selinux_restorecon_set_exclude_listrrrrrÌèsrÌcCs t |¡Sr%)rÚ#selinux_restorecon_set_alt_rootpath)Z alt_rootpathrrrrÍësrÍc@sleZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ eejejƒZeejejƒZdd„ZejZdS) Ú dir_xattrcCs |j ¡Sr%rSrTrrrrVórWzdir_xattr.cCs |j |¡Sr%rSrXrrrrVórWrZr[cCst |t ¡¡dSr%)rZdir_xattr_swiginitZ new_dir_xattrr]rrrr^úszdir_xattr.__init__N)rrr/rrrr rZdir_xattr_directory_getZdir_xattr_directory_setZ directoryZdir_xattr_digest_getZdir_xattr_digest_setrÁZdir_xattr_result_getZdir_xattr_result_setr‚Zdir_xattr_next_getZdir_xattr_next_setÚnextr^Zdelete_dir_xattrr`rrrrrÎòsrÎcCst |||¡Sr%)rÚselinux_restorecon_xattr)rÉZ xattr_flagsZ xattr_listrrrrÐsrÐcCst ¡Sr%)rÚ%selinux_restorecon_get_skipped_errorsrrrrrÑ srÑcCst ¡Sr%)rÚis_selinux_enabledrrrrrÒ srÒcCst ¡Sr%)rÚis_selinux_mls_enabledrrrrrÓsrÓcCst ¡Sr%)rÚgetconrrrrrÔsrÔcCst ¡Sr%)rÚ getcon_rawrrrrrÕsrÕcCs t |¡Sr%)rÚsetconr™rrrrÖsrÖcCs t |¡Sr%)rÚ setcon_rawr™rrrr×sr×cCs t |¡Sr%)rÚ getpidcon©ÚpidrrrrØsrØcCs t |¡Sr%)rÚ getpidcon_rawrÙrrrrÛ!srÛcCst ¡Sr%)rÚ getprevconrrrrrÜ$srÜcCst ¡Sr%)rÚgetprevcon_rawrrrrrÝ'srÝcCs t |¡Sr%)rÚ getpidprevconrÙrrrrÞ*srÞcCs t |¡Sr%)rÚgetpidprevcon_rawrÙrrrrß-srßcCst ¡Sr%)rÚ getexecconrrrrrà0sràcCst ¡Sr%)rÚgetexeccon_rawrrrrrá3srácCs t |¡Sr%)rÚ setexecconr™rrrrâ6srâcCs t |¡Sr%)rÚsetexeccon_rawr™rrrrã9srãcCst ¡Sr%)rÚgetfscreateconrrrrrä<sräcCst ¡Sr%)rÚgetfscreatecon_rawrrrrrå?sråcCs t |¡Sr%)rÚsetfscreatecon©rErrrræBsræcCs t |¡Sr%)rÚsetfscreatecon_rawrçrrrrèEsrècCst ¡Sr%)rÚgetkeycreateconrrrrréHsrécCst ¡Sr%)rÚgetkeycreatecon_rawrrrrrêKsrêcCs t |¡Sr%)rÚsetkeycreateconrçrrrrëNsrëcCs t |¡Sr%)rÚsetkeycreatecon_rawrçrrrrìQsrìcCst ¡Sr%)rÚgetsockcreateconrrrrríTsrícCst ¡Sr%)rÚgetsockcreatecon_rawrrrrrîWsrîcCs t |¡Sr%)rÚsetsockcreateconrçrrrrïZsrïcCs t |¡Sr%)rÚsetsockcreatecon_rawrçrrrrð]srðcCs t |¡Sr%)rÚ getfilecon©r:rrrrñ`srñcCs t |¡Sr%)rÚgetfilecon_rawròrrrrócsrócCs t |¡Sr%)rÚ lgetfileconròrrrrôfsrôcCs t |¡Sr%)rÚlgetfilecon_rawròrrrrõisrõcCs t |¡Sr%)rÚ fgetfilecon©ÚfdrrrrölsröcCs t |¡Sr%)rÚfgetfilecon_rawr÷rrrrùosrùcCs t ||¡Sr%)rÚ setfilecon©r:ršrrrrúrsrúcCs t ||¡Sr%)rÚsetfilecon_rawrûrrrrüusrücCs t ||¡Sr%)rrBrûrrrrBxsrBcCs t ||¡Sr%)rÚlsetfilecon_rawrûrrrrý{srýcCs t ||¡Sr%)rÚ fsetfilecon©røršrrrrþ~srþcCs t ||¡Sr%)rÚfsetfilecon_rawrÿrrrr�srcCs t |¡Sr%)rÚ getpeerconr÷rrrr„srcCs t |¡Sr%)rÚgetpeercon_rawr÷rrrr‡src@sˆeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ eejejƒZeejejƒZeejejƒZeejejƒZdd„ZejZdS) Ú av_decisioncCs |j ¡Sr%rSrTrrrrVŠrWzav_decision.cCs |j |¡Sr%rSrXrrrrVŠrWrZr[cCst |t ¡¡dSr%)rZav_decision_swiginitZnew_av_decisionr]rrrr^“szav_decision.__init__N)rrr/rrrr rZav_decision_allowed_getZav_decision_allowed_setÚallowedZav_decision_decided_getZav_decision_decided_setZdecidedZav_decision_auditallow_getZav_decision_auditallow_setZ auditallowZav_decision_auditdeny_getZav_decision_auditdeny_setZ auditdenyZav_decision_seqno_getZav_decision_seqno_setZseqnoZav_decision_flags_getZav_decision_flags_setÚflagsr^Zdelete_av_decisionr`rrrrr‰src@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Ú selinux_optcCs |j ¡Sr%rSrTrrrrVœrWzselinux_opt.cCs |j |¡Sr%rSrXrrrrVœrWrZr[cCst |t ¡¡dSr%)rZselinux_opt_swiginitZnew_selinux_optr]rrrr^¡szselinux_opt.__init__N)rrr/rrrr rZselinux_opt_type_getZselinux_opt_type_setrZselinux_opt_value_getZselinux_opt_value_setrr^Zdelete_selinux_optr`rrrrr›s rc@szeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ eejejƒZeejejƒZeejejƒZdd„ZejZdS) Úselinux_callbackcCs |j ¡Sr%rSrTrrrrV©rWzselinux_callback.cCs |j |¡Sr%rSrXrrrrV©rWrZr[cCst |t ¡¡dSr%)rZselinux_callback_swiginitZnew_selinux_callbackr]rrrr^±szselinux_callback.__init__N)rrr/rrrr rZselinux_callback_func_log_getZselinux_callback_func_log_setrnZselinux_callback_func_audit_getZselinux_callback_func_audit_setroZ"selinux_callback_func_validate_getZ"selinux_callback_func_validate_setZ func_validateZ$selinux_callback_func_setenforce_getZ$selinux_callback_func_setenforce_setZfunc_setenforceZ$selinux_callback_func_policyload_getZ$selinux_callback_func_policyload_setZfunc_policyloadr^Zdelete_selinux_callbackr`rrrrr¨srcCs t |¡Sr%)rÚselinux_get_callback)rrrrr¾srcCs t ||¡Sr%)rÚselinux_set_callback)rÚcbrrrr Ásr cCst |||||¡Sr%)rÚsecurity_compute_av©ÚsconÚtconr|r}rrrrr Ësr cCst |||||¡Sr%)rÚsecurity_compute_av_rawr rrrrÎsrcCst |||||¡Sr%)rÚsecurity_compute_av_flagsr rrrrÑsrcCst |||||¡Sr%)rÚsecurity_compute_av_flags_rawr rrrrÔsrcCst |||¡Sr%)rÚsecurity_compute_create©r rr|rrrr×srcCst |||¡Sr%)rÚsecurity_compute_create_rawrrrrrÚsrcCst ||||¡Sr%)rÚsecurity_compute_create_name©r rr|ZobjnamerrrrÝsrcCst ||||¡Sr%)rÚ security_compute_create_name_rawrrrrràsrcCst |||¡Sr%)rÚsecurity_compute_relabelrrrrrãsrcCst |||¡Sr%)rÚsecurity_compute_relabel_rawrrrrræsrcCst |||¡Sr%)rÚsecurity_compute_memberrrrrrésrcCst |||¡Sr%)rÚsecurity_compute_member_rawrrrrrìsrcCs t ||¡Sr%)rÚsecurity_compute_user©r ÚusernamerrrrïsrcCs t ||¡Sr%)rÚsecurity_compute_user_rawrrrrròsrcCst ||||¡Sr%)rÚsecurity_validatetrans©r rr|Znewconrrrr õsr cCst ||||¡Sr%)rÚsecurity_validatetrans_rawr!rrrr"øsr"cCs t |¡Sr%)rÚsecurity_load_policy)Úlenrrrr#ûsr#cCs t |¡Sr%)rÚsecurity_get_initial_contextrjrrrr%þsr%cCs t |¡Sr%)rÚ security_get_initial_context_rawrjrrrr&sr&cCs t |¡Sr%)rÚselinux_mkload_policy)Z preserveboolsrrrr'sr'cCst ¡Sr%)rÚselinux_init_load_policyrrrrr(sr(c@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Ú SELbooleancCs |j ¡Sr%rSrTrrrrV rWzSELboolean.cCs |j |¡Sr%rSrXrrrrV rWrZr[cCst |t ¡¡dSr%)rZSELboolean_swiginitZnew_SELbooleanr]rrrr^szSELboolean.__init__N)rrr/rrrr rZSELboolean_name_getZSELboolean_name_setrZSELboolean_value_getZSELboolean_value_setrr^Zdelete_SELbooleanr`rrrrr) s r)cCst |||¡Sr%)rÚsecurity_set_boolean_list)ZboolcntZboollistZ permanentrrrr*sr*cCs t |¡Sr%)rÚsecurity_load_booleansròrrrr+sr+cCs t |¡Sr%)rÚsecurity_check_contextr™rrrr,sr,cCs t |¡Sr%)rÚsecurity_check_context_rawr™rrrr- sr-cCs t |¡Sr%)rÚsecurity_canonicalize_contextr™rrrr.#sr.cCs t |¡Sr%)rÚ!security_canonicalize_context_rawr™rrrr/&sr/cCst ¡Sr%)rÚsecurity_getenforcerrrrr0)sr0cCs t |¡Sr%)rÚsecurity_setenforce)rrrrr1,sr1cCst ¡Sr%)rÚsecurity_reject_unknownrrrrr2/sr2cCst ¡Sr%)rÚsecurity_deny_unknownrrrrr32sr3cCst ¡Sr%)rÚsecurity_get_checkreqprotrrrrr45sr4cCst ¡Sr%)rÚsecurity_disablerrrrr58sr5cCst ¡Sr%)rÚsecurity_policyversrrrrr6;sr6cCst ¡Sr%)rÚsecurity_get_boolean_namesrrrrr7>sr7cCs t |¡Sr%)rÚsecurity_get_boolean_pendingrjrrrr8Asr8cCs t |¡Sr%)rÚsecurity_get_boolean_activerjrrrr9Dsr9cCs t ||¡Sr%)rÚsecurity_set_boolean)rrrrrr:Gsr:cCst ¡Sr%)rÚsecurity_commit_booleansrrrrr;Jsr;c@sPeZdZedd„dd„dd�ZeZeejej ƒZ eej ej ƒZ dd„ZejZdS) Úsecurity_class_mappingcCs |j ¡Sr%rSrTrrrrVMrWzsecurity_class_mapping.cCs |j |¡Sr%rSrXrrrrVMrWrZr[cCst |t ¡¡dSr%)rZsecurity_class_mapping_swiginitZnew_security_class_mappingr]rrrr^Rszsecurity_class_mapping.__init__N)rrr/rrrr rZsecurity_class_mapping_name_getZsecurity_class_mapping_name_setrZ security_class_mapping_perms_getZ security_class_mapping_perms_setZpermsr^Zdelete_security_class_mappingr`rrrrr<Ls r<cCs t |¡Sr%)rÚselinux_set_mapping)Úmaprrrr=Zsr=cCs t |¡Sr%)rÚmode_to_security_class)Úmoderrrr?]sr?cCs t |¡Sr%)rÚstring_to_security_classrjrrrrA`srAcCs t |¡Sr%)rÚsecurity_class_to_stringr)rrrrBcsrBcCs t ||¡Sr%)rÚsecurity_av_perm_to_string)r|ÚpermrrrrCfsrCcCs t ||¡Sr%)rÚstring_to_av_perm)r|rrrrrEisrEcCs t ||¡Sr%)rÚsecurity_av_string©r|ÚavrrrrFlsrFcCs t ||¡Sr%)rÚprint_access_vectorrGrrrrIosrIcCst ¡Sr%)rÚselinux_flush_class_cacherrrrrJrsrJcCs t |¡Sr%)rÚset_matchpathcon_flags)rrrrrKxsrKcCs t |¡Sr%)rÚmatchpathcon_initròrrrrL{srLcCs t ||¡Sr%)rÚmatchpathcon_init_prefix)r:ÚprefixrrrrM~srMcCst ¡Sr%)rÚmatchpathcon_finirrrrrO�srOcCs t ||¡Sr%)rÚrealpath_not_final)rÚ resolved_pathrrrrP„srPcCs t ||¡Sr%)rÚ matchpathcon©r:r@rrrrR‡srRcCs t ||¡Sr%)rÚmatchpathcon_indexrSrrrrTŠsrTcCst |||¡Sr%)rÚmatchpathcon_filespec_add)ÚinoZspecindÚfilerrrrU�srUcCst ¡Sr%)rÚmatchpathcon_filespec_destroyrrrrrX�srXcCst ¡Sr%)rÚmatchpathcon_filespec_evalrrrrrY“srYcCs t |¡Sr%)rÚmatchpathcon_checkmatchesr–rrrrZ–srZcCs t |¡Sr%)rÚ matchmediacon)Zmediarrrr[™sr[cCst ¡Sr%)rÚselinux_getenforcemoderrrrr\œsr\cCs t |¡Sr%)rÚselinux_boolean_sub)Z boolean_namerrrr]Ÿsr]cCst ¡Sr%)rÚselinux_getpolicytyperrrrr^¢sr^cCst ¡Sr%)rÚselinux_policy_rootrrrrr_¥sr_cCs t |¡Sr%)rÚselinux_set_policy_root)Zrootpathrrrr`¨sr`cCst ¡Sr%)rÚselinux_current_policy_pathrrrrra«sracCst ¡Sr%)rÚselinux_binary_policy_pathrrrrrb®srbcCst ¡Sr%)rÚselinux_failsafe_context_pathrrrrrc±srccCst ¡Sr%)rÚselinux_removable_context_pathrrrrrd´srdcCst ¡Sr%)rÚselinux_default_context_pathrrrrre·srecCst ¡Sr%)rÚselinux_user_contexts_pathrrrrrfºsrfcCst ¡Sr%)rÚselinux_file_context_pathrrrrrg½srgcCst ¡Sr%)rÚ!selinux_file_context_homedir_pathrrrrrhÀsrhcCst ¡Sr%)rÚselinux_file_context_local_pathrrrrriÃsricCst ¡Sr%)rÚselinux_file_context_subs_pathrrrrrjÆsrjcCst ¡Sr%)rÚ#selinux_file_context_subs_dist_pathrrrrrkÉsrkcCst ¡Sr%)rÚselinux_homedir_context_pathrrrrrlÌsrlcCst ¡Sr%)rÚselinux_media_context_pathrrrrrmÏsrmcCst ¡Sr%)rÚ#selinux_virtual_domain_context_pathrrrrrnÒsrncCst ¡Sr%)rÚ"selinux_virtual_image_context_pathrrrrroÕsrocCst ¡Sr%)rÚselinux_lxc_contexts_pathrrrrrpØsrpcCst ¡Sr%)rÚselinux_x_context_pathrrrrrqÛsrqcCst ¡Sr%)rÚselinux_sepgsql_context_pathrrrrrrÞsrrcCst ¡Sr%)rÚselinux_openrc_contexts_pathrrrrrsásrscCst ¡Sr%)rÚselinux_openssh_contexts_pathrrrrrtäsrtcCst ¡Sr%)rÚselinux_snapperd_contexts_pathrrrrruçsrucCst ¡Sr%)rÚselinux_systemd_contexts_pathrrrrrvêsrvcCst ¡Sr%)rÚselinux_contexts_pathrrrrrwísrwcCst ¡Sr%)rÚselinux_securetty_types_pathrrrrrxðsrxcCst ¡Sr%)rÚselinux_booleans_subs_pathrrrrryósrycCst ¡Sr%)rÚselinux_booleans_pathrrrrrzösrzcCst ¡Sr%)rÚselinux_customizable_types_pathrrrrr{ùsr{cCst ¡Sr%)rÚselinux_users_pathrrrrr|üsr|cCst ¡Sr%)rÚselinux_usersconf_pathrrrrr}ÿsr}cCst ¡Sr%)rÚselinux_translations_pathrrrrr~sr~cCst ¡Sr%)rÚselinux_colors_pathrrrrrsrcCst ¡Sr%)rÚselinux_netfilter_context_pathrrrrr€sr€cCst ¡Sr%)rÚ selinux_pathrrrrr� sr�cCst ||||¡Sr%)rÚselinux_check_access)r rr|rDrrrr‚sr‚cCs t |¡Sr%)rÚselinux_check_passwd_access©r}rrrrƒsrƒcCs t |¡Sr%)rÚcheckPasswdAccessr„rrrr…sr…cCs t |¡Sr%)rÚselinux_check_securetty_context)Z tty_contextrrrr†sr†cCs t |¡Sr%)rÚset_selinuxmnt)Zmntrrrr‡sr‡cCst ¡Sr%)rÚselinuxfs_existsrrrrrˆsrˆcCst ¡Sr%)rÚfini_selinuxmntrrrrr‰ sr‰cCs t ||¡Sr%)rÚsetexecfilecon)ÚfilenameZ fallback_typerrrrŠ#srŠcCs t |¡Sr%)rÚis_context_customizable)ZscontextrrrrŒ&srŒcCs t |¡Sr%)rÚselinux_trans_to_raw_context)Ztransrrrr�)sr�cCs t |¡Sr%)rÚselinux_raw_to_trans_context©ÚrawrrrrŽ,srŽcCs t |¡Sr%)rÚselinux_raw_context_to_colorr�rrrr‘/sr‘cCs t |¡Sr%)rÚgetseuserbyname)Z linuxuserrrrr’2sr’cCs t ||¡Sr%)rÚ getseuser)rZservicerrrr“5sr“cCs t ||¡Sr%)rÚselinux_file_context_cmp)ÚaÚbrrrr”8sr”cCs t ||¡Sr%)rÚselinux_file_context_verifyrSrrrr—;sr—cCs t |¡Sr%)rÚselinux_lsetfilecon_defaultròrrrr˜>sr˜cCst ¡Sr%)rÚselinux_reset_configrrrrr™Asr™)FFFr)F(wÚsysrZ_swig_python_version_infoÚ RuntimeErrorÚ __package__rrrÚbuiltinsr Ú ImportErrorrr!r$r-rr.rKr9ZDISABLEDZ PERMISSIVEZ ENFORCINGrArIrLrQÚobjectrRZsecurity_id_swigregisterrarcrdrfrgrhrirkZavc_entry_ref_swigregisterrlZ avc_memory_callback_swigregisterrmZavc_log_callback_swigregisterrpZ avc_thread_callback_swigregisterrqZavc_lock_callback_swigregisterZAVC_OPT_UNUSEDZAVC_OPT_SETENFORCErrrsrvrwrxryr€r�rƒr…ZAVC_CALLBACK_GRANTZAVC_CALLBACK_TRY_REVOKEZAVC_CALLBACK_REVOKEZAVC_CALLBACK_RESETZAVC_CALLBACK_AUDITALLOW_ENABLEZAVC_CALLBACK_AUDITALLOW_DISABLEZAVC_CALLBACK_AUDITDENY_ENABLEZAVC_CALLBACK_AUDITDENY_DISABLEZAVC_CACHE_STATSr†Zavc_cache_stats_swigregisterr‡rˆr‰r‹rŒr�r�r�r‘r’r“r”Zcontext_s_t_swigregisterr•r˜r›rœr�ržrŸr r¡r£r¥ZSELINUX_DEFAULTUSERr§rªr­r®r¯r°r±r²r³r´ZSELABEL_CTX_FILEZSELABEL_CTX_MEDIAZ SELABEL_CTX_XZSELABEL_CTX_DBZSELABEL_CTX_ANDROID_PROPZSELABEL_CTX_ANDROID_SERVICEZSELABEL_OPT_UNUSEDZSELABEL_OPT_VALIDATEZSELABEL_OPT_BASEONLYZSELABEL_OPT_PATHZSELABEL_OPT_SUBSETZSELABEL_OPT_DIGESTZ SELABEL_NOPTrµr¶r¹r¼r½r¾rÀrÂrÄrÅZSELABEL_SUBSETZ SELABEL_EQUALZSELABEL_SUPERSETZSELABEL_INCOMPARABLErÆrÇZSELABEL_X_PROPZ SELABEL_X_EXTZSELABEL_X_CLIENTZSELABEL_X_EVENTZSELABEL_X_SELNZSELABEL_X_POLYPROPZSELABEL_X_POLYSELNZSELABEL_DB_DATABASEZSELABEL_DB_SCHEMAZSELABEL_DB_TABLEZSELABEL_DB_COLUMNZSELABEL_DB_SEQUENCEZSELABEL_DB_VIEWZSELABEL_DB_PROCEDUREZSELABEL_DB_BLOBZSELABEL_DB_TUPLEZSELABEL_DB_LANGUAGEZSELABEL_DB_EXCEPTIONZSELABEL_DB_DATATYPErÈr8r3ZSELINUX_RESTORECON_NOCHANGEr7r5r6ZSELINUX_RESTORECON_PROGRESSr4ZSELINUX_RESTORECON_XDEVZSELINUX_RESTORECON_ADD_ASSOCZ!SELINUX_RESTORECON_ABORT_ON_ERRORZ!SELINUX_RESTORECON_SYSLOG_CHANGESZSELINUX_RESTORECON_LOG_MATCHESZ!SELINUX_RESTORECON_IGNORE_NOENTRYZ SELINUX_RESTORECON_IGNORE_MOUNTSZSELINUX_RESTORECON_MASS_RELABELZSELINUX_RESTORECON_SKIP_DIGESTZ!SELINUX_RESTORECON_CONFLICT_ERRORZSELINUX_RESTORECON_COUNT_ERRORSrÊrËrÌrÍZMATCHZNOMATCHZ DELETED_MATCHZDELETED_NOMATCHZERRORrÎZdir_xattr_swigregisterrÐZ SELINUX_RESTORECON_XATTR_RECURSEZ0SELINUX_RESTORECON_XATTR_DELETE_NONMATCH_DIGESTSZ+SELINUX_RESTORECON_XATTR_DELETE_ALL_DIGESTSZ&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ùrúrürBrýrþrrrrZav_decision_swigregisterZSELINUX_AVD_FLAGS_PERMISSIVErZselinux_opt_swigregisterrZselinux_callback_swigregisterZSELINUX_CB_LOGZSELINUX_CB_AUDITZSELINUX_CB_VALIDATEZSELINUX_CB_SETENFORCEZSELINUX_CB_POLICYLOADrr Z SELINUX_ERRORZSELINUX_WARNINGZ SELINUX_INFOZ SELINUX_AVCZSELINUX_POLICYLOADZSELINUX_SETENFORCEZSELINUX_TRANS_DIRr rrrrrrrrrrrrrr r"r#r%r&r'r(r)ZSELboolean_swigregisterr*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<Z#security_class_mapping_swigregisterr=r?rArBrCrErFrIrJZMATCHPATHCON_BASEONLYZMATCHPATHCON_NOTRANSZMATCHPATHCON_VALIDATErKrLrMrOrPrRrTrUrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rr€r�r‚rƒr…r†r‡rˆr‰rŠrŒr�rŽr‘r’r“r”r—r˜r™rrrrÚsæ