Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/system/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/system/seboolean.pyc

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zdd
l	Z	dd
l
Z
d
Zydd
l
Z
eZWn#ek
r�e
j�ZeZnXd
Zydd
lZeZWn#ek
r�e
j�ZeZnXddlmZmZddlmZdd
lmZmZed�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$dd�Z%d�Z&d�Z'd�Z(d�Z)e*dkr�e)�nd
S(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontstableinterfacetstatustcoretsupported_bys
---
module: seboolean
short_description: Toggles SELinux booleans
description:
     - Toggles SELinux booleans.
version_added: "0.7"
options:
  name:
    description:
      - Name of the boolean to configure.
    required: true
  persistent:
    description:
      - Set to C(yes) if the boolean setting should survive a reboot.
    type: bool
    default: 'no'
  state:
    description:
      - Desired boolean value
    type: bool
    required: true
  ignore_selinux_state:
    description:
    - Useful for scenarios (chrooted environment) that you can't get the real SELinux state.
    type: bool
    default: false
    version_added: '2.8'
notes:
   - Not tested on any Debian based system.
requirements:
- libselinux-python
- libsemanage-python
author:
- Stephen Fromm (@sfromm)
s�
- name: Set httpd_can_network_connect flag on and keep it persistent across reboots
  seboolean:
    name: httpd_can_network_connect
    state: yes
    persistent: yes
N(t
AnsibleModuletmissing_required_lib(tbinary_type(tto_bytestto_textcC`s|tkrtStj�S(N(tTruetselinuxtis_selinux_enabled(tignore_selinux_state((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytget_runtime_statusRscC`s�g}ytj�\}}Wn!tk
r?|jdd�nXt|�dkrwt|dt�rwt|�}qwn||kr�tSt	SdS(Ntmsgs#Failed to get list of boolean namesi(
Rtsecurity_get_boolean_namestOSErrort	fail_jsontlent
isinstanceR
RR
tFalse(tmoduletnametboolstrc((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pythas_boolean_valueVs
cC`sYd}ytj|�}Wn%tk
r@|jdd|�nX|dkrQtStSdS(NiRs0Failed to determine current state for boolean %si(Rtsecurity_get_boolean_activeRRR
R(RRtstate((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytget_boolean_valuegs
cC`s�tj�}|s%|jdd�ntj|�}|dkrPtj|�n|dkro|jdd�n|dkr�tj�dkr�|jdd�q�|jdd�ntj|�dkr�tj|�|jdd�n|S(NRs(Failed to create semanage library handleis,Failed to determine whether policy is manages5Cannot set persistent booleans without managed policys2Cannot set persistent booleans; please try as rootsFailed to connect to semanage(tsemanagetsemanage_handle_createRtsemanage_is_managedtsemanage_handle_destroytostgetuidtsemanage_connect(Rthandletmanaged((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytsemanage_get_handless 
cC`s9tj|�dkr5tj|�|jdd�ndS(NiRs$Failed to begin semanage transaction(R!tsemanage_begin_transactionR$R(RR(((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pyR+�s
c	C`s#tj|�\}}|dkrAtj|�|jdd�ntj|||�dkr|tj|�|jdd�ntj||�\}}|dkr�tj|�|jdd�ntj||�\}}|dkrtj|�|jdd�n|s.tj|�|jdd|�ntj||�\}}|dkrrtj|�|jdd�ntj||�tj	|||�dkr�tj|�|jdd	�ntj
|||�dkr�tj|�|jdd
�ntj|�tj|�tj|�dS(NiRs(Failed to create seboolean with semanages*Failed to set seboolean name with semanages+Failed to extract boolean key with semanages%Failed to check if boolean is defineds6SELinux boolean %s is not defined in persistent policys,Failed to query boolean in persistent policys*Failed to modify boolean key with semanages.Failed to set boolean key active with semanage(
R!tsemanage_bool_createR$Rtsemanage_bool_set_nametsemanage_bool_key_extracttsemanage_bool_existstsemanage_bool_querytsemanage_bool_set_valuetsemanage_bool_modify_localtsemanage_bool_set_activetsemanage_bool_key_freetsemanage_bool_free(	RR(RtvalueRtt_btboolkeytexiststsebool((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytsemanage_set_boolean_value�s@









c	C`s�tj|�\}}|dkrAtj|�|jdd�ntj|||�dkr|tj|�|jdd�ntj||�\}}|dkr�tj|�|jdd�ntj||�\}}|dkrtj|�|jdd�n|s.tj|�|jdd|�ntj||�\}}|dkrrtj|�|jdd�ntj|�}tj	|�tj
|�tj
|�|S(	NiRs(Failed to create seboolean with semanages*Failed to set seboolean name with semanages+Failed to extract boolean key with semanages%Failed to check if boolean is defineds6SELinux boolean %s is not defined in persistent policys,Failed to query boolean in persistent policy(R!R,R$RR-R.R/R0tsemanage_bool_get_valueR4R5(	RR(RRR7R8R9R:R6((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytsemanage_get_boolean_value�s6








cC`sItj||�tj|�dkrEtj|�|jdd�ndS(NiRs$Failed to commit changes to semanage(R!tsemanage_set_reloadtsemanage_commitR$R(RR(tload((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pyR?�s
cC`s?tj|�}tj|�|dkr;|jdd�ndS(NiRs"Failed to disconnect from semanage(R!tsemanage_disconnectR$R(RR(R((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytsemanage_destroy_handle�s
cC`s�d}t}|rd}ny}t|�}t||�t|||�}||kr�t}|js�t||||�t||�q�nt||�Wn3t	k
r�}|j
dd|t|�f�nX|S(NiiRu*Failed to manage policy for boolean %s: %s(RR*R+R=R
t
check_modeR;R?RBt	ExceptionRR(RRRR6tchangedR(t	cur_valuete((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytsemanage_boolean_value�s"	
	$cC`swd}d}|rd}nytj||�}Wn+tk
r^|jdd||f�nX|dkrotStSdS(NiiRsFailed to set boolean %s to %s(Rtsecurity_set_booleanRRR
R(RRRRR6((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytset_boolean_values	
cC`sBtdtdtdddt�dtdddt�d	tdddt�d
tdddt��dt�}ts�|jdtd
�dt�nts�|jdtd�dt	�n|j
d}t|�s�|jdd�n|j
d}|j
d	}|j
d
}td|d	|d
|�}t}tt
d�rKt
j|�}nt||�sq|jdd|�n|r�t|||�}n�t||�}||kr't}|js't|||�}|s�|jdd||f�nyt
j�Wq$tk
r |jdd|�q$Xq'n||d<|j|�dS(Nt
argument_specRttypetbooltdefaultRtstrtrequiredt
persistentRtsupports_check_modeRslibselinux-pythont	exceptionslibsemanage-pythons!SELinux is disabled on this host.tselinux_boolean_subs"SELinux boolean %s does not exist.sFailed to set boolean %s to %ss)Failed to commit pending boolean %s valueRE(RtdictRR
tHAVE_SELINUXRR	tSELINUX_IMP_ERRt
HAVE_SEMANAGEtSEMANAGE_IMP_ERRtparamsRthasattrRRTRRHR RCRJtsecurity_commit_booleansRDt	exit_json(RRRRQRtresultRERF((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pytmainsR	



		

t__main__(+t
__future__RRRRLt
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLESR%t	tracebacktNoneRWRR
RVtImportErrort
format_excRRYR!RXtansible.module_utils.basicRR	tansible.module_utils.sixR
tansible.module_utils._textRRRRR R*R+R;R=R?RBRHRJR_t__name__(((sD/usr/lib/python2.7/site-packages/ansible/modules/system/seboolean.pyt<module>sN


%





					+	%					=

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]