a wg @sddlmZedkredes(devr6ddlmZnddlZz ddlZ Wne ydddl Z Yn0dd Z d d Z d d Z ddZGdddeZddlZddlZdZdZdZdddZdddZddZddZGdddeZeeddZd d!Zd"d#Zd$d%Z d&d'Z!d(d)Z"d*d+Z#Gd,d-d-eZ$e%e$Gd.d/d/eZ&e'e&Gd0d1d1eZ(e)e(Gd2d3d3eZ*e+e*Gd4d5d5eZ,e-e,ej.Z.ej/Z/d6d7Z0d8d9Z1d:d;Z2dd?Z4d@dAZ5dBdCZ6dDdEZ7dFdGZ8dHdIZ9ej:Z:ej;Z;ejZ>ej?Z?ej@Z@ejAZAejBZBGdJdKdKeZCeDeCdLdMZEdNdOZFdPdQZGdRdSZHdTdUZIdVdWZJdXdYZKdZd[ZLd\d]ZMd^d_ZNd`daZOGdbdcdceZPeQePdddeZRdfdgZSdhdiZTdjdkZUdldmZVdndoZWdpdqZXdrdsZYdtduZZdvdwZ[dxdyZ\ej]Z]dzd{Z^d|d}Z_d~dZ`ddZaddZbddZcddZdddZeddZfddZgejhZhejiZiejjZjejkZkejlZlejmZmejnZnejoZoejpZpejqZqejrZrejsZsejtZtddZuddZvddZwddZxddZyddZzddZ{ddZ|ddZ}ddZ~ejZejZejZejZddZddZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZddZddZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZejZddZddZddZddZejZejZejZejZejZGdddeZeeddZejZejZejZejZddZddZddZddZddZddZddÄZddńZddDŽZddɄZdd˄Zdd̈́ZddτZddфZddӄZddՄZddׄZddلZddۄZdd݄Zdd߄ZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZdd Zd d ZGd d d eZeeejZGdddeZeeGdddeZeeejZejZejZejZejZddZddZejZejZejZejZejZejZejZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z d2d3Z d4d5Z d6d7Z d8d9Z d:d;Zd<d=Zd>d?ZGd@dAdAeZeedBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Z d^d_Z!d`daZ"dbdcZ#dddeZ$GdfdgdgeZ%e&e%dhdiZ'djdkZ(dldmZ)dndoZ*dpdqZ+drdsZ,dtduZ-dvdwZ.dxdyZ/ej0Z0ej1Z1ej2Z2dzd{Z3d|d}Z4d~dZ5ddZ6ddZ7ddZ8ddZ9ddZ:ddZ;ddZ<ddZ=ddZ>ddZ?ddZ@ddZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddÄZWdĐdńZXdƐdDŽZYdȐdɄZZdʐd˄Z[d̐d̈́Z\dΐdτZ]dАdфZ^dҐdӄZ_dԐdՄZ`d֐dׄZadؐdلZbdڐdۄZcdܐd݄Zddސd߄ZeddZfddZgddZhddZiddZjddZkddZlddZmddZnddZoddZpddZqddZrddZsddZtddZuddZvdS() 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__)selfZstrthisr6/usr/lib64/python3.9/site-packages/selinux/__init__.py _swig_reprs  rcsfdd}|S)Ncsh|dkr|j|nN|dkr,|||n8t||rXttt||trX|||n td|dS)Nthisownr z(You cannot add instance attributes to %s)r ownhasattr isinstancegetattrtypepropertyAttributeError)rnamevaluesetrrset_instance_attrszE_swig_setattr_nondynamic_instance_variable..set_instance_attrr)rr rrr*_swig_setattr_nondynamic_instance_variables r!csfdd}|S)Ncs8t||r(tt||ts(|||n td|dS)Nz%You cannot add class attributes to %s)rrrrr)clsrrrrrset_class_attr,sz?_swig_setattr_nondynamic_class_variable..set_class_attrr)rr#rrr'_swig_setattr_nondynamic_class_variable+s r$csfdd}|S)zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclasscs|j|j|jSN)r __bases____dict__copyr" metaclassrrwrapper6sz$_swig_add_metaclass..wrapperr)r+r,rr*r_swig_add_metaclass4s r-c@seZdZdZeejZdS)_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_DIGESTSELINUX_RESTORECON_REALPATHSELINUX_RESTORECON_RECURSESELINUX_RESTORECON_VERBOSE#SELINUX_RESTORECON_SET_SPECFILE_CTXselinux_restorecon_parallelospath expanduser)r: recursiveverboseforcenthreadsrestorecon_flagsrrr restoreconIsrAcCsJt|||rFt|D],\}}}||D]}ttj|||q*qdS)z) Set the SELinux context on a given path N) lsetfileconr9walkr:join)r:contextr<rootdirsfilesrrrrchconbs   rIcCst||t|dddS)z, An SELinux-friendly shutil.copytree method Tr<N)shutilcopytreerAsrcdestrrrrLjs rLcCst||t|dddS)z( An SELinux-friendly shutil.move method TrJN)rKmoverArMrrrinstallos rQc@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) security_idcCs |jSr%r rxrrruzsecurity_id.cCs |j|Sr%rSrUvrrrrVurWThe membership flagdoccCst|tdSr%)rZsecurity_id_swiginitZnew_security_idrrrr__init__zszsecurity_id.__init__N)rrr/rrrr rZsecurity_id_ctx_getZsecurity_id_ctx_setctxZsecurity_id_refcnt_getZsecurity_id_refcnt_setZrefcntr^Zdelete_security_id__swig_destroy__rrrrrRts rRcCs t|Sr%)ravc_sid_to_contextZsidrrrrasracCs t|Sr%)ravc_sid_to_context_rawrbrrrrcsrccCs t|Sr%)ravc_context_to_sidr_rrrrdsrdcCs t|Sr%)ravc_context_to_sid_rawrerrrrfsrfcCs t|Sr%)rsidgetrbrrrrgsrgcCs t|Sr%)rsidputrbrrrrhsrhcCs t|Sr%)ravc_get_initial_sidrrrrrisric@sBeZdZeddddddZeZeejej Z ddZ ej Z dS) avc_entry_refcCs |jSr%rSrTrrrrVrWzavc_entry_ref.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrks rkc@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) avc_memory_callbackcCs |jSr%rSrTrrrrVrWzavc_memory_callback.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrls rlc@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) avc_log_callbackcCs |jSr%rSrTrrrrVrWzavc_log_callback.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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_setfunc_logZavc_log_callback_func_audit_getZavc_log_callback_func_audit_set func_auditr^Zdelete_avc_log_callbackr`rrrrrms rmc@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) avc_thread_callbackcCs |jSr%rSrTrrrrVrWzavc_thread_callback.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrps rpc@sleZdZeddddddZeZeejej Z eej ej Z eejejZeejejZddZejZdS) avc_lock_callbackcCs |jSr%rSrTrrrrVrWzavc_lock_callback.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrqsrqcCst|||||Sr%)ravc_init)Z msgprefixZ mem_callbacksZ log_callbacksZthread_callbacksZlock_callbacksrrrrrsrrcCs t||Sr%)ravc_open)optsnoptsrrrrssrscCstSr%)r avc_cleanuprrrrrvsrvcCstSr%)r avc_resetrrrrrwsrwcCstSr%)r avc_destroyrrrrrxsrxcCst||||||Sr%)ravc_has_perm_noaudit)ssidtsidtclass requestedaerefavdrrrrysrycCst|||||Sr%)r avc_has_perm)rzr{r|r}r~rrrrsrcCst||||||Sr%)r avc_audit)rzr{r|r}rresultrrrrsrcCst|||Sr%)ravc_compute_createrzr{r|rrrrsrcCst|||Sr%)ravc_compute_memberrrrrrsrc@seZdZeddddddZeZeejej Z eej ej Z eejejZeejejZeejejZeejejZeejejZeejejZddZ ej!Z"dS) avc_cache_statscCs |jSr%rSrTrrrrVrWzavc_cache_stats.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrsrcCstSr%)r avc_av_statsrrrrrsrcCstSr%)r avc_sid_statsrrrrrsrcCs t|Sr%)ravc_netlink_open)blockingrrrrsrcCstSr%)ravc_netlink_looprrrrrsrcCstSr%)ravc_netlink_closerrrrr!srcCs t|Sr%)rselinux_status_open)fallbackrrrr$srcCstSr%)rselinux_status_closerrrrr'srcCstSr%)rselinux_status_updatedrrrrr*srcCstSr%)rselinux_status_getenforcerrrrr-srcCstSr%)rselinux_status_policyloadrrrrr0srcCstSr%)rselinux_status_deny_unknownrrrrr3src@sBeZdZeddddddZeZeejej Z ddZ ej Z dS) context_s_tcCs |jSr%rSrTrrrrV6rWzcontext_s_t.cCs |j|Sr%rSrXrrrrV6rWrZr[cCst|tdSr%)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`rrrrr5s rcCs t|Sr%)r context_newstrrrrrBsrcCs t|Sr%)r context_strconrrrrEsrcCs t|Sr%)r context_freerrrrrHsrcCs t|Sr%)rcontext_type_getrrrrrKsrcCs t|Sr%)rcontext_range_getrrrrrNsrcCs t|Sr%)rcontext_role_getrrrrrQsrcCs t|Sr%)rcontext_user_getrrrrrTsrcCs t||Sr%)rcontext_type_set)rrrrrrWsrcCs t||Sr%)rcontext_range_set)rrangerrrrZsrcCs t||Sr%)rcontext_role_set)rrolerrrr]srcCs t||Sr%)rcontext_user_set)ruserrrrr`srcCs t||Sr%)rget_ordered_context_listrfromconrrrrdsrcCst|||Sr%)r#get_ordered_context_list_with_levelrlevelrrrrrgsrcCs t||Sr%)rget_default_contextrrrrrjsrcCst|||Sr%)rget_default_context_with_levelrrrrrmsrcCst|||Sr%)rget_default_context_with_role)rrrrrrrpsrcCst||||Sr%)r"get_default_context_with_rolelevel)rrrrrrrrssrcCstSr%)rquery_user_contextrrrrrvsrcCs t|Sr%)rmanual_user_enter_context)rrrrrysrcCstSr%)rselinux_default_type_pathrrrrr|srcCs t|Sr%)rget_default_type)rrrrrsrcCst|||Sr%)r selabel_open)ZbackendrtrurrrrsrcCs t|Sr%)r selabel_closehandlerrrrsrcCst|||Sr%)rselabel_lookuprkeyrrrrrsrcCst|||Sr%)rselabel_lookup_rawrrrrrsrcCs t||Sr%)rselabel_partial_match)rrrrrrsrcCst||||Sr%)r'selabel_get_digests_all_partial_matches)recrZcalculated_digestZ xattr_digestrrrrsrcCst|||Sr%)r selabel_hash_all_partial_matches)rrdigestrrrrsrcCst|||Sr%)rselabel_lookup_best_matchrrrrrrrsrcCst|||Sr%)rselabel_lookup_best_match_rawrrrrrsrcCs t||Sr%)rselabel_digest)rrrrrrsrcCs t||Sr%)r selabel_cmp)Zh1Zh2rrrrsrcCs t|Sr%)r selabel_statsrrrrrsrcCs t||Sr%)rselinux_restorecon)pathnamer@rrrrsrcCst|||Sr%)rr8)rr@r?rrrr8sr8cCs t|Sr%)rselinux_restorecon_set_sehandle)ZhndlrrrrsrcCstSr%)r!selinux_restorecon_default_handlerrrrrsrcCstSr%)r#selinux_restorecon_set_exclude_listrrrrrsrcCs t|Sr%)r#selinux_restorecon_set_alt_rootpath)Z alt_rootpathrrrrsrc@sleZdZeddddddZeZeejej Z eej ej Z eejejZeejejZddZejZdS) dir_xattrcCs |jSr%rSrTrrrrVrWzdir_xattr.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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_setrZdir_xattr_result_getZdir_xattr_result_setrZdir_xattr_next_getZdir_xattr_next_setnextr^Zdelete_dir_xattrr`rrrrrsrcCst|||Sr%)rselinux_restorecon_xattr)rZ xattr_flagsZ xattr_listrrrrsrcCstSr%)r%selinux_restorecon_get_skipped_errorsrrrrr srcCstSr%)ris_selinux_enabledrrrrr srcCstSr%)ris_selinux_mls_enabledrrrrrsrcCstSr%)rgetconrrrrrsrcCstSr%)r getcon_rawrrrrrsrcCs t|Sr%)rsetconrrrrrsrcCs t|Sr%)r setcon_rawrrrrrsrcCs t|Sr%)r getpidconpidrrrrsrcCs t|Sr%)r getpidcon_rawrrrrr!srcCstSr%)r getprevconrrrrr$srcCstSr%)rgetprevcon_rawrrrrr'srcCs t|Sr%)r getpidprevconrrrrr*srcCs t|Sr%)rgetpidprevcon_rawrrrrr-srcCstSr%)r getexecconrrrrr0srcCstSr%)rgetexeccon_rawrrrrr3srcCs t|Sr%)r setexecconrrrrr6srcCs t|Sr%)rsetexeccon_rawrrrrr9srcCstSr%)rgetfscreateconrrrrr<srcCstSr%)rgetfscreatecon_rawrrrrr?srcCs t|Sr%)rsetfscreateconrErrrrBsrcCs t|Sr%)rsetfscreatecon_rawrrrrrEsrcCstSr%)rgetkeycreateconrrrrrHsrcCstSr%)rgetkeycreatecon_rawrrrrrKsrcCs t|Sr%)rsetkeycreateconrrrrrNsrcCs t|Sr%)rsetkeycreatecon_rawrrrrrQsrcCstSr%)rgetsockcreateconrrrrrTsrcCstSr%)rgetsockcreatecon_rawrrrrrWsrcCs t|Sr%)rsetsockcreateconrrrrrZsrcCs t|Sr%)rsetsockcreatecon_rawrrrrr]srcCs t|Sr%)r getfileconr:rrrr`srcCs t|Sr%)rgetfilecon_rawrrrrrcsrcCs t|Sr%)r lgetfileconrrrrrfsrcCs t|Sr%)rlgetfilecon_rawrrrrrisrcCs t|Sr%)r fgetfileconfdrrrrlsrcCs t|Sr%)rfgetfilecon_rawrrrrrosrcCs t||Sr%)r setfileconr:rrrrrrsrcCs t||Sr%)rsetfilecon_rawrrrrrusrcCs t||Sr%)rrBrrrrrBxsrBcCs t||Sr%)rlsetfilecon_rawrrrrr{srcCs t||Sr%)r fsetfileconrrrrrr~srcCs t||Sr%)rfsetfilecon_rawrrrrrsrcCs t|Sr%)r getpeerconrrrrrsrcCs t|Sr%)rgetpeercon_rawrrrrrsrc@seZdZeddddddZeZeejej Z eej ej Z eejejZeejejZeejejZeejejZddZejZdS) av_decisioncCs |jSr%rSrTrrrrVrWzav_decision.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)rZav_decision_swiginitZnew_av_decisionr]rrrr^szav_decision.__init__N)rrr/rrrr rZav_decision_allowed_getZav_decision_allowed_setallowedZav_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_setflagsr^Zdelete_av_decisionr`rrrrrsrc@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) selinux_optcCs |jSr%rSrTrrrrVrWzselinux_opt.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrs rc@szeZdZeddddddZeZeejej Z eej ej Z eejejZeejejZeejejZddZejZdS) selinux_callbackcCs |jSr%rSrTrrrrVrWzselinux_callback.cCs |j|Sr%rSrXrrrrVrWrZr[cCst|tdSr%)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`rrrrrsrcCs t|Sr%)rselinux_get_callback)rrrrrsrcCs t||Sr%)rselinux_set_callback)rcbrrrr sr cCst|||||Sr%)rsecurity_compute_avscontconr|r}rrrrr sr cCst|||||Sr%)rsecurity_compute_av_rawr rrrrsrcCst|||||Sr%)rsecurity_compute_av_flagsr rrrrsrcCst|||||Sr%)rsecurity_compute_av_flags_rawr rrrrsrcCst|||Sr%)rsecurity_compute_creater rr|rrrrsrcCst|||Sr%)rsecurity_compute_create_rawrrrrrsrcCst||||Sr%)rsecurity_compute_create_namer rr|ZobjnamerrrrsrcCst||||Sr%)r security_compute_create_name_rawrrrrrsrcCst|||Sr%)rsecurity_compute_relabelrrrrrsrcCst|||Sr%)rsecurity_compute_relabel_rawrrrrrsrcCst|||Sr%)rsecurity_compute_memberrrrrrsrcCst|||Sr%)rsecurity_compute_member_rawrrrrrsrcCs t||Sr%)rsecurity_compute_userr usernamerrrrsrcCs t||Sr%)rsecurity_compute_user_rawrrrrrsrcCst||||Sr%)rsecurity_validatetransr rr|Znewconrrrr sr cCst||||Sr%)rsecurity_validatetrans_rawr!rrrr"sr"cCs t|Sr%)rsecurity_load_policy)lenrrrr#sr#cCs t|Sr%)rsecurity_get_initial_contextrjrrrr%sr%cCs t|Sr%)r security_get_initial_context_rawrjrrrr&sr&cCs t|Sr%)rselinux_mkload_policy)Z preserveboolsrrrr'sr'cCstSr%)rselinux_init_load_policyrrrrr(sr(c@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) SELbooleancCs |jSr%rSrTrrrrV rWzSELboolean.cCs |j|Sr%rSrXrrrrV rWrZr[cCst|tdSr%)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%)rsecurity_set_boolean_list)ZboolcntZboollistZ permanentrrrr*sr*cCs t|Sr%)rsecurity_load_booleansrrrrr+sr+cCs t|Sr%)rsecurity_check_contextrrrrr,sr,cCs t|Sr%)rsecurity_check_context_rawrrrrr- sr-cCs t|Sr%)rsecurity_canonicalize_contextrrrrr.#sr.cCs t|Sr%)r!security_canonicalize_context_rawrrrrr/&sr/cCstSr%)rsecurity_getenforcerrrrr0)sr0cCs t|Sr%)rsecurity_setenforce)rrrrr1,sr1cCstSr%)rsecurity_reject_unknownrrrrr2/sr2cCstSr%)rsecurity_deny_unknownrrrrr32sr3cCstSr%)rsecurity_get_checkreqprotrrrrr45sr4cCstSr%)rsecurity_disablerrrrr58sr5cCstSr%)rsecurity_policyversrrrrr6;sr6cCstSr%)rsecurity_get_boolean_namesrrrrr7>sr7cCs t|Sr%)rsecurity_get_boolean_pendingrjrrrr8Asr8cCs t|Sr%)rsecurity_get_boolean_activerjrrrr9Dsr9cCs t||Sr%)rsecurity_set_boolean)rrrrrr:Gsr:cCstSr%)rsecurity_commit_booleansrrrrr;Jsr;c@sPeZdZeddddddZeZeejej Z eej ej Z ddZejZdS) security_class_mappingcCs |jSr%rSrTrrrrVMrWzsecurity_class_mapping.cCs |j|Sr%rSrXrrrrVMrWrZr[cCst|tdSr%)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%)rselinux_set_mapping)maprrrr=Zsr=cCs t|Sr%)rmode_to_security_class)moderrrr?]sr?cCs t|Sr%)rstring_to_security_classrjrrrrA`srAcCs t|Sr%)rsecurity_class_to_stringr)rrrrBcsrBcCs t||Sr%)rsecurity_av_perm_to_string)r|permrrrrCfsrCcCs t||Sr%)rstring_to_av_perm)r|rrrrrEisrEcCs t||Sr%)rsecurity_av_stringr|avrrrrFlsrFcCs t||Sr%)rprint_access_vectorrGrrrrIosrIcCstSr%)rselinux_flush_class_cacherrrrrJrsrJcCs t|Sr%)rset_matchpathcon_flags)rrrrrKxsrKcCs t|Sr%)rmatchpathcon_initrrrrrL{srLcCs t||Sr%)rmatchpathcon_init_prefix)r:prefixrrrrM~srMcCstSr%)rmatchpathcon_finirrrrrOsrOcCs t||Sr%)rrealpath_not_final)r resolved_pathrrrrPsrPcCs t||Sr%)r matchpathconr:r@rrrrRsrRcCs t||Sr%)rmatchpathcon_indexrSrrrrTsrTcCst|||Sr%)rmatchpathcon_filespec_add)inoZspecindfilerrrrUsrUcCstSr%)rmatchpathcon_filespec_destroyrrrrrXsrXcCstSr%)rmatchpathcon_filespec_evalrrrrrYsrYcCs t|Sr%)rmatchpathcon_checkmatchesrrrrrZsrZcCs t|Sr%)r matchmediacon)Zmediarrrr[sr[cCstSr%)rselinux_getenforcemoderrrrr\sr\cCs t|Sr%)rselinux_boolean_sub)Z boolean_namerrrr]sr]cCstSr%)rselinux_getpolicytyperrrrr^sr^cCstSr%)rselinux_policy_rootrrrrr_sr_cCs t|Sr%)rselinux_set_policy_root)Zrootpathrrrr`sr`cCstSr%)rselinux_current_policy_pathrrrrrasracCstSr%)rselinux_binary_policy_pathrrrrrbsrbcCstSr%)rselinux_failsafe_context_pathrrrrrcsrccCstSr%)rselinux_removable_context_pathrrrrrdsrdcCstSr%)rselinux_default_context_pathrrrrresrecCstSr%)rselinux_user_contexts_pathrrrrrfsrfcCstSr%)rselinux_file_context_pathrrrrrgsrgcCstSr%)r!selinux_file_context_homedir_pathrrrrrhsrhcCstSr%)rselinux_file_context_local_pathrrrrrisricCstSr%)rselinux_file_context_subs_pathrrrrrjsrjcCstSr%)r#selinux_file_context_subs_dist_pathrrrrrksrkcCstSr%)rselinux_homedir_context_pathrrrrrlsrlcCstSr%)rselinux_media_context_pathrrrrrmsrmcCstSr%)r#selinux_virtual_domain_context_pathrrrrrnsrncCstSr%)r"selinux_virtual_image_context_pathrrrrrosrocCstSr%)rselinux_lxc_contexts_pathrrrrrpsrpcCstSr%)rselinux_x_context_pathrrrrrqsrqcCstSr%)rselinux_sepgsql_context_pathrrrrrrsrrcCstSr%)rselinux_openrc_contexts_pathrrrrrssrscCstSr%)rselinux_openssh_contexts_pathrrrrrtsrtcCstSr%)rselinux_snapperd_contexts_pathrrrrrusrucCstSr%)rselinux_systemd_contexts_pathrrrrrvsrvcCstSr%)rselinux_contexts_pathrrrrrwsrwcCstSr%)rselinux_securetty_types_pathrrrrrxsrxcCstSr%)rselinux_booleans_subs_pathrrrrrysrycCstSr%)rselinux_booleans_pathrrrrrzsrzcCstSr%)rselinux_customizable_types_pathrrrrr{sr{cCstSr%)rselinux_users_pathrrrrr|sr|cCstSr%)rselinux_usersconf_pathrrrrr}sr}cCstSr%)rselinux_translations_pathrrrrr~sr~cCstSr%)rselinux_colors_pathrrrrrsrcCstSr%)rselinux_netfilter_context_pathrrrrrsrcCstSr%)r selinux_pathrrrrr srcCst||||Sr%)rselinux_check_access)r rr|rDrrrrsrcCs t|Sr%)rselinux_check_passwd_accessr}rrrrsrcCs t|Sr%)rcheckPasswdAccessrrrrrsrcCs t|Sr%)rselinux_check_securetty_context)Z tty_contextrrrrsrcCs t|Sr%)rset_selinuxmnt)ZmntrrrrsrcCstSr%)rselinuxfs_existsrrrrrsrcCstSr%)rfini_selinuxmntrrrrr srcCs t||Sr%)rsetexecfilecon)filenameZ fallback_typerrrr#srcCs t|Sr%)ris_context_customizable)Zscontextrrrr&srcCs t|Sr%)rselinux_trans_to_raw_context)Ztransrrrr)srcCs t|Sr%)rselinux_raw_to_trans_contextrawrrrr,srcCs t|Sr%)rselinux_raw_context_to_colorrrrrr/srcCs t|Sr%)rgetseuserbyname)Z linuxuserrrrr2srcCs t||Sr%)r getseuser)rZservicerrrr5srcCs t||Sr%)rselinux_file_context_cmp)abrrrr8srcCs t||Sr%)rselinux_file_context_verifyrSrrrr;srcCs t|Sr%)rselinux_lsetfilecon_defaultrrrrr>srcCstSr%)rselinux_reset_configrrrrrAsr)FFFr)F(wsysrZ_swig_python_version_info RuntimeError __package__rrrbuiltinsr ImportErrorrr!r$r-rr.rKr9ZDISABLEDZ PERMISSIVEZ ENFORCINGrArIrLrQobjectrRZsecurity_id_swigregisterrarcrdrfrgrhrirkZavc_entry_ref_swigregisterrlZ avc_memory_callback_swigregisterrmZavc_log_callback_swigregisterrpZ avc_thread_callback_swigregisterrqZavc_lock_callback_swigregisterZAVC_OPT_UNUSEDZAVC_OPT_SETENFORCErrrsrvrwrxryrrrrZAVC_CALLBACK_GRANTZAVC_CALLBACK_TRY_REVOKEZAVC_CALLBACK_REVOKEZAVC_CALLBACK_RESETZAVC_CALLBACK_AUDITALLOW_ENABLEZAVC_CALLBACK_AUDITALLOW_DISABLEZAVC_CALLBACK_AUDITDENY_ENABLEZAVC_CALLBACK_AUDITDENY_DISABLEZAVC_CACHE_STATSrZavc_cache_stats_swigregisterrrrrrrrrrrrrZcontext_s_t_swigregisterrrrrrrrrrrrZSELINUX_DEFAULTUSERrrrrrrrrrrZSELABEL_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_NOPTrrrrrrrrrrZSELABEL_SUBSETZ SELABEL_EQUALZSELABEL_SUPERSETZSELABEL_INCOMPARABLErrZSELABEL_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_DATATYPErr8r3ZSELINUX_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_ERRORSrrrrZMATCHZNOMATCHZ DELETED_MATCHZDELETED_NOMATCHZERRORrZdir_xattr_swigregisterrZ SELINUX_RESTORECON_XATTR_RECURSEZ0SELINUX_RESTORECON_XATTR_DELETE_NONMATCH_DIGESTSZ+SELINUX_RESTORECON_XATTR_DELETE_ALL_DIGESTSZ&SELINUX_RESTORECON_XATTR_IGNORE_MOUNTSrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrBrrrrrrZav_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~rrrrrrrrrrrrrrrrrrrrrrrrrs