+
    	:i
 c                   s8   ^ RI t ] P                  ! RR4       ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RI	t	^ RI
t
^ RI
HtHtHt ^ RIt	^ RIt	^ RIt^ RIt^ RIt^ RItR	t ^ RIt/ t]P.                  R8  d   R
]R&   ]P0                  ! ]3RR/]BRR
/B t]P*                  t/ t!]	PD                   F  t#]#]!]	PD                  ]#,          &   K  	  ]! R4      ]! R4      .t$]! R4      ]! R4      .t%R t&^ RI't']! R4      ]! R4      3t(]! R4      ]! R4      3t)^ t*^t+^ t,^t-^t.^ t/^t0^t1^ t2^t3^t4^t5^t6^t7^t8^t9^t:^	t;. ROt<]! R4      t= ! R R4      t>]?R8X  d
   ]>! 4       t@R# R#     ^ RIt]]P:                  R&    L  ] d    ^ RIt] ]P:                  R&     Li ; i; i)    NGtkz3.0)r   )Gdk)GLib)SELinuxDBus)DISABLED
PERMISSIVE	ENFORCINGzselinux-pythonTunicodeZ	localedirz/usr/share/localeZfallback_ZNoZYesZDisableZEnablec                 sH    V f   Vf   ^ # V f   R# Vf   ^# W8  W8  ,
          # )N )Zab   &&1/usr/lib/python3.14/site-packages/sepolicy/gui.pycmpr   G   s/    yQYy	yEae    zAdvanced >>zAdvanced <<zAdvanced Search >>zAdvanced Search <<z<small>
To change from Disabled to Enforcing mode
- Change the system mode from Disabled to Permissive
- Reboot, so that the system can relabel
- Once the system is working as planned
  * Change the system mode to Enforcing</small>
c                   s  a  ] tR t^tt o RR ltR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@ tBRA tCRB tDRC tERD tFRE tGRF tHRG tIRH tJRI tKRJ tLRK tMRL tNRM tORN tPRO tQRP tRRQ tSRR tTRS tURT tVRU tWRV tXRW tYRX tZRY t[RZ t\R[ t]R\ t^R] t_R^ t`R_ taRR` ltbRa tcRb tdRc teRd tfRe tgRf thRg tiRh tjRi tkRj tlRk tmRl tnRm toRn tpRo tqRp trRq tsRr ttRs tuRt tvRu twRv txRw tyRx tzRy t{Rz t|R{ t}R| t~R} tR~ tR tR tR tR tR tR tR tR tR tR tRR ltR tR tR tR tR tR tR tRtV tR# )
SELinuxGuiNc                srG   R V n         RV n        \        V n        \	        4       V n         V P
                  P                  4       pV P                  4        Wn        RV n        \        P                  ! 4       p\         P"                  ! RRR/R7      R,           V n        V P$                  R	,           pVP'                  V4       VP)                  R
4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        \6        P8                  ! \6        P:                  P<                  4      V n        \6        P8                  ! \6        P:                  P@                  4      V n!        \D        PF                  ! 4       ^,          V n$        RV n%        RV n&        RV n'        R V n(        R V n)        R V n*        . V n+        . V n,        / V n-        VP)                  R4      V n.        VP)                  R4      V n/        VP)                  R4      V n0        R V n1        VP)                  R4      V n2        VP)                  R4      V n3        V Pf                  Pi                  V Pj                  4       VP)                  R4      V n6        VP)                  R4      V n7        VP)                  R4      V n8        R V n9        VP)                  R4      V n:        VP)                  R4      V n;        VP)                  R4      V n<        VP)                  R4      V n=        VP)                  R4      V n>        VP)                  R4      V n?        VP)                  R4      V n@        VP)                  R4      V nA        VP)                  R 4      V nB        V P                  P                  ^ \        P                  P                  4       VP)                  R!4      V nF        V P                  Pi                  V Pj                  4       VP)                  R"4      V nG        VP)                  R#4      V nH        VP)                  R$4      V nI        VP)                  R%4      V nJ        VP)                  R&4      V nK        VP)                  R'4      V nL        V P                  P                  ^ \        P                  P                  4       VP)                  R(4      V nM        V P                  Pi                  V Pj                  4       VP)                  R)4      V nN        VP)                  R*4      V nO        VP)                  R+4      V nP        VP)                  R,4      V nQ        VP)                  R-4      V nR        VP)                  R.4      V nS        VP)                  R/4      V nT        VP)                  R04      V nU        VP)                  R14      V nV        VP)                  R24      V nW        VP)                  R34      V nX        VP)                  R44      V nY        VP)                  R54      V nZ        VP)                  R64      V n[        VP)                  R74      V n\        VP)                  R84      V n]        VP)                  R94      V n^        V P                  P                  ^ \        P                  P                  4       VP)                  R:4      V n_        VP)                  R;4      V n`        V P                  Pi                  V Pj                  4       VP)                  R<4      V na        VP)                  R=4      V nb        VP)                  R>4      V nc        VP)                  R?4      V nd        VP)                  R@4      V ne        VP)                  RA4      V nf        VP)                  RB4      V ng        VP)                  RC4      V nh        VP)                  RD4      V ni        VP)                  RE4      V nj        VP)                  RF4      V nk        VP)                  RG4      V nl        VP)                  RH4      V nm        VP)                  RI4      V nn        VP)                  RJ4      V no        VP)                  RK4      V np        VP)                  RL4      V nq        VP)                  RM4      V nr        . V ns        V P                  4       ^8  dR   V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       VP)                  RN4      V nv        VP)                  RO4      V nw        VP)                  RP4      V nx        V P                  4        VP)                  RQ4      V nz        VP)                  RR4      V n{        VP)                  RS4      V n|        VP)                  RT4      V n}        VP)                  RU4      V n~        VP)                  RV4      V n        VP)                  RW4      V n        VP)                  RX4      V n        VP)                  RY4      V n        VP)                  RZ4      V n        VP)                  R[4      V n        VP)                  R\4      V n        VP)                  R]4      V n        VP)                  R^4      V n        VP)                  R_4      V n        VP)                  R`4      V n        VP)                  Ra4      V n        VP)                  Rb4      V n        VP)                  Rc4      V n        VP)                  Rd4      V n        VP)                  Re4      V n        VP)                  Rf4      V n        VP)                  Rg4      V n        VP)                  Rh4      V n        VP)                  Ri4      V n        VP)                  Rj4      V n        VP)                  Rk4      V n        VP)                  Rl4      V n        VP)                  Rm4      V n        VP)                  Rn4      V n        VP)                  Ro4      V n        VP)                  Rp4      V n        VP)                  Rq4      V n        VP)                  Rr4      V n        VP)                  Rs4      V n        VP)                  Rt4      V n        VP)                  Ru4      V n        VP)                  Rv4      V n        VP)                  Rw4      V n        VP)                  Rx4      V n        VP)                  Ry4      V n        VP)                  Rz4      V n        VP)                  R{4      V n        VP)                  R|4      V n        VP)                  R}4      V n        VP)                  R~4      V n        V EPN                  EPQ                  R 4       VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        V EPh                  Pi                  V Pj                  4       VP)                  R4      V n        V EPj                  EPm                  4       V n        VP)                  R4      V n        V EPp                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EPr                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EPx                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EPz                  Pi                  V Pj                  4       VP)                  R4      V n        V EP|                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP|                  EPm                  4       V n        VP)                  R4      V n        V EP                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^\        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^\        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^\        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  P                  ^ \        P                  P                  4       VP)                  R4      V n        V EP                  Pi                  V Pj                  4       VP)                  R4      V n        V EP                  EPm                  4       V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  EP                  ^ 4       V EP                  EP                  ^ 4       V EP                  EP                  V EP                  R4       V EP                  EP                  V EP                  4       V EP                  EP                  ^ \        EP                  4       VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        V EP                  EP                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V n        VP)                  R4      V En         VP)                  R4      V En        V EP                  EP                  RV EP                  V EP\                  4       VP)                  R4      V En        V EP                  EP                  RV EP                  V P                  4       VP)                  R4      V En        V EP
                  EP                  RV EP                  V P                  4       VP)                  R4      V En        V EP                  EP                  RV EP                  V P                  4       VP)                  R4      V En        V EP                  EP                  RV EP                  V EPb                  4       VP)                  R4      V En        VP)                  R
4      V n        VP)                  R4      V En	        VP)                  R4      V En
        VP)                  R4      V En        VP)                  R4      pV EP                  EP                  RV EP                  V EP                  4       . V En        V EP                   EP                  RV EP                  V EP                  4       ^V En        RpV'       d?   RR.V n+        V'       d-   WPV                  9  d   V PV                  EP                  V4       ME\         EP"                  ! 4       V n+        V PV                  EP%                  E\&        EP(                  R7       V'       dD   WPV                  9  d4   V EP+                  E\-        R4      V,          4       V P                  4        VEP/                  4        E\1        V PV                  4      p	E\         EP2                  ! 4       p
V PV                   EF4  pV EP5                  W4       E\7        E\7        V EP                  4      E\7        V	4      ,          4      V En        V EPd                  EP;                  V EP8                  4       V EPd                  EP=                  V EP8                  4       V EP?                  4        V
EPA                  V. 4       FS  pE\         EPB                  ! V4      pV'       g   K%  V EP5                  W4       V PX                  EP                  V4       KU  	  V ;EP                  ^,          uEn        EK7  	  VEPE                  4        V EP                  EPG                  V EP                  4       V Pp                  EPG                  V Pl                  4       / RV EPH                  bRV EPJ                  bRV EPL                  bRV EPN                  bRV EPP                  bRV EPR                  bRV EPT                  bRV EPV                  bRV EPX                  bRV EPZ                  bRV EP\                  bRV EP^                  bRV EP`                  bRV EPb                  bRV EPd                  bRV EPf                  bRV EPh                  b/ RV EPj                  bRV EPl                  bRV EPn                  bRV EPp                  bRV EPr                  bRV EPt                  bRV EPv                  bRV EPx                  bRV EPz                  bRV EP|                  bRV EP~                  bRV EP                  bRV EP                  bRV EP                  bRV EP\                  bRV EP                  bRV EP                  bC/ RV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bRV EP                  bER V EP                  bERV EP                  bERV EP                  bCERV EP                  ERV EP                  ERV EP                  ERV EP                  ERV EP                  ERV EP                  ER	V EP                  ER
V EP                  ERV EP                  ERV EP                  ERV EP                  ERV Pj                  ERV EP                  ERV EP                  /CpV EP                  X4       VEP                  V4       V P,                  EP/                  4        E\        EP                  ! ^V EP                  4       V EP                  4        R V End        V EP                  EPE                  4        V EP                  EPE                  4        V EP                  E\        8X  d   V EP                  4        MV P                  '       dq   V P2                  EP                  V P                  4       V EP                  EP                  V P                  4       V EP                  4        V EP                  4        M1V EP                  4        V P*                  EP                  \        4       V EP                  4        RV n         \        EP                  ! 4        R#   \
        P                  P                   d'   p\        T4       T P                  4         Rp?E#LmRp?ii ; i(  FTN ZpurelibZbasez/usr)Zvarsz
/sepolicy/zsepolicy.gladeouter_notebookZSELinux_windowZMain_selection_menumain_advanced_labelapplications_selection_buttonZRevert_buttonZadd_path_dialogerror_check_windowerror_check_labeladvanced_search_windowZadvanced_filterZadvanced_sortadvanced_filter_entryadvanced_search_treeviewZLogin_labellogin_seuser_comboboxZlogin_seuser_liststorelogin_name_entrylogin_mls_labellogin_mls_entryZLogin_buttonlogin_treeviewlogin_liststorelogin_filterlogin_popup_windowlogin_delete_liststorelogin_delete_windowuser_popup_windowZUser_buttonuser_liststoreuser_filteruser_treeviewuser_roles_comboboxZuser_roles_liststoreZ
User_labeluser_name_entryuser_mls_labeluser_mls_level_entryuser_mls_entryZselinux_user_comboboxuser_delete_liststoreuser_delete_windowfile_equiv_labelfile_equiv_source_entryfile_equiv_dest_entryZfile_equiv_buttonfile_equiv_treeviewfile_equiv_liststorefile_equiv_popup_windowZfile_equiv_filterfile_equiv_delete_liststorefile_equiv_delete_windowapp_system_buttonZSystem_buttonZLockdown_buttonZSystems_boxZRelabel_buttonZRelabel_button_noadvanced_systemouter_notebook_frameZsystem_policy_type_labelselect_button_browsecancel_button_browsemoreTypes_window_filesZmore_types_file_liststoreZmoreTypes_treeview_filessystem_policy_type_liststoresystem_policy_type_comboboxZEnforcing_button_defaultZPermissive_button_defaultZDisabled_button_defaultZenable_unconfinedZdisable_unconfinedZenable_permissiveZdisable_permissiveZenable_ptraceZdisable_ptracehelp_windowZ
help_textv	info_text
help_imageforward_buttonback_buttonupdate_windowupdate_treeviewZUpdate_treestoreapply_buttonZUpdate_buttonZ
Add_buttonZDelete_buttonfiles_path_entrynetwork_ports_entryfiles_popup_windownetwork_popup_windowZNetwork_labelZfiles_labelZmake_path_recursiveZfiles_type_combo_storeZfiles_class_combo_storefiles_type_comboboxfiles_class_comboboxfiles_mls_labelfiles_mls_entryZAdvanced_text_filesZcancel_delete_filesZ
tcp_buttonZ
udp_buttonZnetwork_type_combo_storeZnetwork_type_comboboxnetwork_mls_labelnetwork_mls_entryZAdvanced_text_networkZcancel_network_deleteZShow_mislabeled_filesmislabeled_files_labelwarning_filesZModify_buttonfix_label_windowfixlabel_labelfix_label_cancelfiles_delete_windowfiles_delete_treeviewfiles_delete_liststorenetwork_delete_windownetwork_delete_treeviewnetwork_delete_liststoreprogress_barZExecutable_files_treeviewexecutable_files_filterZExecutable_files_tabZexecutable_files_treestoreZfiles_buttonZWritable_files_treeviewZwritable_files_treestorewritable_files_filterZWritable_files_tabZApplication_files_treeviewapplication_files_filterZApplication_files_tabZapplication_files_treestoreZnetwork_buttonZoutbound_treeviewnetwork_out_liststorenetwork_out_filternetwork_out_tabZinbound_treeviewnetwork_in_liststorenetwork_in_filternetwork_in_tabZBoolean_treeviewboolean_liststoreboolean_filterZbooleans_more_detail_windowZbooleans_more_detail_treeviewZbooleans_more_detail_liststoreZBooleans_buttontransitions_into_treeviewtransitions_into_liststoretransitions_into_filterZTransitions_into_tabZTransitions_buttontransitions_from_treeviewtransitions_from_treestoretransitions_from_filterZTransitions_from_tabZfile_transitions_treeviewZfile_transitions_liststoreZfile_transitions_filterZfile_transitionsZcombobox_orgapplication_liststorecompletion_entryentrycompletion_objZShow_modified_only_toggleZEnforcing_labelZEnforcing_buttonZPermissive_button
status_barzSELinux statusfilter_entry
filter_boxadd_modify_delete_boxZactivateZfiles_toggle_deleteZtoggledZfile_equiv_toggle_delete1Zuser_toggle_deleteZlogin_toggle_deleteZnetwork_toggle_deleteZtoggle_updateZfiles_inner_notebookZnetwork_inner_notebookZtransitions_inner_notebookloading_guiZhttpd_tZabrt_t)keyz%s is not a valid domainZon_combo_button_clickedZon_disable_ptrace_toggledZ%on_entrycompletion_obj_match_selectedZon_filter_changedZ"on_save_changes_file_equiv_clickedZon_save_changes_login_clickedZon_save_changes_user_clickedZon_save_changes_files_clickedZon_save_changes_network_clickedZ)on_Advanced_text_files_button_press_eventZitem_in_tree_selectedZ2on_Application_file_types_treeview_configure_eventon_save_delete_clickedZ)on_moreTypes_treeview_files_row_activatedZon_retry_button_files_clickedZon_make_path_recursive_toggledZ&on_files_path_entry_button_press_eventZon_files_path_entry_changedZon_select_type_files_clickedZon_choose_fileZon_Enforcing_button_toggledZon_confirmation_closeZon_column_clickedZon_tab_switchZon_file_equiv_button_clickedzon_app/system_button_clickedzon_app/users_button_clickedon_show_advanced_search_windowZ on_Show_mislabeled_files_toggledZon_Browse_button_files_clickedZon_cancel_popup_clickedZon_treeview_cursor_changedZ on_login_seuser_combobox_changedZon_user_roles_combobox_changedZon_cancel_button_browse_clickedZon_apply_button_clickedZon_Revert_button_clickedZon_Update_button_clickedZ on_advanced_filter_entry_changedZ)on_advanced_search_treeview_row_activatedZ!on_Select_advanced_search_clickedZ!on_info_button_button_press_eventZon_back_button_clickedZon_forward_button_clickedZ#on_Boolean_treeview_columns_changedZon_completion_entry_changedZon_Add_button_clickedZon_Delete_button_clickedZon_Modify_button_clickedZon_Show_modified_only_toggledZon_cancel_button_config_clickedZon_Import_button_clickedZon_Export_button_clickedZon_enable_unconfined_toggledZon_enable_permissive_toggledZ&on_system_policy_type_combobox_changedZ#on_Enforcing_button_default_toggledZ$on_Permissive_button_default_toggledZ"on_Disabled_button_default_toggledZon_Relabel_button_toggled_cbZ%on_advanced_system_button_press_eventZon_files_type_combobox_changedZon_filter_row_changedZon_button_toggledZgtk_main_quit(o  finish_initadvanced_init
START_PAGEopager   dbus
customized
exceptionsDBusExceptionprintquitinit_curapplication
filter_txtr   ZBuilder	sysconfigZget_path	code_pathZadd_from_fileZ
get_objectr   windowmain_selection_popoverr   r   revert_buttonr   ZCursorZ
CursorTypeZWATCHbusy_cursorZLEFT_PTRready_cursorselinuxselinux_getpolicytypeinitialtypecurrent_popupimport_exportclear_entry	files_addnetwork_addmislabeled_filesall_domainsinstalled_listpreviously_modifiedfile_dialogr   r   invalid_entryr   advanced_search_filterZset_visible_funcfilter_the_dataadvanced_search_sortr   r   advanced_searchlogin_labelr   login_seuser_combolistr   r   r   login_radio_buttonr   r    Zset_sort_column_idZSortTypeZ	ASCENDINGr!   r"   r#   r$   r%   user_radio_buttonr&   r'   r(   r)   user_roles_combolist
user_labelr*   r+   r,   r-   user_comboboxr.   r/   r0   r1   r2   file_equiv_radio_buttonr3   r4   r5   file_equiv_treefilterr6   r7   r8   system_radio_buttonlockdown_radio_buttonsystems_boxrelabel_buttonrelabel_button_nor9   r:   system_policy_labelr;   r<   r=   more_types_files_liststoremoreTypes_treeviewr>   r?   policy_listpopulate_system_policyset_visibleenforcing_button_defaultpermissive_button_defaultdisabled_button_defaultinitialize_system_default_modeenable_unconfined_buttondisable_unconfined_buttonenable_permissive_buttondisable_permissive_buttonenable_ptrace_buttondisable_ptrace_buttonr@   	help_textrA   rB   rC   rD   rE   rF   update_treestorerG   update_button
add_buttondelete_buttonrH   rI   rJ   rK   popup_network_labelpopup_files_labelrecursive_path_togglefiles_type_combolistfiles_class_combolistrL   rM   rN   rO   advanced_text_filesfiles_cancel_buttonnetwork_tcp_buttonnetwork_udp_buttonnetwork_port_type_combolistnetwork_port_type_comboboxrP   rQ   advanced_text_networknetwork_cancel_buttonshow_mislabeled_files_onlyrR   rS   modify_buttonset_sensitiverT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   executable_files_treeviewr^   executable_files_tabZget_tooltip_text executable_files_tab_tooltip_txtexecutable_files_liststorefiles_radio_buttonfiles_button_tooltip_txtwritable_files_treeviewwritable_files_liststorer_   writable_files_tabwritable_files_tab_tooltip_txtapplication_files_treeviewr`   application_files_tab!application_files_tab_tooltip_txtapplication_files_liststorenetwork_radio_buttonnetwork_button_tooltip_txtnetwork_out_treeviewra   rb   rc   network_out_tab_tooltip_txtnetwork_in_treeviewrd   re   rf   network_in_tab_tooltip_txtboolean_treeviewrg   rh   boolean_more_detail_windowboolean_more_detail_treeview!boolean_more_detail_tree_data_setboolean_radio_buttonactive_buttonboolean_button_tooltip_txtri   rj   rk   transitions_into_tab transitions_into_tab_tooltip_txttransitions_radio_buttontransitions_button_tooltip_txtrl   rm   rn   transitions_from_tab transitions_from_tab_tooltip_txttransitions_file_treeviewtransitions_file_liststoretransitions_file_filtertransitions_file_tab transitions_file_tab_tooltip_txtcombobox_menuro   rp   rq   Zset_minimum_key_lengthZset_text_columnZset_match_func
match_funcZset_completionZset_icon_from_stockZ
STOCK_FINDshow_modified_onlycurrent_status_labelcurrent_status_enforcingcurrent_status_permissiverr   Zget_context_id
context_idrs   rt   ru   celldel_cell_filesconnecton_toggle_updatedel_cell_files_equivdel_cell_userdel_cell_logindel_cell_networkupdate_cellinner_notebook_filesinner_notebook_networkinner_notebook_transitionsall_entries	on_toggleloadingappendsepolicyZget_all_domainssortstrlowererrorr	   showlenZget_init_entrypoints_strcombo_box_addZfloat
percentageZset_fractionZset_pulse_step	idle_funcgetZfind_entrypoint_pathhideZ	set_modelopen_combo_menuon_disable_ptraceset_application_labelget_filter_dataupdate_to_file_equivupdate_to_loginupdate_to_userupdate_to_filesupdate_to_networkreveal_advancedcursor_changedresize_wraprx   populate_type_comboinvalid_entry_retryrecursive_pathhighlight_entry_textautofill_add_files_entryselect_type_moreon_browse_selectset_enforceconfirmation_closecolumn_clickedclear_filtersshow_file_equiv_pagesystem_interfaceusers_interfacery   show_mislabeled_filesbrowse_for_filesclose_popuplogin_seuser_combobox_changeuser_roles_combobox_changeclose_config_windowapply_changes_button_pressupdate_or_revert_changesget_advanced_filter_dataadvanced_item_selectedadvanced_item_button_pushon_help_buttonon_help_back_clickedon_help_forward_clickedresize_columnsapplication_selectedadd_button_clickeddelete_button_clickedmodify_button_clickedon_show_modified_onlyimport_config_showexport_config_showunconfined_togglepermissive_togglechange_default_policychange_default_moderelabel_on_rebootreveal_advanced_systemshow_more_types
tab_changeclosewindowpreviously_modified_initializeZconnect_signalsr   Ztimeout_add_secondsselinux_statuslockdown_initedstatusr   show_system_page	set_labelset_textshow_applications_pageclearbuttonsset_current_pagereinitZmain)selfappZtestr   eZbuilderZ
glade_filerv   pathlengthZentrypoint_dictdomainZ
entrypointdics   &&&           r   __init__ZSELinuxGui.__init__v   s8    !
M		--/J
 	++-"++IVV<LMP\\^^&66
j)%001AB(()9:&-&8&89N&O##*#5#56K#L -4-?-?@_-`*$//@::cnn&:&:;JJs~~'>'>?"88:1=!!  % #%  #--.?@")"4"45I"J!(!3!34G!H"&-&8&89Q&R#&-&8&89J&K###44T5I5IJ$+$6$6$G!%,%7%78O%P"(/(:(:;U(V%$ #--m<%,%7%78O%P"&-&8&89Q&R# ' 2 23E F&112CD&112CD")"4"4^"D%001AB&112CD//3<<3I3IJ#..~>**4+?+?@")"4"45I"J&-&8&89Q&R##*#5#56K#L  ")!3!34G!H!(!3!3M!B%001AB..q#,,2H2HI"--m<))$*>*>?$//@#*#5#56K#L $+$6$67M$N!!,,\:&112CD%001AB$+$6$67M$N!%001AB$//0GH%,%7%78O%P"")"4"45I"J !( 2 23E F'.'9'9:S'T$%,%7%78O%P"'.'9'9:M'N$#*#5#56K#L $+$6$67M$N!!!44Q8N8NO'.'9'9:S'T$%,%7%78K%L"""33D4H4HI+2+=+=>[+\((/(:(:;U(V% ")!3!34G!H#*#5#5o#F %,%7%78I%J""--m<%001AB!(!3!34G!H&112CD$+$6$67M$N!#*#5#56P#Q $+$6$67M$N!$+$6$67M$N!&-&8&89Q&R#*1*<*<=X*Y'")"4"45O"P,3,>,>?],^)+2+=+=>[+\(&&(1,  ,,U3$$007,,88?(/(:(:;U(V%)0););<W)X&'.'9'9:S'T$++- )0(:(:;N(O%)0););<P)Q&(/(:(:;N(O%)0););<P)Q&$+$6$6$G!%,%7%78H%I" #--m< ++L9 ++K8!,,\:%001AB"--m<$//@&112CD ' 2 23E F#..~>$//@!,,\:$//@ ' 2 23E F#*#5#56K#L ")"4"45I"J$+$6$67M$N!#*#5#5o#F !(!3!3M!B%,%7%78M%N"$+$6$67O$P!%,%7%78Q%R"#*#5#56K#L $+$6$67M$N!&112CD&112CD#*#5#56K#L #*#5#56K#L ")"4"4\"B")"4"4\"B+2+=+=>X+Y(*1*<*<=T*U'!(!3!34G!H!(!3!34G!H%,%7%78O%P"%,%7%78O%P"
 +2*<*<=T*U'&-&8&89Q&R#$//@$//@((/ !( 2 23E F%001AB ' 2 23E F $+#5#56K#L %,%7%78O%P"&-&8&89Q&R#%,%7%78O%P"'.'9'9:S'T$(/(:(:;U(V% $..~> *1););<W)X&'.'9'9:S'T$$$55d6J6JK$+$6$67M$N!040I0I0Z0Z0\-*1*<*<=Y*Z'''::1cll>T>TU")"4"4^"D(,(?(?(P(P(R% (/'9'9:S'T$(/(:(:;U(V%%%88CLL<R<RS%,%7%78O%P"""33D4H4HI")"4"45I"J.2.E.E.V.V.X+ +2*<*<=Y*Z'(/(:(:;U(V%%%66t7K7KL%,%7%78O%P"151H1H1Y1Y1[.+2+=+=>[+\(((;;As||?U?UV%,%7%78O%P"151K1K1\1\1^. %,$6$67G$H!*.*C*C*T*T*V'$+$6$67J$K!%,%7%78O%P"""55a9O9OP")"4"45I"J001E1EF&112CD+/+?+?+P+P+R(#*#5#56H#I $+$6$67M$N!!!44Q8N8NO!(!3!34G!H//0D0DE%001AB*.*=*=*N*N*P' !( 2 23E F!(!3!34G!H11!S\\5K5KL%001AB,,T-A-AB*1*<*<=Z*[',3,>,>?^,_)181C1CDd1e.$+$6$67H$I!!66*.*C*C*T*T*V' *1););<W)X&*1*<*<=Y*Z'''::1cll>T>TU'.'9'9:S'T$$$55d6J6JK$+$6$67M$N!040I0I0Z0Z0\-(/(:(:;O(P%.2.K.K.\.\.^+)0););<W)X&*1*<*<=Y*Z'''::1cll>T>TU'.'9'9:S'T$$$55d6J6JK$+$6$67M$N!040I0I0Z0Z0\-)0););<W)X&*1*<*<=Y*Z'''::1cll>T>TU'.'9'9:S'T$$$55d6J6JK$+$6$67I$J!040I0I0Z0Z0\- %//?%,%7%78O%P" ' 2 23E F#*#5#56K#L   77:  003  //F,,T-E-EF11!S^^D #*"4"45P"Q %,$6$67H$I!(/(:(:;M(N%)0););<O)P&!,,\://889IJ $..~>!,,\:%,%7%78O%P" &&z2	%001FG##It/D/DdFaFab$+$6$67R$S!!!)))T5J5JDLlLlm$//0DE""9d.C.CTE_E_`%001FG##It/D/DdFaFab ' 2 23J K%%i1F1FHeHef"--o>%001AB$+$6$67M$N!&-&8&89Q&R#*1*<*<=Y*Z'((7  D,A,A4CXCXY 			)T^^T5K5KL )84Ds"2"22  '','779D#)),3...JJq34s:;IIKT%%&";;=&&F v.#E$,,$7%-$GHDO**4??;,,T__=NN-11&"=
44Z@4&&t4''..t4	 > LLALL! '" 	  **4+E+EF%%//0I0IJF
%t';';F
')?)?F
 4T5O5OF
  !5!5	F

 1$2K2KF
 ,T-A-AF
 +D,?,?F
 ,T-A-AF
 .t/E/EF
 89M9MF
 $T%8%8F
 A$BRBRF
 %d&A&AF
 89Q9QF
 ,T-E-EF
  -d.A.A!F
" 5d6O6O#F
$ *4+H+H%F
& +D,A,A'F
( d33)F
* *4+;+;+F
, $T%<%<-F
.  !4!4/F
0 T//1F
4 +D,E,E5F
6 +D,A,A7F
8 *4+?+?9F
: -d.Q.Q;F
> /0J0J?F
@ -d.C.CAF
B &t'7'7CF
D )$*=*=EF
F /0Q0QGF
H -d.M.MIF
L .t/G/GMF
N &t'F'FOF
P '(E(EQF
R '(E(ESF
T /0M0MUF
V 89T9TWF
X 01O1OYF
Z 01D1D[F
\ %d&?&?]F
^ ()E)E_F
` 243F3FaF
b *4+D+DcF
d $T%<%<eF
f '(B(BgF
h '(B(BiF
j ,T-G-GkF
l .t/G/GmF
n '(?(?&(?(?*D,B,B*D,B,B4d6P6P143K3K2D4L4L0$2J2J*D,B,B3T5P5P,d.B.B#T%9%9T--KF
P 	++J7$  D$7$78$""'');;("!!#22<<T=M=MN%%..t/?/?@++-!!!###44Z@
g ,, 	!HIIKK	s   BM1 M1BN6NBN1N1BN6c                sL    / V n         \         F  p/ V P                   V&   K  	  R # N)cur_dictkeys)r`  ks   & r   r   ZSELinuxGui.init_curr  s!    A!DMM! r   c                s    ^ pV P                    FD  pV P                   V,           F*  pW!8X  d   V P                   V,          V   R# V^,          pK,  	  KF  	  R# r    N)ri  )r`  ctrirk  Zj   &&   r   
remove_curZSELinuxGui.remove_curw  sM    A]]1%%8a(+Q	 & r   c                sX    \         P                  ! 4       V n        V P                  \        8X  d   V P
                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  V P                  \        R4      4       V P                  P                  \         4       MV P#                  V P                  4       \$        P&                  P)                  R4      '       d   V P*                  P-                  R4       MV P.                  P-                  R4       \         P0                  ! 4       ^,          p\         P2                  ! 4       ^,          pV\4        8X  d   V P                  P-                  R4       V\6        8X  d   V P8                  P-                  R4       V\        8X  d   V P:                  P-                  R4       R#   \         d    \        T n         ELi ; i)FzSystem Status: Disabled/.autorelabelT)r   Zsecurity_getenforcerX  OSErrorr   r   r   r   r   r   rr   pushr   r	   rA   rZ  DISABLED_TEXTset_enforce_textosrc  existsr   
set_activer   r   selinux_getenforcemoder   r   r   r   )r`  Z
policytypeZmode   &  r   rV  ZSELinuxGui.selinux_status  s   	#!557DK ;;("%%33E:))77>**88?))77>OO  !4M2NONN$$]3!!$++.77>>/****40""--d3224Q7
--/29))44T::**55d;8((33D95  	#"DK	#s   H H)(H)c                s   V P                   '       d   R # V P                  4        RV n         V P                  P                  \        P
                  ! R4      4       / V n        V P                  P                  4       P                  R4       FR  pVP                  4       p\        V4      ^8  d   K%  RV^ ,          R\        V4      ^8  /V P                  V^,          &   KT  	  V P                  P                  V P                  R,          R,          '       * 4       V P                  P                  V P                  R,          R,          '       * 4       V P                  4        R # )NTZdeny_ptrace
ZpriorityDisabled
unconfinedpermissivedomains)rW  
wait_mouser   rx  r   Zsecurity_get_boolean_activemodule_dictr~   Zsemodule_listsplitr  r   r   ready_mouse)r`  ZmZmodrz  r   lockdown_initZSELinuxGui.lockdown_init  s   #""--g.Q.QR_.`a((*006A'')C3x!|)3SVZ3s8VW<'ZDSV$	 7 	%%00T5E5El5ST^5_1_`%%00T5E5EFY5Z[e5f1fgr   c                s   V P                  4       pV'       g   R # V P                  \        8X  d2   VP                  4       R8X  d   V P	                  V P
                  V4       V P                  \        8X  de   V P                  P                  V^4      pVP                  4       R8X  d4   V'       d,   V P                  V P                  P                  V^ 4      4       V P                  \        8X  d^   V P                  P                  V^4      pV'       d8   V P                  P                  4        V P                  P                  V4       R # R # R # )NZmore_detail_colZrestorecon_col)get_selected_iterr}   BOOLEANS_PAGEZget_namedisplay_more_detailr   
FILES_PAGE	liststore	get_valuefix_mislabeledTRANSITIONS_PAGEr   Zclickedrs   r[  )r`  treeviewZtreepathZtreecolargsiterZvisibleZ	bool_names   &&&&*   r   r1  ZSELinuxGui.column_clicked  s    %%'::&!%66((h?::#nn..tQ7G!%55'##DNN$<$<T1$EF::))00q9I))113!!**95  *r   c                sj    \         P                  ! 4       '       d   \         P                  ! 4        K2  R # rh  )r   Zevents_pendingZmain_iterationr`     &r   r  ZSELinuxGui.idle_func  s"      ""  #r   c                s     V P                   P                  V^ 4      P                  V4      R8w  d   R# R#   \         d     R# i ; i)r    TFNr
   )ro   r  findAttributeError)r`  Z
completionZ
key_stringr  Z	func_datas   &&&&&r   r   ZSELinuxGui.match_func  sF    	))33D!<AA*MQSS 		s   06 AAc                s,   V P                   P                  V P                  ^ 8g  4       V P                  P                  V P                  \	        V P
                  4      ^,
          8  4        \        V P                  : RV P
                  V P                  ,          : R2R4      pVP                  4       pVP                  4        V P                  P                  4       pVP                  VRV P                  /,          4       V P                  P                  V4       V P                   P#                  V P                  : RV P
                  V P                  ,          : R24       V P%                  V P&                  4       R#   \         d    Rp Li ; i)r    zhelp/z.txtrr   APPz.pngN)rD   r   	help_pagerC   r  	help_listopenr   readcloseZIOErrorr   Z
get_bufferr[  r   Z
set_bufferrB   Zset_from_file
show_popupr@   )r`  fdbufr      &   r   help_show_pageZSELinuxGui.help_show_page  s$   &&t~~':;))$..C<ORS<S*TU	9W9WXZ]^B'')CHHJ NN--/	3%)9)9!::;!!),%%X\XfXfIgIg&hi(()  	C	s   ,AF FFc                sX    V ;P                   ^,          un         V P                  4        R#    Nr  r  r`  r     &*r   rB  ZSELinuxGui.on_help_back_clicked      !r   c                sX    V ;P                   ^,          un         V P                  4        R# r  r  r  r  r   rC  Z"SELinuxGui.on_help_forward_clicked  r  r   c                s`   ^ V n         . V n        V P                  \        8X  d-   V P                  P                  \        R4      4       R.V n        V P                  \        8X  d.   V P                  P                  \        R4      4       . ROV n        V P                  \        8X  d   V P                  P                  4       pV\        8X  d-   V P                  P                  \        R4      4       R.V n        V\        8X  d-   V P                  P                  \        R4      4       R.V n        V\        8X  d-   V P                  P                  \        R4      4       R	.V n        V P                  \        8X  d   V P                  P                  4       pV\         8X  d-   V P                  P                  \        R
4      4       R.V n        V\"        8X  d-   V P                  P                  \        R4      4       R.V n        V P                  \$        8X  d   V P&                  P                  4       pV\(        8X  d.   V P                  P                  \        R4      4       . ROV n        V\*        8X  d-   V P                  P                  \        R4      4       R.V n        V\,        8X  d-   V P                  P                  \        R4      4       R.V n        V P                  \.        8X  d.   V P                  P                  \        R4      4       . ROV n        V P                  \0        8X  d.   V P                  P                  \        R4      4       . ROV n        V P                  \2        8X  d.   V P                  P                  \        R4      4       RR.V n        V P                  \4        8X  d-   V P                  P                  \        R4      4       R.V n        V P                  \6        8X  d-   V P                  P                  \        R4      4       R.V n        V P9                  4       # ) r    zHelp: Start PagestartzHelp: Booleans PagezHelp: Executable Files PageZ
files_execzHelp: Writable Files PageZfiles_writezHelp: Application Types PageZ	files_appz'Help: Outbound Network Connections PageZports_outboundz&Help: Inbound Network Connections PageZports_inboundz&Help: Transition from application Pagez&Help: Transition into application PageZtransition_toz&Help: Transition application file PageZtransition_filezHelp: Systems PagezHelp: Lockdown PagezHelp: Login PageloginZlogin_defaultzHelp: SELinux User PageuserszHelp: File Equivalence PageZ
file_equiv)ZbooleansZbooleans_toggledZbooleans_moreZbooleans_more_show)Ztransition_fromZtransition_from_booleanZtransition_from_boolean_1Ztransition_from_boolean_2)ZsystemZsystem_boot_modeZsystem_current_modeZsystem_exportZsystem_policy_typeZsystem_relabel)ZlockdownZlockdown_unconfinedZlockdown_permissiveZlockdown_ptrace)r  r  r}   r|   r@   	set_titler	   r  r  r	  get_current_pageEXE_PAGEWRITABLE_PAGEAPP_PAGENETWORK_PAGEr
  OUTBOUND_PAGEINBOUND_PAGEr  r  TRANSITIONS_FROM_PAGETRANSITIONS_TO_PAGETRANSITIONS_FILE_PAGESYSTEM_PAGELOCKDOWN_PAGE
LOGIN_PAGE	USER_PAGEFILE_EQUIV_PAGEr  r`  r  ipage   &* r   rA  ZSELinuxGui.on_help_button  s)   ::#&&q);'<=%YDN::&&&q)>'?@dDN::#-->>@E   **1-J+KL".%  **1-H+IJ"/   **1-K+LM"-::%//@@BE%  **1-V+WX"2!3$  **1-U+VW"1!2::))33DDFE--  **1-U+VW "J++  **1-U+VW"1!2--  **1-U+VW"3!4::$&&q)='>? LDN::&&&q)>'?@jDN::#&&q);'<=%7DN::"&&q)B'CD%YDN::(&&q)F'GH*^DN""$$r   c                s    V P                   P                  V P                  4       V P                   P                  4        R # rh  )r   Zset_relative_tor   Zpopupr  r  r   r  ZSELinuxGui.open_combo_menu(  s.    ##33D4V4VW##))+r   c                s    R V n         R# TN)r  r  r  r   r  Z SELinuxGui.set_application_label,  s
    %)"r   c                s    \        V4       R # rh  r   r  r  r   r'  ZSELinuxGui.resize_wrap/  s	    dr   c                s0   \         P                  ! 4       ^,          V n        V P                  \        8X  d   V P                  V n        V P                  \        8X  d   V P                  V n        V P                  \        8X  d   V P                  V n        R# R# r  )
r   ry  enforce_moder   r   enforce_buttonr   r   r   r   r  r  r   r   Z)SELinuxGui.initialize_system_default_mode2  sq    #::<Q?	)"&"?"?D
*"&"@"@D("&">">D )r   c                s   \        \        P                  ! \        P                  ! 4       R R7      4      ^,          pVP                  4        ^ pV Ft  pV P                  P                  4       pV P                  P                  V^ V4       W0P                  8X  d"   V P                  P                  V4       W n        V^,          pKv  	  V# )T)Ztopdown)Znextrv  Zwalkr   Zselinux_pathr  r>   r  	set_valuer   r?   rx  typeHistory)r`  Ztypesrm  Zitemr     &    r   r   Z!SELinuxGui.populate_system_policy;  s    RWWW113TBCAF

D44;;=D--77aF'''00;;C@#& 1HC  
r   c                s   V P                   R 8X  d   R#  \        ^ VP                  4       4       Fx  p VP                  W$4      pVRJ g   VRJ g   Vf   K'  VP	                  V P                   4      R8w  g/   VP                  4       P	                  V P                   4      R8w  d    R# Kz  	  R#   \        \        3 d     K  i ; i    R# ; i)r   TFr
   )r   rangeget_n_columnsr  r  r  r  Z	TypeError)r`  Zlistr  r  xval   &&&*  r   r   ZSELinuxGui.filter_the_dataH  s    ??b 	1d0023..1Cd{cUlck xx0B6#))+:J:J4??:[_a:a# ;b 4 	 '	2 	sA   C !B-C AB-$C 'C -C>C CC C
c                s   VP                  4        F  pW&,           F  w  rxR P                  V4      V3p	WP                  R,          9   dP   V P                  R,          V	,          R,          R8X  d   KW  WpP                  R,          V	,          R,          8w  d   K~  V P                  VRP                  V4      Ws4       K  	  K  	  R# )Z,portaction-dtype, N)rj  joinri  network_initial_data_insert)
r`  ra  netdprotocolZ	directionmodelrk  tportsZpkeys
   &&&&&&    r   
net_updateZSELinuxGui.net_update[  s    A GG2==00}}V,T28<D MM&1$7?? 00		%8H!V $ r   c                s^   V P                  4        \        P                  ! 4       pV P                  P	                  4        V F  pV P                  P                  4       pW,          R ,          '       d1   V P                  V4      pV P                  W,          R,          4      pMTpW,          R,          pV P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^W,          R ,          4       K  	  V P                  4        R# )modifyequivN)	r  r  Zget_file_equivr4   clearr  markupr  r  )r`  Zedictfr  namer  s   &     r   file_equiv_initializeZ SELinuxGui.file_equiv_initializef  s    '')!!'')A,,335Dx!!{{1~EHW$56)%%//a>%%//a?%%//a(9KL  	r   c           	     s   V P                  4        V P                  P                  4        \        P                  ! 4        EF  pV P                  P                  4       pV P                  P                  V^ \        VR,          4      4       VR,          pRV9   d   VP                  R4       V P                  P                  V^RP                  V4      4       V P                  P                  V^VP                  RR4      4       V P                  P                  V^VP                  RR4      4       V P                  P                  V^R4       EK  	  V P                  4        R	# )
r    r  rolesZobject_rr  levelr   r  TN)r  r&   r  r  get_selinux_usersr  r  r  remover  r  r  )r`  ur  r  r  r   user_initializeZSELinuxGui.user_initializex  s   !!#++-A&&--/D))$3qy>BgJEU"Z())$499U3CD))$155"3EF))$155"3EF))$48 . 	r   c                s   V P                  4        V P                  P                  4        \        P                  ! 4        F  pV P                  P                  4       pV P                  P                  V^ VR,          4       V P                  P                  V^VR,          4       V P                  P                  V^VR,          4       V P                  P                  V^R4       K  	  V P                  4        R# )r    r  seusermlsTN)r  r    r  r  Zget_login_mappingsr  r  r  )r`  r  r  rz  r   login_initializeZSELinuxGui.login_initialize  s    ""$,,.A''..0D  **4AfI>  **4AhK@  **4AeH=  **4D9 / 	r   c                s   \         P                  P                  VR RRR7      pV P                  WR \        V P
                  4       \         P                  P                  VR RRR7      pV P                  WR \        V P                  4       \         P                  P                  VRRRR7      pV P                  WR\        V P                  4       R# )tcpname_connectTZcheck_bools	name_bindudpN)r  networkget_network_connectr  r  ra   r  rd   )r`  ra  r     && r   network_initializeZSELinuxGui.network_initialize  s    33C\`3a5-9S9ST33CY]3^5,8Q8QR33CY]3^5,8Q8QRr   c                s    VP                  4       pVP                  V^ V4       VP                  V^V4       VP                  V^V4       VP                  V^R4       R# )r    TNr  r  )r`  r  r  ZportTyper  r     &&&&& r   r  Z&SELinuxGui.network_initial_data_insert  sM    ||~a'a*a*a&r   c                s   ^ pVP                  4       pV F.  pV^ ,          V8X  d   VP                  V4        R# V^,          pK0  	  VP                  V^,
          4      pVP                  V^ 4      \	        R4      8X  d   VP                  V4      pV^,
          pMVP                  4       pVP                  V^ V4       VP                  V4       R# )r    NMore...)	get_modelrx  get_iterr  r	   Zinsert_beforer  r  )r`  comboboxr  rm  r  rn  niterr  s   &&&     r   combo_set_active_textZ SELinuxGui.combo_set_active_text  s    &&(	Ats{##C(1HC	  ""37+ua(AiL8**51D'C##%DD!S)C r   c                s    VP                  4       pVP                  4       pV^ 8  d   R# VP                  V4      pVP                  V^ 4      # rl  )r  
get_activer  r  )r`  r  r  Zindexr  ro  r   combo_get_active_textZ SELinuxGui.combo_get_active_text  sK    &&(	##%19!!%(""4++r   c                s    Vf   R # V P                   P                  4       pV P                   P                  V^ V4       V P                   P                  V^V4       R # rh  )ro   r  r  )r`  r  val1r     &&& r   r  ZSELinuxGui.combo_box_add  sN    ;))002"",,T1c:"",,T1d;r   c                s   V P                   P                  4       pVP                  4       ^,          pVf   R# V P                  P	                  V^ 4      pV P                  V P                  V4       V P                  V P                  4       R# r  )	r   get_selectionget_selectedr   r  r  rL   rT  r=   )r`  r  ra  r     &*  r   r-  ZSELinuxGui.select_type_more  ss    %%335!!$<--77a@""4#;#;SA445r   c                s   V P                   P                  4       pVP                  4       w  r4VP                  V4      pV P                  P                  V4      pV P
                  P                  V^4      pVf   R# V P                  P                  R4       V P                  P                  4        V P                  V P                  4       V P                  P                  V4       R# )r  Nr   )r   r  r  convert_iter_to_child_iterr   ro   r  r   r[  r   r  r%  r   rp   )r`  r  rowr  r  ra  s   &*    r   r@  Z$SELinuxGui.advanced_item_button_push  s    ++99;&&(//5**EEdK((224;;""++B/##((*T556&&s+r   c                s   V P                   P                  V4      pV P                   P                  V4      pV P                  P	                  V^4      pV P
                  P                  R4       V P                  P                  4        V P                  V P                  4       V P                  P                  V4       V P                  4        R# )r  r   N)r   r  r  ro   r  r   r[  r   r  r%  r   rp   rE  )r`  r  rc  r  r  ra  r  r   r?  Z!SELinuxGui.advanced_item_selected  s    **33D9**EEdK((224;""++B/##((*T556&&s+!!#r   c                s|    V'       d4   \        V4      ^ 8  d$   V P                   F  pW^ ,          8X  g   K   R# 	  R# r    TF)r  ro   )r`  ra  itemsr  r   find_applicationZSELinuxGui.find_application  s0    3s8a<33(? 4 r   c                sb   V P                   P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R4       V P                  P                  4       pV P                  V4      '       g   R# V P                  4        V P                  P                  R4       V P                  P                  R4       V P                  P                  4        V P                  P                  4        V P                   P                  4        V P"                  P                  4        V P$                  P                  4        V P&                  P                  4        V P(                  P                  4        V P*                  P                  4        V P,                  P                  4         V^ ,          R8X  d'   \.        P0                  ! V4      pV'       g   R# W n        T P7                  4        T P9                  T P:                  P=                  4       4       T P?                  4        T PA                  T4       R T n!        T PE                  T4       T PG                  T4       T PI                  T4       T PK                  T4       T PM                  T4       T PO                  T4       T PQ                  T4       T PR                  PU                  \W        R4      T,          4       T PX                  PU                  \W        R4      T,          4       T PZ                  PU                  \W        R4      T,          4       T P\                  PU                  \W        R4      T,          4       T P^                  PU                  \W        R	4      T,          4       T P`                  PU                  \W        R
4      T,          4       T Pb                  PU                  \W        R4      T,          4       T Pd                  PU                  \W        R4      T,          4       T Pf                  Pi                  \W        R4      T,          4       T Pj                  Pi                  \W        R4      T,          4       T Pl                  Pi                  \W        R4      T,          4       T Pf                  PU                  \W        R4      T,          4       T Pj                  PU                  \W        R4      T,          4       T Pl                  PU                  \W        R4      T,          4       T Pn                  PU                  \W        R4      T,          4       Y n        T Pp                  Pi                  T P2                  4       T Ps                  4        R#   \4         d     ELi ; i)Fr   NT/z(File path used to enter the '%s' domain.z)Files to which the '%s' domain can write.z6Network Ports to which the '%s' is allowed to connect.z5Network Ports to which the '%s' is allowed to listen.z File Types defined for the '%s'.zODisplay boolean information that can be used to modify the policy for the '%s'.z;Display file type information that can be used by the '%s'.zADisplay network ports to which the '%s' can connect or listen to.z!Application Transitions Into '%s'z!Application Transitions From '%s'zFile Transitions From '%s'zVExecutables which will transition to '%s', when executing selected domains entrypoint.zQExecutables which will transition to a different domain, when '%s' executes them.z4Files by '%s' with transitions to a different label.zADisplay applications that can transition into or out of the '%s'.):r   r   rR   rS   rs   r[  rp   get_textr   r\  r   r   r   r   r  rd   ra   rg   rj   rm   r   r   r   r  Zget_init_transtyper   Z
IndexErrorr  rU  r~   r   r_  boolean_initializer   executable_files_initializer  writable_files_initializetransitions_into_initializetransitions_from_initializeapplication_files_initializetransitions_files_initializer   set_tooltip_textr	   r   rc   rf   r   r   r   r   r   rZ  r   r   r   r   r  )r`  r  ra  r  r   rE  ZSELinuxGui.application_selected  s   ''33E:##//6&&u-""2&##,,.$$S))##%%%d+((.''--/!!'')""((*$$&''--/''--/((..0%%++-''--/	1v}11#6#&  	++DII,@,@,BC$ %((-$&&s+((-((-))#.))#.!!2215_3`cf3fg003^1_be1ef--a0h.ilo.op,,Q/f-gjm-mn""33A6X4Y\_4_`!!221  6G  4H  KN  4N  	O003p1qtw1wx!!2215x3y|3  	A!!++A.Q,RUX,XY!!++A.Q,RUX,XY!!++A.J,Kc,QR!!221  6N  4O  RU  4U  	V!!221  6I  4J  MP  4P  	Q!!2215k3lor3rs%%66q9|7}  AD  8D  	E**44T5E5EFE  		s   +V ?V V.-V.c                s    \         P                  ! 4        \         P                  ! 4       V n        \         P                  ! 4       V n        R # rh  )r  r_  Z
get_fcdictfcdictZget_local_file_pathslocal_file_pathsr  r  r   r_  ZSELinuxGui.reinit+  s-    ))+ ( = = ?r   c                s   / V n         VP                  R 4       EF  pVP                  4       p\        V4      ^ 8X  d   K&  V^,          R8X  d   K6  V^ ,          V P                   9  d   / V P                   V^ ,          &   V^ ,          R8X  d*   RV^,          R8H  /V P                   R,          VR,          &   V^ ,          R8X  d0   RV^,          RV^,          /V P                   R,          VR,          &   V^ ,          R8X  d'   R	V^,          /V P                   R,          VR,          &   V^ ,          R
8X  d2   RRRV^,          RV^,          /V P                   R
,          VR,          &   V^ ,          R8X  d0   R	V^,          /V P                   R,          VR,          VR,          3&   V^ ,          R8X  d9   RV^,          RV^,          R	V^,          /V P                   R,          VR,          &   V^ ,          R8X  d   V^,          R8X  dH   RV P                   9  d   / V P                   R&   RV^,          /V P                   R,          VR,          &   M/R	V^,          /V P                   R,          VR,          V^,          3&   V^ ,          R8X  g   EKq  RV^,          R8g  /V P                   R,          VR,          &   EK  	  RV P                   9  d   R# RV P                  3RV P                  33 FN  w  rEW@P                   R,          9   g   K  VP                  V P                   R,          V,          R,          4       KP  	  \         F2  pW P                   9  g   K  V P                   P                  V/ /4       K4  	  R# )r{  z-Dbooleanactivez-1r  r  r  	interfacer  userr  s0roler  nodeZmaskr  fcontextz-efcontext-equivr  moduleenabledr  Nr}  r~  r
   i)	cust_dictr  r  r   r   rx  rj  update)r`  r  rn  ZrecZsemodulebutton   &&    r   rU  Z)SELinuxGui.previously_modified_initialize0  s   4A'')C3x1}1v~1vT^^+)+s1v&1v"6>A$5Oy)#b'21v 4<c!fgsSTv3Vw'B01v$8>A7G{+CG41v3:D'3q6SY[^_`[a2bv&s2w/1v>Dc!f=Mv&BR'9:1v393q6:sSTvW]_bcd_e2fv&s2w/1v#q6T>'t~~=;='78CJCPQFBSDNN#34c"g?EKSQRVDTDNN:.BQ/@A1v!5>A$4Ox(R19 !< 4>>)".0N0N!ORegk  hF  hF  RG  !HH>>(33!!$..":8"DY"OP !H A&%%q"g. r   c                sH   \         P                  ! V4      V n        V P                  P                  4        F  p\	        V P                  V,          4      ^ 8X  d   K&  V P                  V,          ^,          pV P                  V,          ^ ,           F  pWC3V P
                  R,          9   dR   V P
                  R,          WC3,          R,          R8X  d   KE  W P
                  R,          WC3,          R,          8w  d   Km  V P                  V P                  WBV4       K  	  K  	  R# )r    r  r  r  r  N)r  Zget_entrypointsentrypointsrj  r  ri  files_initial_data_insertr   )r`  r   exe
file_classrc  ro  r   r  Z&SELinuxGui.executable_files_initializeZ  s    #33K@##((*C4##C()Q.))#.q1J((-a00%z)BB}}Z0$1CDXNRVV mmJ78JKFSS ..t/N/NPT[ef 1	 +r   c                s     \         P                  ! V^ 4      ^,          p\         P                  ! V4      ^,          pW#8g  #   \         d     R# i ; i)r    F)r   matchpathcon
getfileconrr  )r`  rc  concur   &&  r   
mislabeledZSELinuxGui.mislabeledh  sM    	&&tQ/2C$$T*1-C: 		s   >A AAc                s   V P                  V4      '       g   R # \        P                  ! V^ 4      ^,          p\        P                  ! V4      ^,          pRV n        VP                  V^R4       VP                  V^R4       VP                  V^R4       VP                  V^VP                  R4      ^,          4       VP                  V^VP                  R4      ^,          4       R # )NT:)r%  r   r   r!  r   r  r  )r`  treerc  r  r  r"  r#  s   &&&&&  r   set_mislabeledZSELinuxGui.set_mislabeledp  s    t$$""4+A.  &q) $ua&tQ%ua&tQ		#q 12tQ		#q 12r   c           	     s   \         P                  ! V4      V n        V P                  P                  4        EF  p\	        V P                  V,          4      ^8  d*   V P                  V P                  RV\        R4      4       KN  V P                  V,          ^,          pV P                  V,          ^ ,           F  pWC3V P                  R,          9   dR   V P                  R,          WC3,          R,          R8X  d   KE  W P                  R,          WC3,          R,          8w  d   Km  V P                  V P                  WBV4       K  	  EK  	  R# )i   Nz	all filesr  r  r  r  )	r  Zget_writable_fileswritable_filesrj  r  r  r   r	   ri  )r`  r   writer  rc  ro  r   r  Z$SELinuxGui.writable_files_initialize~  s   &99+F((--/E4&&u-.2..t/L/LdTY[\]h[ij,,U3A6J++E2155%z)BB}}Z0$1CDXNRVV j 94:L Mf UU ..t/L/Ld[ef 6 0r   c                s    VP                  R 4      pVf   \        R4      pRpMW$3V P                  9   p\        P                  ! V4       F9  pVP                  V4      pVP                  V^ V4       V P                  WWX4       K;  	  V'       d4   V P                  V4      pV P                  V4      pV P                  V4      pVP                  V^ V4       VP                  V^V4       VP                  V^V4       VP                  V^V4       R # )NzMISSING FILE PATHF)r  r	   r  r  Z	find_filer  r(  r  )	r`  r  rc  Zselinux_labelr  r  r  pr  	   &&&&&    r   r  Z$SELinuxGui.files_initial_data_insert  s    %<()DF'4+@+@@F''-!((.##E1a0##I$> . {{4(![[7
![[4
D!T*D!]3D!Z0D!V,r   c                s    R V,          # )z	<b>%s</b>r   r`  r  r   r   r  ZSELinuxGui.markup  s    Qr   c           	     sr    V'       d/   \         P                  ! R R\         P                  ! RRV4      4      # R# )z</b>$r   z^<b>N)reZsubr-  r   r   unmarkupZSELinuxGui.unmarkup  s(    66'2rvvfb!'<==r   c                s   \         P                  ! V4      V n        V P                  P                  4        EF
  p\	        V P                  V,          4      ^ 8X  d   K'  V P                  V,          ^,          pV P                  V,          ^ ,           F  p\         P
                  ! W P                  R7      pWC3V P                  R,          9   dR   V P                  R,          WC3,          R,          R8X  d   Kf  W P                  R,          WC3,          R,          8w  d   K  V P                  V P                  WEV4       K  	  EK  	  R# )r    )r  r  r  r  r  N)
r  Zget_file_types
file_typesrj  r  Zget_descriptionr  ri  r  r   )r`  r   ra  r  rc  descr  r   r  Z'SELinuxGui.application_files_initialize  s    "11+>??'')C4??3'(A--a0J,Q////KKH%z)BB}}Z0$1CDXNRVV mmJ78JKFSS ..t/O/OQU]gh 0	 *r   c                sx    ^ pV P                    F'  p\        V P                   V,          4      ^ 8  g   K&   R# 	  R# r  )ri  r  )r`  rn  rk  rz  r   modifiedZSELinuxGui.modified  s3    A4==#$q(  r   c                s   \         P                  ! V4       Fn  pV Fe  w  r4W0P                  R ,          9   d"   V P                  R ,          V,          R,          p\         P                  ! V4      pV P	                  W5V4       Kg  	  Kp  	  R# )r  r  N)r  Z	get_boolsri  boolean_descboolean_initial_data_insert)r`  r   blistr   r  r1  r  r   r  ZSELinuxGui.boolean_initialize  sj    ''4E"	i00!]]95a8BF,,Q/00&A	 # 5r   c                s4   V P                   P                  4       pV P                   P                  V^ V4       V P                   P                  V^V4       V P                   P                  V^V4       V P                   P                  V^\        R4      4       R# )r    r  N)rg   r  r  r	   )r`  r  r1  r  r     &&&& r   r4  Z&SELinuxGui.boolean_initial_data_insert  sz    %%,,.((q&9((q$7((q#6((q!I,?r   c                s    \         P                  ! V4       FK  pR pR pR pRV9   d
   VR,          pRV9   d
   VR,          pRV9   d
   VR,          pV P                  W4V4       KM  	  R # )Nr  targetsource)r  Zget_transitions_into$transitions_into_initial_data_insert)r`  r   r  r  
executabler8  r  r   r  Z&SELinuxGui.transitions_into_initialize  sf    ..{;AFJFA~91}x[
1}855f&Q <r   c                sd   V P                   P                  4       pVR 8w  d8   V P                   P                  V^ \        V^ ,          ^,          ,          4       MV P                   P                  V^ R4       V P                   P                  V^V4       V P                   P                  V^V4       R # )NDefault)rj   r  r  r  )r`  r  r:  r8  r  r6  r   r9  Z/SELinuxGui.transitions_into_initial_data_insert  s    ..557T>++55dAwvayQR|?TU++55dAyI''11$:F''11$6Br   c                s^   \         P                  ! V4       F  pR pR pR pRV9   d
   VR,          pRV9   d
   VR,          pRV9   d
   VR,          pV P                  VXV4        V P                  V,          R,           F  pV P                  W4V4       K  	  K  	  R #   \         d     K  i ; i)Nr  r7  	transtypeZregex)r  Zget_transitions$transitions_from_initial_data_insertr  ZKeyError)r`  r   r  r  r:  r<  Zexecutable_types   &&     r   r  Z&SELinuxGui.transitions_from_initialize  s    ))+6AFJIA~91}"#H+akN	55foyY"&++o">w"G"GJ==fR[\ #H 7  s   $3BB,+B,c                sN   V P                   P                  R 4      pVR 8X  d=   V P                   P                  V^ R4       V P                   P                  V^R4       EMV P                   P                  V4      pV P                   P                  V^ \        V^ ,          ^,          ,          4       RpV^ ,          ^,          '       d/   V P                   P                  V^\	        R4      V,          4       M-V P                   P                  V^\	        R4      V,          4       V P                   P                  V^V^ ,          ^ ,          4       V P                   P                  V^R4       V P                   P                  V^V4       V P                   P                  V^V4       R # )Nr;  Fz:To disable this transition, go to the %sBoolean section%s.z9To enable this transition, go to the %sBoolean section%s.T)z<span foreground="blue"><u>z</u></span>)rm   r  r  r  r	   )r`  r  r:  r<  r  r  r     &&&&   r   r=  Z/SELinuxGui.transitions_from_initial_data_insert  su   ..55d;T>++55dAyI++55dAuE33::4@E++55dAwvayQR|?TUBFay||//99%Q  HD  FE  HN  FN  P//99%Q  HC  FD  GM  FM  O ++55eQq	!M++55eQE''11$:F''11$9Er   c                s    \         P                  ! V4       F?  pR V9   d   VR ,          pMRpV P                  VR,          VR,          VR,          V4       KA  	  R# )filenameNr7  classr<  )r  Zget_file_transitions%transitions_files_initial_data_insert)r`  r   rn  r?  r$  r   r	  Z'SELinuxGui.transitions_files_initialize  sP    ..{;AQZ=66q{AgJPQR]P^`hi <r   c                s4   V P                   P                  4       pV P                   P                  V^ V4       V P                   P                  V^V4       V P                   P                  V^V4       VR8X  d   RpV P                   P                  V^V4       R# )r    NZ*)r   r  r  )r`  rc  tclassdestr  r  r  r   rA  Z0SELinuxGui.transitions_files_initial_data_insert  s    ..557''11$4@''11$6B''11$4@4<D''11$4@r   c                sN   V P                  4        R V n        R V n        R V n        R V n        V P
                  P                  R4       V P                  P                  4        V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  4       '       dL   V P                   P#                  \$        4       V P&                  V n        V P                  P                  R4       V P(                  P                  4       '       Ed#   V P+                  V P                  4       V P                  P                  R4       V P                  P                  V P,                  4       V P                  P                  V P,                  4       V P                  P                  V P,                  4       V P                   P#                  \.        4       V^ ,          V P0                  8X  d   V^,          pMV P0                  P3                  4       pV\4        8X  d   V P6                  V n        \9        R4      pMOV\:        8X  d   V P<                  V n        \9        R4      pM'V\>        8X  d   V P@                  V n        \9        R4      pV PB                  PE                  \9        R4      RXRV PF                  /,          4       V PH                  PE                  \9        R	4      RVRV PF                  /,          4       V P
                  PE                  \9        R
4      RVRV PF                  /,          4       V PJ                  P                  4       '       Ed   V P                  PM                  4        V P                  P                  R4       V P                   P#                  \N        4       V^ ,          V PP                  8X  d   V^,          pMV PP                  P3                  4       pV\R        8X  d   V PT                  V n        \9        R4      pV\V        8X  d   V PX                  V n        \9        R4      pV PB                  PE                  \9        R4      RV PF                  RX/,          4       V PH                  PE                  \9        R4      RV PF                  RV/,          4       V P
                  PE                  \9        R4      RV PF                  RV/,          4       V PZ                  P                  4       '       d   V P                   P#                  \\        4       V^ ,          V P^                  8X  d   V^,          pMV P^                  P3                  4       pV\`        8X  d   V Pb                  V n        V\d        8X  d   V Pf                  V n        V\h        8X  d   V Pj                  V n        V Pl                  P                  4       '       d:   V P                   P#                  \n        4       V Pp                  P                  4        V Pr                  P                  4       '       dJ   V Pu                  4        V P                   P#                  \v        4       V Pp                  P                  4        V Px                  P                  4       '       d   V P                   P#                  \z        4       V P                  PM                  4        V P                  P                  R4       V P|                  V n        V PB                  PE                  \9        R4      4       V PH                  PE                  \9        R4      4       V P
                  PE                  \9        R4      4       V P~                  P                  4       '       d   V P                   P#                  \        4       V P                  PM                  4        V P                  P                  R4       V P                  V n        V PB                  PE                  \9        R4      4       V PH                  PE                  \9        R4      4       V P
                  PE                  \9        R4      4       V P                  P                  4       '       d   V P                   P#                  \        4       V P                  PM                  4        V P                  P                  R4       V P                  V n        V PB                  PE                  \9        R4      4       V PH                  PE                  \9        R4      4       V P
                  PE                  \9        R4      4       V P                   P3                  4       V nE        V P                  '       EdO   V Pp                  PM                  4        V P                  P                  4       V n        V P                  P                  4       V n        V P                  P                  4       V n        \        ^ V P                  P                  4       4       F  pV P                  P                  V4      pV'       g   K(  VP                  4       ^ ,          p\        V\        P                  4      '       g   Ka  V P                  P                  W@P                  R 4       K  	  V P                  P                  4       P                  4        V P
                  P                  R4       R # )NFTr:  Zwritabler   z4Add new %(TYPE)s file path for '%(DOMAIN)s' domains.ZTYPEZDOMAINz3Delete %(TYPE)s file paths for '%(DOMAIN)s' domain.zModify %(TYPE)s file path for '%(DOMAIN)s' domain. Only bolded items in the list can be selected, this indicates they were modified previously.r  zlisten for inbound connectionszMAdd new port definition to which the '%(APP)s' domain is allowed to %(PERM)s.r  ZPERMzVDelete modified port definitions to which the '%(APP)s' domain is allowed to %(PERM)s.zMModify port definitions to which the '%(APP)s' domain is allowed to %(PERM)s.z%Add new SELinux User/Role definition.z.Delete modified SELinux User/Role definitions.z7Modify selected modified SELinux User/Role definitions.z!Add new Login Mapping definition.z*Delete modified Login Mapping definitions.z3Modify selected modified Login Mapping definitions.z$Add new File Equivalence definition.z-Delete modified File Equivalence definitions.zModify selected modified File Equivalence definitions. Only bolded items in the list can be selected, this indicates they were modified previously.)Rr2  r  treesort
treefilterr  r   r   ru   r  r   r   r   rR   rS   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  rl   r  ri   r  r   r   r  rt   r   r  r  r   r  r(   r   r  r   r   r  r3   r}   r  r  r  Z
get_columnZ	get_cellsZ
isinstancer   ZCellRendererTextZset_sort_func	stripsortr  Zunselect_all)r`  r  r  Zcategoryr  Zcolr      &*     r   rS  ZSELinuxGui.tab_change   s   ((/""'')++E2''33E:##//6&&u-$$//1100? 11DM##//5""--//OOD667##//5++778M8MN''33D4I4IJ**4+@+@A00<Aw$333Q11BBD  $ > >\?-' $ < <Z=(" $ ? ?]+OO,,Q/e-fjprz  }E  GK  GW  GW  jX  .X  Y//2g0hlrt|  G  IM  IY  IY  lZ  1Z  [//  3D  1E  IO  QY  [c  ei  eu  eu  Hv  1v  w$$//11&&++-##//500>Aw$555Q33DDF% $ 9 9Y<$ $ 8 8=>OO,,Q/~-  DI  KO  K[  K[  ]c  em  Cn  .n  o//  3K  1L  PU  W[  Wg  Wg  io  qy  Oz  1z  {//  3B  1C  GL  NR  N^  N^  `f  hp  Fq  1q  r((3355001ABAw$999Q77HHJ-- $ > >++ $ > >-- $ > >##..0000=OO  "%%0022 00?OO  "!!,,..00;&&++-##//5 ..DMOO,,Q/V-WX//2b0cd//2k0lm""--//00<&&++-##//5 //DMOO,,Q/R-ST//2^0_`//2g0hi''224400A&&++-##//5 44DMOO,,Q/U-VW//2a0bc//  3H  1I  J((99;
===OO  " MM335DM"mm557DO!__668DN1dnn::<=mm..q13==?1-D!$(<(<==44QM > MM'')668((/r   c                s    VP                  4       w  rVV P                  VP                  W%4      4      pV P                  VP                  W54      4      p\        Wx4      # rh  )Zget_sort_column_idr/  r  r   )	r`  r  Zrow1Zrow2Z	user_dataZsort_columnr	   r  Zval2r,  r   rF  ZSELinuxGui.stripsort  sJ    113}}U__T?@}}U__T?@4r   c                sN   V P                   P                  V4      pV P                   P                  V4      pV P                  P	                  4        V P
                  P                  \        R 4      V P                  P                  V^4      ,          4       \        P                  ! V P                  V P                  P                  V^4      4      pV F3  pV P                  VR,          VR,          VR,          VR,          4       K5  	  V P                  V P
                  4       R# )zBoolean %s Allow Rulesr8  r7  r@  ZpermlistN)rh   r  r  r   r  r   r  r	   rg   r  r  Zget_boolean_rulesr   display_more_detail_initr  )r`  windowsrc  Zitr5  r      &&&   r   r  ZSELinuxGui.display_more_detail  s      ))$/  ;;B?..446''11!4L2MPTPfPfPpPpqsuvPw2wx**4+;+;T=S=S=]=]^`bc=deA))!H+q{AgJPQR\P]^ 778r   c                s    V P                   P                  4       pV P                   P                  V^ RV: RV: RV: RRP                  V4      : R2	4       R# )r    zallow  r&  z { z };N)r   r  r  r  )r`  r8  r7  Z
class_typeZ
permissionr  r  r   rH  Z#SELinuxGui.display_more_detail_init  s^    55<<>..88q^dflnxz}  {C  {C  DN  {O  CP  	Qr   c                s|   R V n         V P                  \        8X  d~   V P                  P	                  \        R4      V P                  ,          4       V P                  P                  \        R4      V P                  ,          4       V P                  V4       R# V P                  \        8X  d   V P                  P	                  \        R4      V P                  ,          4       V P                  P                  \        R4      V P                  ,          4       V P                  V4       V P                  P                  4       pV\         8X  d   V P"                  P	                  R4       MV P"                  P	                  R4       RV n        V P                  \&        8X  da   V P(                  P	                  \        R	4      4       V P*                  P                  \        R
4      4       V P-                  V4       RV n        V P                  \.        8X  da   V P0                  P	                  \        R4      4       V P2                  P                  \        R4      4       V P5                  V4       RV n        V P                  \6        8X  d   V P8                  P	                  R4       V P:                  P	                  R4       V P<                  P	                  \        R4      4       V P>                  P                  \        R4      4       RV n        V PA                  V P>                  4       V PC                  4        R# )FzGAdd Network Port for %s.  Ports will be created when update is applied.zAdd Network Port for %sNzMAdd File Labeling for %s. File labels will be created when update is applied.Add File Labeling for %szex: /usr/sbin/Foobarzex: /var/lib/FoobarTzGAdd Login Mapping. User Mapping will be created when Update is applied.zAdd Login MappingzQAdd SELinux User Role. SELinux user roles will be created when update is applied.zAdd SELinux Usersr   zMAdd File Equivalency Mapping. Mapping will be created when update is applied.zAdd SELinux File Equivalency)"r  r}   r  r   r[  r	   r   rK   r  init_network_dialogr  r   rJ   init_files_dialogr	  r  r  rH   r   r  r   r"   login_init_dialogr  r   r%   user_init_dialogr  r1   r2   r0   r5   r  new_updatesr  r  r   rF  ZSELinuxGui.add_button_clicked  s   ::%$$--q1z/{  @D  @P  @P  /P  Q%%//3L1MQUQaQa0ab$$T*::#""++Q/~-  DH  DT  DT  -T  U##--q1K/LPTP`P`.`a""4(-->>@E %%../EF%%../DE#D::#%%q)r'su##--a0C.DE""4(#D::"OO$$a({&|~"",,Q/B-CD!!$'#D::(((11"5&&//3!!**A.},~  A((2215S3TU#DOOD889r   c                s2    Wn         VP                  4        R # rh  )r   r  )r`  r   r   r   r  ZSELinuxGui.show_popup  s    #r   c                sp    V P                   P                  4        V P                  P                  R 4       R # T)r   r  r   r   r  r  r   r8  ZSELinuxGui.close_popup  s)    !!!$'r   c                s^   R pV P                   '       d6   V P                  4       pV'       g   V P                  P                  R4       R # RV n        V P
                  \        8X  d   V P                  V4       V P
                  \        8X  Ed}   V P                  P                  \        R4      V P                  ,          4       V P                  P                  \        R4      V P                  ,          4       R V n        V P!                  V4       RV n        Rp^pV P"                  P%                  4       pV\&        8X  d   V P(                  P+                  V4      pW n        V P,                  P/                  V^ 4      pV P0                  P                  V4       V P,                  P/                  V^4      pVR 8w  d   V P3                  V P4                  V4       V P,                  P/                  V^4      pVR 8w  d   V P3                  V P6                  V4       V\8        8X  d   V P:                  P+                  V4      pW n        V P<                  P/                  V^ 4      pV P0                  P                  V4       V P<                  P/                  V^4      p	V	R 8w  d   V P3                  V P4                  V	4       V P<                  P/                  V^4      pVR 8w  d   V P3                  V P6                  V4       V\>        8X  Ed   V P@                  P+                  V4      pW n        V PB                  P/                  V^ 4      pV P0                  P                  V4        V PB                  P/                  V^4      p
V
PE                  R4      ^,          PE                  R4      p
V PB                  P/                  V^4      p	V	R 8w  d   V P3                  V P4                  V	4       X
^ ,          pVR 8w  d   V P3                  V P6                  V4       V P
                  \H        8X  EdJ   V PK                  V4       V PL                  P                  V PN                  P/                  V^ 4      4       V PP                  P                  V PN                  P/                  V^4      4       V PR                  P                  V PN                  P/                  V^4      4       V P3                  V PT                  V PN                  P/                  V^4      4       V PV                  P                  \        R4      4       V PX                  P                  \        R	4      4       V P[                  V PX                  4       V P
                  \\        8X  Ed   V P_                  V4       V P`                  P                  V Pb                  P/                  V^ 4      4       V Pd                  P                  V Pb                  P/                  V^4      4       V P3                  V Pf                  V Pb                  P/                  V^4      4       V Ph                  P                  \        R
4      4       V Pj                  P                  \        R4      4       V P[                  V Pj                  4       V P
                  \l        8X  d   V Pn                  P                  V Pq                  V Pr                  P/                  V^ 4      4      4       V Pt                  P                  V Pq                  V Pr                  P/                  V^4      4      4       V Pv                  P                  \        R4      4       V Px                  P                  \        R4      4       RV n=        V P[                  V Px                  4       R # R #   \F         d     ELi ; i)NFTzPModify File Labeling for %s. File labels will be created when update is applied.rL  Modifyz<b>z</b>zUModify SELinux User Role. SELinux user roles will be modified when update is applied.zModify SELinux UserszLModify Login Mapping. Login Mapping will be modified when Update is applied.zModify Login MappingzPModify File Equivalency Mapping. Mapping will be created when update is applied.zModify SELinux File Equivalency)>r  r  r   r   r  r}   r  modify_button_network_clickedr  r   r[  r	   r   rJ   r  delete_old_itemrN  r	  r  r  r^   r  r   r  rH   r  rL   rM   r  r_   r   r  r`   r   r  r  r  rP  r*   r&   r,   r-   r)   r   r%   r  r  rO  r   r    r   r   r   r"   r  r1   r/  r4   r2   r0   r5   r   )r`  r  r  	operationr  r  rc  ftyperB  r  Zget_type   &*         r   rH  Z SELinuxGui.modify_button_clicked  s!   ===))+D""007::%..t4::#""++Q  0B  .C  GK  GW  GW  -W  X##--q1K/LPTP`P`.`a#'D ""4(DK IC-->>@E 33NNtT'+$66@@qI%%..t477AA$JD=..t/G/GO88BB4KT>..t/H/H&Q%11LLTR'+$44>>tQG%%..t444>>tQG4<..t/G/GN66@@qIT>..t/H/H&Q 44OOPTU'+$77AA$J%%..t4#??II$PQRH'~~e4Q7==fEH 77AA$J4<..t/G/GN!!T>..t/H/H&Q::"!!$'  ))$*=*=*G*Ga*PQ%%..t/B/B/L/LTST/UV(()<)<)F)FtQ)OP&&t'?'?ATATA^A^_cefAghOO$$a(  'A  C"",,Q/E-FGOOD223::#""4(!!**4+?+?+I+I$PQ+RS  ))$*>*>*H*Hq*QR&&t'A'A4CWCWCaCabfhiCjk%%q)w'xz##--a0F.GHOOD334::(((11$--@Y@Y@c@cdhjk@l2mn&&//d>W>W>a>abfhi>j0kl!!**A  /A  -B  D((2215V3WX#DOOD889 )9 & s   A^ ^,+^,c                s   V P                   P                  V4      pV P                   P                  V^ 4      pV P                  V P                  V4       V P                  V P                  4       V P                  P                  4        R# rl  )	r   r  r  r  rL   r  rJ   r=   r  )r`  r'  Zlocr  r  rW  r  r   r(  ZSELinuxGui.populate_type_combo=  sj    ..77<//99$B""4#;#;UC//0##((*r   c                s|    VR 8X  d   R # VP                  R4      '       d   RpMRpVP                  V4      ^ ,          # )NZ	_script_tZ_t)endswithr  )r`  re  Z
split_charr  r   strip_domainZSELinuxGui.strip_domainD  s9    T>??;''$JJ||J'**r   c                sL    V F  pVP                  V4      '       g   K   R # 	  R# )TF)
startswith)r`  r  exclude_listrb  r  r   exclude_typeZSELinuxGui.exclude_typeM  s#    Aq!!  r   c                s
   . pV P                   P                  R 4       V P                  V P                  4       V P                  P                  4       pV P                  P                  4        V P                  P                  4        V P                  V P                  4      pV P                   F  pV^ ,          P                  V4      '       g   K#  V^ ,          V P                  8w  g   K=  V^ ,          P                  R4      '       d   K]  VP                  V P                  V^ ,          4      4       K  	  V P                  P                  4         \        P                    FO  pV P                  P                  4       pV P                  P#                  V^ \        P                   V,          4       KQ  	  V\$        8X  d   V P&                  R8w  d   V P&                  P)                  4        F  pVP                  V4      '       d8   V P                  P                  4       pV P                  P#                  V^ V4       V P                  P                  4       pV P                  P#                  V^ V4       K  	  V P                   P+                  ^4       V P                   P                  R4       EMV\,        8X  d   V P.                  R8w  d   V P.                  P)                  4        F  p	V	P                  V4      '       d_   V P1                  W4      '       gH   WP2                  9   d8   V P                  P                  4       pV P                  P#                  V^ V	4       V P                  P                  4       pV P                  P#                  V^ V	4       K  	  V P                   P+                  ^ 4       EMV\4        8X  d   V P2                  R8w  d   \        P6                  ! 4        F  p
V
P                  V4      '       g   K  V
P                  V4      '       dO   V P1                  W4      '       g8   V P                  P                  4       pV P                  P#                  V^ V
4       V P                  P                  4       pV P                  P#                  V^ V
4       K  	  V P                   P+                  ^ 4       V P<                  P+                  ^ 4       V P>                  PA                  R4       V P                  P                  4       pV P                  P#                  V^ \C        R4      4       R#   \8         d    \;        R4        Li ; i)TZ	httpd_sysNFr  r  r  )"rM   r   r  rJ   r	  r  r   r  r   rZ  r   ro   r[  r  r   r  file_type_strr  r  r  rj  rx  r  r)  r]  r0  r  Zget_all_file_typesr  r   rL   rO   r[  r	   )r`  r  r\  r  ZcomparedZfilesr  r  r*  ra  rX  r   rN  ZSELinuxGui.init_files_dialogS  s   !!//5//0))::<!!'')""((*##D$4$45++Atw''AaDD4D4D,DQqT__]hMiMi##D$5$5ad$;< , 	''--/"	!//1188:**44T1h>T>TUZ>[\ 0  T%5%5%=++002C~~g..#88??A11;;D!SI::AACD33==dAsK 3 ))44Q7))77>-'D,?,?4,G!00557E''009J9J59_9_dim|m|d|#88??A11;;D!UK::AACD33==dAuM 8 ))44Q7("t$'>#668C~~g..>>'224;L;LS;_;_#'#<#<#C#C#ED 55??aM#>>EEG77AA$3O 9 ))44Q7 	  ++A.%%d+((//1!!++D!Qy\B  	'N	s.   ET4 .DT4 4AT4 T4 B$T4 4UUc                sd   V P                  4       pV'       g   V P                  P                  R 4       R# V P                  P	                  \        R4      V P                  ,          4       V P                  P                  \        R4      V P                  ,          4       RV n	        V P                  V4       Rp^pRV n        V P                  4       pV P                  P                  V^ 4      pV P                  P	                  V4       V P                  P                  V^4      pVR8X  d   V P                  P!                  R4       M"VR8X  d   V P"                  P!                  R4       V P                  P                  V^4      pVR8w  d   V P%                  V P&                  V4       W n	        R# )FNzJModify Network Port for %s.  Ports will be created when update is applied.zModify Network Port for %srS  Tr  r  )r  r   r   r   r[  r	   r   rK   r  rU  rM  r  r  r  rI   r   rx  r   r  r   )r`  r  r  rV  r  r  r  r  s   &*      r   rT  Z(SELinuxGui.modify_button_network_clicked  sn   %%',,U3  ))1-y+z  C  O  O  +O  	P!!++Q/K-LPTP`P`,`a#  &	%%'~~''a0  ))$/>>++D!4u##..t4##..t4~~''a04<&&t'F'FM#r   c                s   V P                  V P                  4       V P                  P                  4       pV P                  P                  4        V P                  P                  R 4        V\        8X  d/   \        P                  P                  V P                  RRRR7      pMlV\        8X  db   \        P                  P                  V P                  RRRR7      pV\        P                  P                  V P                  RRRR7      ,          p. pXP                  4        FO  pW5,           F@  w  rgWdRR.,           9  g   K  VP                  R	4      '       d   K/  VP!                  V4       KB  	  KQ  	  VP#                  4        V P%                  V P                  4      pVR,          R
8X  d   VRR pVR,           p^ p	^ p
V F\  pVP'                  V4      '       d   T	p
V P                  P!                  4       pV P                  P)                  V^ V4       V	^,          p	K^  	  V P*                  P-                  V
4       V P0                  P-                  R4       V P2                  P                  R4       R#   \.         d     LEi ; i)r   r  r  Tr  r  r  Zport_tZunreserved_port_tZ_typer_  Nr	   r  r
   )r  rK   r
  r  r   r  rI   r[  r  r  r  r  r   r  rj  rY  r  r  rZ  r[  r  r   rx  r  r   rQ   )r`  r  r  r  Z
port_typesrk  r  r  Zshort_domainrm  Zfoundr  s   &*          r   rM  ZSELinuxGui.init_network_dialog  s)   112++<<>((..0  ))"- 	%'';;D<L<LeUcqu;v,&'';;D<L<LeU`nr;s((<<T=M=MuVaos<ttJYY[ $HAh8K-L LL::g..$"))!, !( ! OO,,T-=-=>LB3&+CR0'#-LCE<<--E77>>@00::4AFq   ++66u=
 	**40''-	  		s    ,CI6 I6 C#I6 6JJc                   V P                  V4      pV P                  P                  4       R 8X  dY   \        P                  ! 4        F=  pW4R,          8X  g   K  V P                  P                  VP                  RR 4      4       K?  	  R# R# r   r  r  N)r  r   r  r  r  r[  r  )r`  combor  r  r     &&*  r   r9  Z'SELinuxGui.login_seuser_combobox_change  sj    ++E2((*b0//1vY&((11!%%2DE 2 1r   c                r`  ra  )r  r-   r  r  get_all_rolesr[  r  )r`  rb  r  Zseroler  rc  r   r:  Z%SELinuxGui.user_roles_combobox_change  sj    ++E2'')R/++-vY&''00w1CD . 0r   c                s   R pV P                   '       g   R # V P                   P                  4       pV'       g   R # VP                  4       w  r1V'       d5   VP                  V4      pV'       d   V P                  P                  V4      pV# rh  )r  r  r  r  rE  )r`  r  r  rD  r  r   r  ZSELinuxGui.get_selected_iter  sj    }}}mm))+))+66t<DAA$Gr   c                s   V P                   P                  R 4       V P                  4       pVR8X  d   V P                   P                  R 4       R# V P                  V,          '       d!   V P                  V,          R,          '       g   R# V P                   P                  V P                  V,          R,          4       R# )FNr
   )r   r   r  r  )r`  r  r  r  r   r&  ZSELinuxGui.cursor_changed  s    ((/%%'4<,,U3~~d##4>>$+?+C+C(()=b)ABr   c                   V P                  V P                  4       V P                  P                  4        \        P
                  ! 4       pVP                  4        V FC  pV P                  P                  4       pV P                  P                  V^ \        V4      4       KE  	  V P                  P                  R4       V P                  P                  R4       R# r    r   N)r  r"   r   r  r  Zget_all_usersr  r  r  r  r   r[  r   )r`  r  r  r  r     &*   r   rO  ZSELinuxGui.login_init_dialog  s    //0##))+&&(

A..557D''11$3q6B  	&&r*%%b)r   c                re  rf  )r  r%   r   r  r  rd  r  r  r  r  r*   r[  r-   )r`  r  r  r  r  rg  r   rP  ZSELinuxGui.user_init_dialog  s    ../!!'')&&(

A,,335D%%//aQ@  	%%b)$$R(r   c                sN   V P                   '       dV   R VP                  4       ,          pV P                  4         V P                  P	                  V4       V P                  4        R# R#   \        P
                  P                   d   pT P                  T4        Rp?LIRp?ii ; i)zboolean -m -%d deny_ptraceN)	rz   r  r  r~   semanager   r   r  r  )r`  checkbuttonupdate_bufferrb  r$  r   r  ZSELinuxGui.on_disable_ptrace	  s~    8;;Q;Q;SSMOO		""=1  
 ??00 

1s   A* *B$	BB$c                s  a V P                   P                  4       oV3R  lp. pV P                  \        8X  d}   VP	                  4       '       g   V P                  V P                  4      # V P                    F;  pV^,          V P                  R,          9   g   K$  VP                  V! V4      4       K=  	  V P                  \        8X  d   V P                  P                  4       pVP	                  4       '       gs   V\        8X  d   V P                  V P                  4      # V\        8X  d   V P                  V P                  4      # V\         8X  d   V P#                  V P                  4      # V P                    F>  pV^ ,          V^,          3V P                  R,          9   g   K-  VP                  V4       K@  	  V P                  \$        8X  d   VP	                  4       '       g   V P'                  V P                  4      # V P                    FD  pV^ ,          V^,          3V P                  R,          9   g   K-  VP                  V! V4      4       KF  	  V P                  \(        8X  dq   VP	                  4       R8X  g   V P+                  4       # V P                    F;  pV^ ,          V P                  R,          9   g   K$  VP                  V! V4      4       K=  	  V P                  \,        8X  dr   VP	                  4       '       g   V P/                  4       # V P                    F;  pV^ ,          V P                  R,          9   g   K$  VP                  V! V4      4       K=  	  V P                  \0        8X  dq   VP	                  4       R8X  g   V P3                  4       # V P                    F;  pV^ ,          V P                  R,          9   g   K$  VP                  V! V4      4       K=  	  V P                   P5                  4        V FR  pV P                   P                  4       p\7        ^ S4       F%  pV P                   P9                  WgWG,          4       K'  	  KT  	  R# )	c                 s`   < . p\        ^ S4       F  pVP                  W,          4       K  	  V# )r    )r  r  )r  lrn  rd  s   &  r   dup_rowZ1SELinuxGui.on_show_modified_only.<locals>.dup_row  s,    A1f%  &Hr   r  r  r  Tr  r  r  N)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`  ri  rl  Zappend_listr  r  r  rn  rd  s	   &&      @r   rI  Z SELinuxGui.on_show_modified_only  s?   --/	 ::&))++..t/?/?@@~~q6T^^I66&&ws|4 & ::#-->>@E))++H$;;D<L<LMMM)99$:J:JKKH$<<T=M=MNN~~FCF#t~~j'AA&&s+ & ::%))++..t/?/?@@~~FCF#t~~f'==&&ws|4 & ::())+t31133~~q6T^^,<==&&ws|4 & ::"))++++--~~q6T^^F33&&ws|4 & ::#))+t3,,..~~q6T^^G44&&ws|4 & 	C>>((*D1f%((#&9 & r   c                s    VP                  R 4      pVP                  V^ V4       VP                  V^V4       VP                  V^V4       R # rh  r  )	r`  r'  ra  r  rV  rc  ZfclassrW  r  s	   &&&&&&&& r   init_modified_files_liststoreZ(SELinuxGui.init_modified_files_liststoreW  s@    {{4 tQ%tQ&tQ'r   c                s    \        R 4       R# )zrestore to default clicked...Nr  r  r  r   restore_to_defaultZSELinuxGui.restore_to_default]  s    -.r   c                s    V P                  V P                  4       V P                  P                  R 4       V P                  P                  R 4       R# r  )rT  r   rJ   r   rK   r  r  r   r)  ZSELinuxGui.invalid_entry_retry`  s>    001--d3!!//5r   c                s<   \        V4      ^ 8X  g   V^ ,          R8w  d~   V P                  P                  4        V P                  P	                  R4       V P
                  P	                  R4       V P                  P                  \        R4      V,          4       R# R# )r    r  FzAThe entry '%s' is not a valid path.  Paths must begin with a '/'.T)	r  r   r  rJ   r   rK   r   r[  r	   )r`  Z
insert_txtr   r   error_check_filesZSELinuxGui.error_check_filese  s    z?a:a=C#7##((*##11%8%%33E:""++Q/r-s  xB  -B  Cr   c                sT    \        V4      pV^8  g   VR8  d   \        h R#   \         dy    T P                  P                  4        T P                  P                  R4       T P                  P                  R4       T P                  P                  \        R4      4        R# i ; i)r  i   Fz'Port number must be between 1 and 65536T)
ZintZ
ValueErrorr   r  rJ   r   rK   r   r[  r	   )r`  r  Zpnumr  r   error_check_networkZSELinuxGui.error_check_networkn  s    		t9Dax4%<   (   	##((*##11%8%%33E:""++Q/X-Y[	s   $ A?B'&B'c                s    V P                   '       db   V P                  V P                  4      \        R 4      8X  d7   V P                  P                  4        V P                  P                  4        R# R# R# )r  N)rz   r  rL   r	   rJ   r  r=   r  r  r  r   rR  ZSELinuxGui.show_more_types{  sZ    ))$*B*BCq|S'',,.++002 T r   c                s   V P                  4        V P                  V P                  4      pV P                  P	                  4       pV P
                  P	                  4       pV P                  '       d   V P                  4       pV P                  P                  V^ 4      pV P                  P                  V^4      pV P                  P                  V^4      pV P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^V4       RRRVRVRVRVRV/V P                  R,          V&   M7V P                  P                  R	4      pRR
RVRV/V P                  R,          V&   V P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^V4       V P                  4        R	# )r    r  -mr  r  oldrange	oldseuseroldnamer  N-a)r8  r  r   r   r  r   r  r  r    r  r  r  ri  r  rQ  )	r`  r  r  	mls_ranger  r  rt  rs  rr  s	   &*       r   r!  ZSELinuxGui.update_to_login  s   ++D,F,FG((113	$$--/;;;))+D**44T1=G,,66tQ?I++55dA>HNN$$T1g6NN$$T1i8NN$$T1h7,4dGYPXZ`blnv  yD  FO  QZ  \c  ,dDMM'"4(>>((.D,4dGYPXZ`+aDMM'"4(  q$/  q&1  q)4r   c                s$   V P                  4        V P                  V P                  4      pV P                  P	                  4       pV P
                  P	                  4       pV P                  P	                  4       pV P                  '       Ed   V P                  4       pV P                  P                  V^ 4      pV P                  P                  V^4      pV P                  P                  V^4      p	V P                  P                  V^4      p
V P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^V	4       V P                  P                  V^V
4       RRRVRVRVRV
RV	RVR	V/V P                  R
,          V&   MdV P                  P                  R4      pV'       g	   V'       d    RRRVRVRV/V P                  R
,          V&   MRRRV/V P                  R
,          V&   V P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^V4       V P                  P                  V^V4       V P                  4        R# )r    r  rq  r  r  r  rr  oldleveloldrolesrt  r  Nru  )r8  r  r)   r,   r  r-   r*   r  r  r&   r  r  r  ri  r  rQ  )r`  r  r  r  rv  r  r  rt  rx  rw  rr  rX  r   r"  ZSELinuxGui.update_to_user  sN   **4+C+CD))224''002	##,,.;;;))+D))33D!<G**44T1=H**44T1=H**44T1=HNN$$T1g6NN$$T1h7NN$$T1h7NN$$T1h7+3T7IwX]_eglnx  {C  EO  QY  [e  go  qz  |C  +DDMM&!$'>>((.DE/7w	SZ\acikp.qf%d+/7vu.Mf%d+  q$/  q%0  q%0  q)4r   c                s   V P                  4        V P                  P                  4       pV P                  P                  4       pV P                  '       d   V P                  4       pV P                  V P                  P                  V^ 4      4      pV P                  V P                  P                  V^4      4      pRRRVRVRV/V P                  R,          V&   M5V P                  P                  R4      pRRRV/V P                  R,          V&   V P                  P                  V^ V P                  V4      4       V P                  P                  V^V P                  V4      4       R# )	r    r  rq  srcoldsrcolddestr  Nru  )r8  r2   r  r1   r  r  r/  r  r  ri  r  r  )r`  r  rC  ry  r  r{  rz  rG  r   r   ZSELinuxGui.update_to_file_equiv  s#   ))224**335;;;))+DmmDNN$<$<T1$EFG]]4>>#;#;D!#DEF5=tUCQY[aclnu4vDMM*+D1>>((.D5=tUC4PDMM*+D1  q$++d*;<  q$++c*:;r   c           
     s~   V P                  4        R V n        V P                  P                  4       pV P	                  V4      '       d   R# V P                  V P                  4      pV P                  P                  4       pV P                  V P                  4      pV P                  '       d   V P                  4       pV P                  V P                  P                  V^ 4      4      pV P                  V P                  P                  V^4      4      pV P                  P                  V^4      p	RRRVRVRVRV	/V P                  R,          W%3&   M6V P                  P!                  R4      pRR	RV/V P                  R,          W%3&   V P                  P                  V^ V P#                  V4      4       V P                  P                  V^V P#                  V4      4       V P                  P                  V^V P#                  V4      4       R
V n        V P$                  P'                  R
4       V P)                  4        R# )TNr  rq  r  oldtypeoldpathZoldclassr  ru  F)r8  r   rH   r  ro  r  rL   rO   rM   r  r  unmarkr  r  r  ri  r  r  r   rx  rQ  )
r`  r  rc  setyper  rB  r  r}  	oldsetypeZ	oldtclass
   &*        r   r#  ZSELinuxGui.update_to_files  s   $$--/!!$''++D,D,DE""++-++D,E,EF;;;))+Dkk$..":":4"CDGDNN$<$<T1$EFI00q9I9A4QWYbdmox  {B  DN  PY  9ZDMM*%tn5>>((.D9A4QW8XDMM*%tn5  q$++d*;<  q$++f*=>  q$++f*=>""--e4r   c                sr   R V n         V P                  P                  4       pV P                  V4      '       d   R# V P                  P                  4       '       d   RpMRpV P                  V P                  4      pV P                  P                  4       pV P                  '       d   V P                  4       pV P                  V P                  P                  V^ 4      4      pV P                  V P                  P                  V^4      4      pV P                  V P                  P                  V^4      4      p	RRRVRVRV	R	VR
V/V P                  R,          W#3&   M8V P                  P!                  R4      pRRRVRV/V P                  R,          W#3&   V P                  P                  V^ V4       V P                  P                  V^V4       V P                  P                  V^V4       RV n         V P"                  P%                  4        V P&                  P)                  R 4       V P+                  4        R# )TNr  r  r  rq  r  r  r|  oldprotocololdportsr  ru  F)r   rI   r  rp  r   r  r  r   rQ   r  r  r~  r  r  r  ri  r  rK   r  r   r   rQ  )
r`  r  r  r  r  r  r  r  r  r  r  r   r$  ZSELinuxGui.update_to_network  s   ((113##E**""--//HH++D,K,KL$$--/;;;))+D{{4>>#;#;D!#DEH++dnn&>&>tQ&GHKDNN$<$<T1$EFI8@$PVX]_bdmox  {H  JU  Wa  ck  8lDMM&!5"34>>((.D8@$PVX]_b7cDMM&!5"34  q%0  q(3  q&1 !!&&(!!$'r   c           	     sj
   R pV P                   P                  R4       V P                  \        8X  d   V P                  P                  4        V P                  R,          pV F  w  rEW4V3,          R,          pV P                  P                  4       pV P                  P                  V^V4       V P                  P                  V^V4       V P                  P                  V^V4       K  	  V P                  V P                  4       R# V P                  \        8X  d   V P                  P                  4        V P                  R,          pV F  w  rWV
3,          R,          pV P                  P                  4       pV P                  P                  V^V	4       V P                  P                  V^V4       V P                  P                  V^\        P                  V
,          4       K  	  V P                  V P                  4       R# V P                  \         8X  Ed!   V P"                  P                  4        V P                  R,          pV F  pW,          R,          pW,          P%                  RR	4      pW,          P%                  R
R	4      pV P"                  P                  4       pV P"                  P                  V^V4       V P"                  P                  V^V4       V P"                  P                  V^V4       V P"                  P                  V^V4       K  	  V P                  V P&                  4       R# V P                  \(        8X  d   V P*                  P                  4        V P                  R,          pV F  pVV,          R,          pVV,          P%                  RR	4      pV P*                  P                  4       pV P*                  P                  V^V4       V P*                  P                  V^V4       V P*                  P                  V^V4       K  	  V P                  V P,                  4       R# V P                  \.        8X  d   V P0                  P                  4        V P2                   F  pV^,          '       g   K  V P0                  P                  4       pV P0                  P                  V^V P5                  V^ ,          4      4       V P0                  P                  V^V P5                  V^,          4      4       K  	  V P                  V P6                  4       R# R# )ZAddFr  r  Nr  r  r  r  r   r  r  r  )r   r   r}   r  r\   r  r  r  r  r  rZ   r  rY   r  r^  rW   r  r.   r  r/   r  r#   r$   r  r6   r4   r/  r7   )r`  r  rV  Z	port_dictr  r  r  r  Zfcontext_dictrc  rB  Z	user_dictr  r  r  r  Z
login_dictr  r  r  s   &*                  r   rG  Z SELinuxGui.delete_button_clicked  s   	!!%(::%))//1v.I#,"8#45f=44;;=--77aG--77aJ--77aH $- OOD667::#''--/ NN:6M -&f~6v>2299;++55dAtD++55dAvF++55dAx?U?UV\?]^ !. OOD445::"&&,,.v.I!!/o))'26!++GR81188:**44T1dC**44T1eD**44T1eD**44T1cB " OOD334::#''--/0J##E*84 '++GR82299;++55dAvF++55dAuE++55dAsC $ OOD445::(,,2242288;;BBDD44>>tQV[\]V^H_`44>>tQV[\]V^H_`	 3
 OOD99: )r   c           
     s   V P                  4        V P                  \        8X  dV   V P                   FE  pV^ ,          '       g   K  RRRV^,          /V P                  R,          V^,          V^,          3&   KG  	  V P                  \
        8X  da   V P                   FP  pV^ ,          '       g   K  RRRV^,          /V P                  R,          V^,          \        V^,          ,          3&   KR  	  V P                  \        8X  dV   V P                   FE  pV^ ,          '       g   K  RRRV^,          RV^,          /V P                  R,          V^,          &   KG  	  V P                  \        8X  d_   V P                   FN  pV^ ,          '       g   K  RRR	V^,          R
V^,          RV^,          /V P                  R	,          V^,          &   KP  	  V P                  \        8X  dM   V P                   F<  pV^ ,          '       g   K  RRRV^,          /V P                  R,          V^,          &   K>  	  V P                  4        R# )r    r  r  r  r  r  r  r  r  r  r  ry  r  N)r8  r}   r  r\   ri  r  rY   reverse_file_type_strr  r.   r  r#   r  r6   rQ  r`  r  Zdeleter  r   rx   Z!SELinuxGui.on_save_delete_clickedD  s   ::%77!99EMtU[]cde]fDgDMM&)6!9fQi*@A 8 ::#55!99`hjnpvx~  @A  yB  `CDMM*-vay:OPVWXPY:Z.[\ 6 ::"44!998@$PVWXPY[bdjkldm7nDMM&)&)4 5 ::#55!999A4RXYZR[]egmnogpry  |B  CD  |E  9FDMM'*6!95 6 ::(::!99BJDRWY_`aYbAcDMM"23F1I> ; 	r   c                sp    V P                    F%  p\        V^ ,          V^,          V^,          4       K'  	  R# rl  )rY   r   r  r  r   !on_save_delete_file_equiv_clickedZ,SELinuxGui.on_save_delete_file_equiv_clicked\  s*    11F&)VAYq	3 2r   c                s@    W2,          ^ ,          '       * W2,          ^ &   R# rl  r   )r`  r   rc  r  s   &&&&r   r  ZSELinuxGui.on_toggle_update`  s    "[^+Ar   c                s    ^ pV F[  pV^ ,          V^ ,          8X  d;   V^,          V^,          8X  d&   VP                  V4      pVP                  V4        R# V^,          pK]  	  R# rl  )r  r  )r`  r  rw   rm  r  r  rJ  r   ipage_deleteZSELinuxGui.ipage_deletec  sZ    EQx3q6!eAh#a&&8 ))#.  &1HC r   c                s   V'       g   R # V P                   P                  V4      pV P                   P                  V4      pVP                  V^4      pVP	                  V^ VP                  V^ 4      '       * 4       VP                  V^ 4      pWPP
                  R,          9   d   V P
                  R,          V MRV/V P
                  R,          V&   V P                  4        R # )Nr  r  )rh   r  r  r  r  ri  rQ  )r`  r   rc  r  r  r  r  r>  r   r  ZSELinuxGui.on_togglel  s    ""++D1""==dCtQ'aU__T1%=!=>q)==++i(..6-?DMM)$T*r   c                d    VP                  4       V n        V P                  P                  4        R # rh  )r  r   r   refilter)r`  entryr     &&*r   r>  Z#SELinuxGui.get_advanced_filter_dataz  s"    ..*##,,.r   c                r  rh  )r  r   rE  r  )r`  rI  r  r  r   r  ZSELinuxGui.get_filter_data~  s$     "**,  "r   c                s|   R V n         V P                  P                  4        V P                  R,           EFW  pV P                  R,          V,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^\        P                  ! V4      4       V P                  P                  V^\        V P                  R,          V,          R,          ,          4       V P                  P                  V^R 4       V P                  P	                  V4      pV P                  P                  V^\        R4      V,          4       V P                  P                  V^R4       EKZ  	  V P                  R,           EF  w  rgV P                  R,          Wg3,          R,          pV P                  R,          Wg3,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^V4       V P                  P                  V^ R 4       VR	8X  d8   V P                  P                  V^\        R
4      V P                  ,          4       VR8X  d8   V P                  P                  V^\        R4      V P                  ,          4       VR8X  d8   V P                  P                  V^\        R4      V P                  ,          4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R4      V,          4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R4      \        P                  V,          ,          4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R4      V,          4       EK  	  V P                  R,           EF  w  rV P                  R,          W3,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^V4       V P                  P                  V^R 4       VR	8X  d8   V P                  P                  V^\        R4      V P                  ,          4       VR8X  d8   V P                  P                  V^\        R4      V P                  ,          4       VR8X  d8   V P                  P                  V^\        R4      V P                  ,          4       V P                  P	                  V4      pV P                  P                  V^\        R4      V	,          4       V P                  P                  V^R4       V P                  P	                  V4      pV P                  P                  V^\        R4      V
,          4       V P                  P                  V^R4       V P                  R,          W3,          R,          pV P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R4      V,          4       EK  	  V P                  R,           EF  pV P                  R,          V,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^V4       V P                  P                  V^ R 4       VR	8X  d'   V P                  P                  V^\        R4      4       VR8X  d'   V P                  P                  V^\        R4      4       VR8X  d'   V P                  P                  V^\        R4      4       V P                  P	                  V4      pV P                  P                  V^\        R4      V,          4       V P                  P                  V^R4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  R,          V,          R,          pV P                  P                  V^\        R4      V,          4       V P                  R,          V,          P                  RR 4      pV P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R!4      V,          4       EK  	  V P                  R",           EF  pV P                  R",          V,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^V4       V P                  P                  V^ R 4       VR	8X  d'   V P                  P                  V^\        R#4      4       VR8X  d'   V P                  P                  V^\        R$4      4       VR8X  d'   V P                  P                  V^\        R%4      4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R&4      V,          4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  R",          V,          R',          pV P                  P                  V^\        R(4      V,          4       V P                  R",          V,          P                  RR 4      pV P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R!4      V,          4       EK  	  V P                  R),           EF	  pV P                  R),          V,          R,          pV P                  P	                  R4      pV P                  P                  V^ R 4       V P                  P                  V^V4       V P                  P                  V^ R 4       VR	8X  d'   V P                  P                  V^\        R*4      4       VR8X  d'   V P                  P                  V^\        R+4      4       VR8X  d'   V P                  P                  V^\        R,4      4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  P                  V^\        R-4      V,          4       V P                  P	                  V4      pV P                  P                  V^R4       V P                  R),          V,          R.,          pV P                  P                  V^\        R/4      V,          4       EK  	  V P                  V P                  4       R# )0Tr  r  Nr  zSELinux name: %sFr  r  ru  zAdd file labeling for %sr  zDelete file labeling for %srq  zModify file labeling for %szFile path: %szFile class: %szSELinux file type: %sr  zAdd ports for %szDelete ports for %szModify ports for %szNetwork ports: %szNetwork protocol: %sr  zAdd userzDelete userzModify userzSELinux User : %sr  z	Roles: %sr  r   zMLS/MCS Range: %sr  zAdd login mappingzDelete login mappingzModify login mappingzLogin Name : %sr  zSELinux User: %sr  zAdd file equiv labeling.zDelete file equiv labeling.zModify file equiv labeling.zFile path : %sry  zEquivalence: %s)r  r   r  ri  r  r  r  r3  r  r	   r   r^  r  r  rE   )r`  r  ZboolsrV  r  r  rc  rB  r  r  r  r  r  r  r  r  ry  s   &*               r   
update_guiZSELinuxGui.update_gui  s   ##%]]9--Ei07AI((//5D!!++D!T:!!++D!X5J5J55QR!!++D!VDMM)<TUZ<[\d<e5fg!!++D!T:))006E!!++E1q9K7LPU6UV!!++E1e< . !MM*55LDj14.A(KI]]:.~>vFF((//5D!!++D!T:!!++D!Y?!!++D!T:D %%//a!<V:W[_[k[k9klD %%//a!<Y:Z^b^n^n9noD %%//a!<Y:Z^b^n^n9no))006E!!++E1e<!!++E1q7IT6QR))006E!!++E1e<!!++E1q9I7JhNdNdekNl6lm))006E!!++E1e<!!++E1q9P7QU[6[\- 60 #mmF33NDf-t.>?II((//5D!!++D!T:!!++D!Y?!!++D!T:D %%//a!<N:OSWScSc9cdD %%//a!<Q:RVZVfVf9fgD %%//a!<Q:RVZVfVf9fg))006E!!++E1q9L7MQU6UV!!++E1e<))006E!!++E1q9O7PT\6\]!!++E1e<]]6*D+;<VDF))006E!!++E1e<!!++E1q9P7QU[6[\- 40 MM&))Df-d3H=I((//5D!!++D!T:!!++D!Y?!!++D!T:D %%//a:GD %%//a=9IJD %%//a=9IJ))006E!!++E1q9L7MQU6UV!!++E1e<))006E!!++E1e<MM&)$/7E!!++E1q~6NO--'-11'2>C))006E!!++E1e<!!++E1a8K6Ls6RS/ *2 ]]7++Eg.u5h?I((//5D!!++D!T:!!++D!Y?!!++D!T:D %%//a;N9OPD %%//a;Q9RSD %%//a;Q9RS))006E!!++E1e<!!++E1q9J7Ku6TU))006E!!++E1e<]]7+E28<F!!++E1q9K7LPV6VW--(/33GR@C))006E!!++E1e<!!++E1a8K6Ls6RS/ ,2 MM"233D&67=hGI((//5D!!++D!T:!!++D!Y?!!++D!T:D %%//a!<V:WYD %%//a!<Y:Z\D %%//a!<Y:Z\))006E!!++E1e<!!++E1q9I7Jd6RS))006E!!++E1e<-- 01$7>C!!++E1q9J7Ks6RS' 4* 	**+r   c                s   V P                   P                  4       '       d   V P                   V n        V P                  P                  4       '       d   V P                  V n        V P                  P                  4       '       d   V P                  V n        V P
                  P                  4       '       d   V P
                  V n        R # R # rh  )r   r  r   r   r   r   r  r  r   set_active_application_buttonZ(SELinuxGui.set_active_application_button	  s    $$//11!%!:!:D""--//!%!8!8D((3355!%!>!>D$$//11!%!:!:D 2r   c                s4   V P                   P                  4        V P                  P                  R 4       V P                  P                  R 4       V P
                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V P                  P                  R 4       V'       d   V P                  P                  R4       R# R# )Fr   N)r   r  r   r   r   r   r   r   r   r   r   rp   r[  )r`  r  r   r   r]  ZSELinuxGui.clearbuttons	  s    ##((*!!--e4++E2!!--e4%%11%8  ,,U3""..u5**51++E2!!**2. r   c                sP   V P                  4        V P                  P                  R 4       V P                  P                  R 4       V P                  P                  \        R4      4       V P                  P                  R 4       V P                  4        V P                  4        R# )TZSystemN)
r]  r   r   r   r   rZ  r	   rx  rS  r  r  r  r   rY  ZSELinuxGui.show_system_page"	  sv      ,,T2""..t4**44Qx[A  ++D1r   c                sp   V P                  4        V P                  4        V P                  P                  R 4       V P                  P                  \        R4      4       V P                  4        V P                  4        V P                  P                  R 4       V P                  P                  R 4       R# )TzFile EquivalenceN)r]  r  r   rx  r   rZ  r	   rS  r  r   r   r   r  r  r   r3  ZSELinuxGui.show_file_equiv_page+	  s    ""$$$//5**44Q7I5JK%%d+((.r   c                s   V P                  4        V P                  P                  R 4       V P                  P                  R 4       V P                  P                  \        R4      4       V P                  P                  R 4       V P                  4        V P                  4        V P                  4        V P                  4        V P                  P                  R 4       V P                  P                  R 4       R# )TZUsersN)r]  r   r   r   r   rZ  r	   rx  rS  r  r  r  r   r   r   r  r  r   show_users_pageZSELinuxGui.show_users_page5	  s    ++D1**40**44QwZ@**40%%d+((.r   c                sv   V P                  R 4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P
                  P                  R4       V P                  P                  R4       V P                  4        V P                  4        R# FTN)	r]  r   r   r   r   r   rx  rS  r  r  r  r   r\  Z!SELinuxGui.show_applications_pageB	  s    % !!--d3++D1!!--d3%%11$7!!,,T2r   c                &    V P                  4        R # rh  )rY  r  r  r   r4  ZSELinuxGui.system_interfaceL	  s    r   c                r  rh  )r  r  r  r   r5  ZSELinuxGui.users_interfaceO	  s    r   c                sR   . p^ pV P                   P                  4       pVP                  4       R8X  d   V P                   F  pV P                  P                  V4      pV P                  P                  V4      pV P                  P                  V4      pVR8w  g   K]  V P                  P                  V^4      R8X  d   VP                  V4       V^,          pK  	  V F  pV P                  P                  V4       K   	  R# V P                  R8w  d   V P                  P                  4        V\        8X  d   V P                  V P                  4       R# V\        8X  d   V P!                  V P                  4       R# V\"        8X  d   V P%                  V P                  4       R# R# R# )r    TNF)r	  r  r  r  rD  r  r  rE  r  r  r  r   r  r  r  r  r  r  r  )	r`  ri  r  Ziterlistrm  r  r  r  Ziterss	   &&*      r   r6  Z SELinuxGui.show_mislabeled_filesR	  sL   ))::<!!#t+}}--c2}}??EAA$G4<~~//a8EA -1HC ( "%%e, " %NN  " 001A1AB-'..t/?/?@("11$2B2BC # &r   c           	     s   \         P                  ! V4      ^,          P                  R4      ^,          p\         P                  ! V^ 4      ^,          P                  R4      ^,          pV P	                  \        R4      RVRVRV/,          RR7      \        P                  P                  8X  d.   V P                  P                  V4       V P                  4        R# R# )	r  r&  zbRun restorecon on %(PATH)s to change its type from %(CUR_CONTEXT)s to the default %(DEF_CONTEXT)s?ZPATHZCUR_CONTEXTZDEF_CONTEXTzrestorecon dialog)titleN)r   r!  r  r   verifyr	   r   ResponseTypeZYESr~   Z
restoreconrE  )r`  rc  r#  r"  r$  r   r  ZSELinuxGui.fix_mislabeledk	  s      &q)//4Q7""4+A.44S9!<;;q}~  CI  KO  Q^  `c  er  tw  Bx  x  @S;  T  X[  Xh  Xh  Xl  Xl  lII  &%%' lr   c                s    V P                   P                  V P                  4       4       V P                  P                  V P                  4       4       R # rh  )r   r   r2  r   r  r  r   rQ  ZSELinuxGui.new_updatesr	  s6    ((9((9r   c                s    V P                  4        VP                  4       \        R 4      8H  V n        V P                  '       d'   V P                  P                  \        R4      4       R# V P                  P                  \        R4      4       R# )ZUpdatezUpdate ChangeszRevert ChangesN)r  	get_labelr	   r  rE   r  r`  r  r  r  r   r=  Z#SELinuxGui.update_or_revert_changesv	  sb    '')Qx[8;;;((+;)<=((+;)<=r   c                s   V P                  4        V P                  '       d   V P                  4        MV P                  4        R V n        V P                  V P                  P                  4       4       RV n        V P                  4        V P                  4        V P                  4        V P                  P                  4        R# r  )r8  r  update_the_systemrevert_datarz   rU  r~   r   r2  rE  rQ  r   r  r  r  r   r<  Z%SELinuxGui.apply_changes_button_press~	  s    ;;;""$ ++DII,@,@,BC!!###%r   c                sL   V P                  4        V P                  4       pV P                  4         V P                  P	                  V4       V P                  4        V P                  4        R #   \        P
                  P                   d   p\        T4        R p?LQR p?ii ; irh  )
r8  format_updater  r~   rh  r   r   r   r  r   )r`  r  rj  rb  r  r   r  ZSELinuxGui.update_the_system	  sy    **,	II}- 	 ,, 	!HH	s   A/ /B#BB#c           
     sP    R ^ R^R^R^R^ /pV F  pW18X  g   K  W#,          u # 	  R# )zExecutable FileszWritable FileszApplication File TypeZInboundZOutboundZBooleansr   )r`  ZlookupZipage_valuesvaluer$  r   ipage_value_lookupZSELinuxGui.ipage_value_lookup	  s@    *A/?D[]^`iklnxz{|!E#** " r   c                s    VP                  R 4      ^,          pVP                  R 4      ^ ,          pVR8X  d	   Wn        R# V# )z: zSELinux nameN)r  bool_revert)r`  Z	attributeZbool_idr  r   get_attributes_updateZ SELinuxGui.get_attributes_update	  s<    OOD)!,	//$'*n$(r   c                s
   V P                  4        R pV P                   EF_  pVR9   dL   V P                  V,           F4  pVRV P                  V,          V,          R,          V3,          ,          pK6  	  VR9   EdA   V P                  V,           EF(  pV P                  V,          V,          R,          R8X  d   VRV,          ,          pK<  RV P                  V,          V,          9   dz   VR	V P                  V,          V,          R,          : R
V P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV: R2	,          pK  VR	V P                  V,          V,          R,          : R
V P                  V,          V,          R,          : RV: R2,          pEK+  	  VR9   Ed   V P                  V,           EFk  pV P                  V,          V,          R,          R8X  d   VRV,          ,          pK<  RV P                  V,          V,          9   d   RV P                  V,          V,          9   d   VRV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV: R2,          pEK  VRV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV: R2,          pEKn  	  VR9   d   V P                  V,           F  pV P                  V,          V,          R,          R8X  d   VRV,          ,          pK;  VRV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV: R2,          pK  	  VR9   d   V P                  V,           F  pV P                  V,          V,          R,          R8X  d   VRV,          ,          pK;  VRV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV P                  V,          V,          R,          : RV: R2	,          pK  	  VR 9   g   EK  V P                  V,           F  w  rxV P                  V,          Wx3,          R,          R8X  d   VR!V: RV: R2,          pK@  VR"V P                  V,          X,          R,          : RV P                  V,          V,          R,          : R#V: RV: R2	,          pK  	  EKb  	  V# )$r   r  zboolean -m -%d %s
r  r  r  r  zlogin -d %s
r  zlogin z -s r  z -r rK  r{  r  zuser -d %s
r  zuser z -L z -R r  r  zfcontext -d %s
z	fcontext z -e ry  r  z -t r  z -f r@  r  zport -d -p zport z -p )r  ri  )	r`  rj  rk  r   rk  r  r  r  r  s	   &        r   r  ZSELinuxGui.format_update	  s   AI~q))A!%:dmmA>Nq>QRZ>[]^=_%__M *G|q))A}}Q'*84<%1)<< DMM!$4Q$77%VWHXYZH[\dHeHegkgtgtuvgwxygz  |D  hE  hE  GK  GT  GT  UV  GW  XY  GZ  [b  Gc  Gc  ef  *g  g%$--PQBRSTBUV^B_B_aeananopaqrsatu}a~a~  AB  *C  C * F{q))A}}Q'*84<%!);; DMM!$4Q$77Gt}}UVGWXYGZ<Z%T]][\M]^_M`aiMjMjlplylyz{l|}~l  AH  mI  mI  KO  KX  KX  YZ  K[  \]  K^  _f  Kg  Kg  im  iv  iv  wx  iy  z{  i|  }C  iD  iD  FG  *H  H%qAQRSATU]A^A^`d`m`mno`pqr`stz`{`{}~) * $$q))A}}Q'*84<%);a)??%T]]STEUVWEXYaEbEbdhdqdqrsdtuvdwx}d~d~  AB  *C  C	 * Jq))A}}Q'*84<%);a)??%4==YZK[\]K^_gKhKhjnjwjwxyjz{|j}  E  kF  kF  HL  HU  HU  VW  HX  YZ  H[  \c  Hd  Hd  fg  *h  h	 * F{&*mmA&6&6ND}}Q'(89(CtK%4)PP%t}}UVGWXYGZ[cGdGdfjfsfstufvwxfy  {A  gB  gB  DL  NR  *S  S	 '7I T r   c                s    ^ p. pRpV P                    F=  pV P                   V,          ^ ,          '       g   VP                  V4       V^,          pK?  	  VP                  4        V F  pV P                  V4       K  	  R# rf  )r   r  Zreverserp  )r`  rm  Zremove_listrj  r  r  r   r  ZSELinuxGui.revert_data	  sr    **E((-a00""3'1HC + 	COOC  r   c                s0   VP                  4       \        ^ ,          8H  pV'       d   VP                  \        ^,          4       MVP                  \        ^ ,          4       V P                  P	                  V4       V P
                  P	                  V4       R# rl  )r  ADVANCED_LABELr[  r   r   r?   r`  labelr  Zadvanced   &&* r   rQ  Z!SELinuxGui.reveal_advanced_system	  se    >>#~a'88NN>!,-NN>!,-  ,,X6((44X>r   c                s   VP                  4       \        ^ ,          8H  pV'       d   VP                  \        ^,          4       MVP                  \        ^ ,          4       V P                  P	                  V4       V P
                  P	                  V4       V P                  P	                  V4       V P                  P	                  V4       R# rl  )r  r  r[  rN   r   rO   rP   rQ   r  r  r   r%  ZSELinuxGui.reveal_advanced	  s    >>#~a'88NN>!,-NN>!,-((2((2**84**84r   c                s   VP                  4       \        ^,          8X  d/   VP                  \        ^ ,          4       V P                  4        R# VP                  \        ^,          4       V P	                  V P
                  4       R# r  )r  ADVANCED_SEARCH_LABELr[  r8  r  r   )r`  r  r  r  r   ry   Z)SELinuxGui.on_show_advanced_search_window	  sY    >>4Q77NN034NN034OOD778r   c                sB   V'       dM   V P                   P                  V P                  \        R 4      4       V P                  P                  R4       R# V P                   P                  V P                  \        R4      4       V P                  P                  R4       R# )zSystem Status: EnforcingTzSystem Status: PermissiveN)rr   rs  r   r	   r   rx  r   )r`  r  r   r   ru  ZSELinuxGui.set_enforce_text	  si    OO  !4N2OP))44T:OO  !4O2PQ**55d;r   c                s    V P                   '       g   R # V P                  P                  VP                  4       4       V P	                  VP                  4       4       R # rh  )rz   r~   Z
setenforcer  ru  r`  r  r   r   r/  ZSELinuxGui.set_enforce
  sC    		V..01f//12r   c                sT   V P                   P                  4       pVR 8X  d   R # RV n        V P                   P                  4        V P                  P                  V4       V P                  R8X  d   V P                  V4       R # V P                  R8X  d   V P                  V4       R # R # )NFImportExport)	r   Zget_filenamer   r  rH   r[  r   import_configexport_config)r`  r  r?  r  r   r.  ZSELinuxGui.on_browse_select
  s    ##002t &&x0)x(8+x( ,r   c                s   V P                   P                  4       pV P                  P                  4       '       d>   VP	                  R 4      '       g%   V P                   P                  VR ,           4       R# R# VP	                  R 4      '       d6   VP                  R 4      ^ ,          pV P                   P                  V4       R# R# )(/.*)?N)rH   r  r   r  rY  r[  r  )r`  r  rc  r  r   r*  ZSELinuxGui.recursive_path
  s    $$--/%%0022==**%%..th? +]]8$$::h'*D!!**40 %r   c                s~    VP                  4       pV P                  '       d   VP                  R 4       RV n        R# R# r   FN)r  r   r[  )r`  Z	entry_objr  Ztxtr  r   r+  ZSELinuxGui.highlight_entry_text!
  s7      "r"$D r   c                s   VP                  4       pVR 8X  d   R# VP                  R4      '       d   V P                  P                  R4       \        P
                   F  pVP                  V4      '       g   K  V P                   F[  pV^ ,          P                  \        P
                  V,          4      '       g   K8  V P                  V P                  V^ ,          4       K]  	  K  	  R# )r   Nr  T)
r  rY  r   rx  r  ZDEFAULT_DIRSr[  r   r  rL   )r`  r  Ztextr_  r  ro  r   r,  Z#SELinuxGui.autofill_add_files_entry'
  s    ~~2:==""&&11$7&&Aq!!22At}}X%:%:1%=>>2243K3KQqTR 3 'r   c                s    V P                   P                  ^4      V n        V P                  P                  4       pV P                  P	                  4       pR# r  )r   Zget_colboolean_column_1Z	get_widthZget_cell_renderers)r`  r  ZwidthZrendererr  r   rD  ZSELinuxGui.resize_columns3
  sC     $ 5 5 = =a @%%//1((;;=r   c                :    V P                   P                  4        R # rh  )r   r  r  r  r   r7  ZSELinuxGui.browse_for_files8
      r   c                r  rh  )r   r  r  r  r   r;  ZSELinuxGui.close_config_window;
  r  r   c                s   V P                   V P                  P                  4       8X  d   R # V P                  \	        R4      4      \
        P                  P                  8X  d(   V P                  P                  V P                   4       R # V P                  P                  V P                  V P                  4      4       V P                  P                  R4       V P                  P                  4       V n         R # )NzChanging the policy type will cause a relabel of the entire file system on the next boot. Relabeling takes a long time depending on the size of the file system.  Do you wish to continue?T)r  r?   r  r  r	   r   r  NOrx  r~   rN  r  relabel_on_bootr  r  r   rN  Z SELinuxGui.change_default_policy>
  s    t??JJLL;;q  V  W  X  \_  \l  \l  \o  \o  o,,778H8HI		''(B(B4CcCc(de		!!$';;FFHr   c                s    V P                   '       g   R # V P                  V4       VP                  4       '       d:   V P                  P	                  VP                  4       P                  4       4       R # R # rh  )rz   enabled_changedr  r~   rO  r  r  r  r   r   rO  ZSELinuxGui.change_default_modeJ
  sW    V$II))&*:*:*<*B*B*DE r   c                    V P                   P                  \        P                  P                  4       V P                   P                  R 4       V P                   P                  4        RV n        R# )zImport Configurationr  N)r   
set_actionr   FileChooserActionZOPENr  r  r   r  r  r   rJ  ZSELinuxGui.import_config_showQ
  sQ    ##C$9$9$>$>?""#9:%r   c                r  )zExport Configurationr  N)r   r  r   r  ZSAVEr  r  r   r  r  r   rK  ZSELinuxGui.export_config_showX
  sQ    ##C$9$9$>$>?""#9:%r   c                s    V P                  4        V P                  P                  4       p\        VR 4      pVP	                  V4       VP                  4        V P                  4        R# )ZwN)r  r~   r   r  r*  r  r  )r`  r?  r  r  r$  r   r  ZSELinuxGui.export_config^
  sJ    ii""$(C 


r   c                s    \        VR 4      pVP                  4       pVP                  4        V P                  4         V P                  P                  V4       V P                  4        R#   \         d     Li ; i)r  N)r  r  r  r  r~   rh  rr  r  )r`  r?  r  r  r$  r   r  ZSELinuxGui.import_configf
  se    (C ggi

	IIs# 	  		s   A+ +A98A9c                st    W#V3V9  d   / WW43&   WV3WW43,          9  d   R VRVRV	RV
/WW43,          WV3&   R# R# )r  r  changedoldNr   )r`  rf  ra  r  rV  r+  ZqrW  r  r  r  s   &&&&&&&&&&&r   init_dictionaryZSELinuxGui.init_dictionaryq
  s[    	"#-)+CU%&6%23306uc9V]_dfi/jCU%&qt, 4r   c                sZ    VP                  R 4      ^,          pVR8X  d   R# VR8X  d   R# R# )Z-Z0FZ1TN)r  )r`  r   r   r   translate_boolZSELinuxGui.translate_boolw
  s,    GGCLO88 r   c                st   V P                   P                  4       p\        P                  P	                  R 4      pV'       d   V'       d   R# V'       g   V'       g   R#  V P
                  P                  V4       R#   \
        P                  P                   d   pT P                  T4        Rp?R# Rp?ii ; i)rq  N)
r   r  rv  rc  rw  r~   r  r   r   r  )r`  r  r  rw  rb  rg  r   rP  ZSELinuxGui.relabel_on_reboot~
  sv    $$//10ff	II%%f-,, 	JJqMM	s   A< <B7B22B7c                s   VP                  4        V P                  P                  R 4       V P                  P	                  R4       V P
                  V8X  d`   V P                  V P                  4       V P                  V P                  4      \        R4      8X  d   V P                  P                  ^ 4       V P                  V8X  d\   V P                  '       d   V P                  V P                  4       M-V P                  '       d   V P                  V P                  4       V P                  P!                  4       '       g!   V P"                  P!                  4       '       d   V P$                  P'                  R4       V P                  P'                  R 4       V P(                  P'                  R 4       V P*                  P'                  R4       V P"                  P'                  R 4       V P,                  P'                  R 4       V P.                  P1                  4       \2        ^,          8X  d'   V P.                  P5                  \2        ^ ,          4       R# )FTr  )r  r   rx  r   r   r=   r  rJ   r  rL   r	   r   r   r   rK   rN   Zget_visiblerP   r   r   rO   r   rQ   r   r  r  r[  )r`  r   r  r  r   rT  ZSELinuxGui.closewindow
  s   ""--e4!!$'&&&0OOD334))$*B*BCq|S((33A6""f,~~~ 7 78!!! 9 9:++--1G1G1S1S1U1U$$006  ,,U3  ,,U3&&2248""..u5""..u5##,,.2G2JJ$$--.CA.FGr   c                    V P                   P                  4       P                  V P                  4       V P	                  4        R # rh  )r   
get_window
set_cursorr   r  r  r  r   r  ZSELinuxGui.wait_mouse
  s-     ++D,<,<=r   c                r  rh  )r   r  r  r   r  r  r  r   r  ZSELinuxGui.ready_mouse
  s-     ++D,=,=>r   c                sn   \         P                  ! R ^ \         P                  P                  \         P                  P
                  V4      pVP                  V4       VP                  \         P                  P                  4       VP                  4        VP                  4       pVP                  4        V# rh  )r   MessageDialogMessageTypeZINFOButtonsTypeZYES_NOr  set_positionWindowPositionMOUSEshow_allrundestroy)r`  messager  dlgZrcs   &&&  r   r  ZSELinuxGui.verify
  s|    a)=)= # 6 6 ') 	e++112WWY	r   c                sL   \         P                  ! R ^ \         P                  P                  \         P                  P
                  V4      pVP                  \         P                  P                  4       VP                  4        VP                  4        VP                  4        R # rh  )r   r  r  ZERRORr  ZCLOSEr  r  r  r  r  r  )r`  r  r  r  r   r  ZSELinuxGui.error
  si    a)>)> # 5 5 ') 	++112	r   c                s   VP                  4       '       g   R # VP                  4       pVR8X  dh   V P                  \        8w  dS   V P	                  \        R4      4      \        P                  P                  8X  d   V P                  P                  R4       VR8w  dh   V P                  \        8X  dS   V P	                  \        R4      4      \        P                  P                  8X  d   V P                  P                  R4       Wn	        R # )Nr|  a  Changing to SELinux disabled requires a reboot.  It is not recommended.  If you later decide to turn SELinux back on, the system will be required to relabel.  If you just want to see if SELinux is causing a problem on your system, you can go to permissive mode which will only log errors and not enforce SELinux policy.  Permissive mode does not require a reboot.  Do you wish to continue?TzChanging to SELinux enabled will cause a relabel of the entire file system on the next boot. Relabeling takes a long time depending on the size of the file system.  Do you wish to continue?)r  r  r  r   r  r	   r   r  r  r  rx  )r`  Zradior  r  r   r  ZSELinuxGui.enabled_changed
  s    !!!J4#4#4#@{{1  e  f  g  kn  k{  k{  k~  k~  ~##..t4J4#4#4#@{{1  ]  ^  _  cf  cs  cs  cv  cv  v##..t4#r   c                sr    V P                   P                  R 4       V P                  P                  R4       R# r  )rs   r[  r   rx  r  r  r   r2  ZSELinuxGui.clear_filters
  s*    ""2&**51r   c                   V P                   '       g   R # V P                  4        V P                  P                  4       '       d   V P                  P                  R4       MV P                  P                  R4       V P                  4        R # )Nzmodule -e unconfinedzmodule -d unconfined)rz   r  r   r  r~   rh  r  r  r  r   rL  ZSELinuxGui.unconfined_toggle
  sb    ((3355II56II56r   c                r  )Nzmodule -e permissivedomainszmodule -d permissivedomains)rz   r  r   r  r~   rh  r  r  r  r   rM  ZSELinuxGui.permissive_toggle
  sb    ((3355II<=II<=r   c                s    \        V P                  4      ^ 8  dD   V P                  \        R4      \        R4      4      \        P
                  P                  8X  d   R# V P                  4        R# )r    a0  You are attempting to close the application without applying your changes.
    *    To apply changes you have made during this session, click No and click Update.
    *    To leave the application without applying your changes, click Yes.  All changes that you have made during this session will be lost.zLoss of data DialogTN)r  r   r  r	   r   r  r  r   r  r  r   r0  ZSELinuxGui.confirmation_close
  sz    t$$%){{1  R  S  UV  Wl  Um  n  ru  rB  rB  rE  rE  E		r   c                s2    \         P                  ! ^ 4       R# rl  )sysZexitr  r  r   r   ZSELinuxGui.quit
  s    r   )r   r   ru   r   r{   r   r   r   r   r   r9   r   r   r   r  r8   r   r`   r   r   r   r   ro   r   rG   rD   r  r   r  rh   rg   r   r   r   r   r   r   r<   r   r   r   r   rp   r   ri  r   r   r   r   r  r~   r  r  r  r  r  r   rU  r   r   r   r   r   r   r   r  r  r   rq   r  r   r   r^   r   r   r   r   r  r   r6   r7   r2   r0   r4   r5   r   r1   r   r3   r0  r   r   r   rM   r   rY   rX   rW   rO   rN   rH   rJ   r   rL   r   rt   rs   r   rz   rV   rT   rU   rC   rB   r  r  r   r@   r   rA   r   r	  r
  r  r   r   r  r  r  rW  r   r#   r$   r!   r   r    r   r   r   r"   r   r   r   r   r   r   r   rR   r  r   r  r   r=   r   r   r   r   r\   r[   rZ   re   rd   rf   r   r   rQ   rP   rb   ra   rc   r   r   rK   r   r   rI   r   r   r   r}   r   r:   r  r   r   r   r   r   r]   r   r   r   r   r   r;   r  r   r   rX  rr   r   r?   r>   r   r   r   r   r   r   r   r   rn   r   r   rm   rl   rk   rj   r   r   ri   r   rE  rD  r  r  r  r   r  r   rF   rE   r   r.   r/   r'   r   r&   r-   r+   r,   r*   r%   r   r)   r   r(   rS   r   r)  r_   r   r   r   r   )NFrR  )r   )__name__Z
__module__Z__qualname__Z__firstlineno__rg  r   rp  rV  r  r1  r  r   r  rB  rC  rA  r  r  r'  r   r   r   r  r  r  r  r  r  r  r  r  r-  r@  r?  r   rE  r_  rU  r  r%  r(  r  r  r  r/  r  r2  r  r4  r  r9  r  r=  r	  rA  rS  rF  r  rH  rF  r  r8  rH  r(  rZ  r]  rN  rT  rM  r9  r:  r  r&  rO  rP  r  rI  rm  rn  r)  ro  rp  rR  r!  r"  r   r#  r$  rG  rx   r  r  r  r  r>  r  r  r  r]  rY  r3  r  r\  r4  r5  r6  r  rQ  r=  r<  r  r  r  r  r  rQ  r%  ry   ru  r/  r.  r*  r+  r,  rD  r7  r;  rN  rO  rJ  rK  r  r  r  r  rP  rT  r  r  r  r  r  r2  rL  rM  r0  r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   t   s    zx"
>"6*!*>%@,*?&	W$	S'!$,<6,$@D@
(/Tg3g -(
iB@RC$F,jA{0z	9Q'R
W:r++3Cj$4).VFEC	*	)B:H(/6
30><:>?B04,/#E,N;/// D2(:>&	-^
!?	59<3
)1%
S>
  
IF&&	k0	$2 r   r   Z__main__)i   )	r  r  r  r  r  r  r  r  r  )AZgiZrequire_versionZgi.repositoryr   r   r   Zsepolicy.sedbusr   r  r  r   r   r   r   Zsepolicy.networkZsepolicy.manpager~   rv  r.  ZunicodedataZPROGNAMEZgettextZkwargsZversion_infoZtranslationr  r	   Zbuiltinsr  Z__dict__ZImportErrorZ__builtin__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|   rj  rt  r   r  r  r   r   r   <module>r     s	  6 
   5%      ' 
   3 3    	 	 ,F
$ yH 	#1	#	# "	#A 	
		A  			A78(0034 
  T7AeH

I,(	$ M"Am$45/0!4H2IJ    
 
	
h  w) w)rS zLE mU,,!$# ,$+S!,s+   !AE   F#E88FFFF