shell bypass 403

Cubjrnet7 Shell


name : helpers.cpython-39.pyc
a

'�Dg�@�@sddlZddlZddlZddlmZmZmZddlmZddl	m	Z	ddl
mZmZm
Z
mZddlmZmZmZmZe�e�ZGdd�de�ZGd	d
�d
�ZGdd�d�ZGd
d�d�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Z Gdd�dej!�Z"Gdd�de�Z#dS)�N)�
NoOptionError�NoSectionError�RawConfigParser)�StringIO)�time)�persistence�settings�
type_utils�util)�CFG_ENV_NAME�
PER_ALWAYS�PER_INSTANCE�PER_ONCEc@seZdZdS)�LockFailureN��__name__�
__module__�__qualname__�rr�5/usr/lib/python3.9/site-packages/cloudinit/helpers.pyrsrc@seZdZdS)�	DummyLockNrrrrrrsrc@s4eZdZdd�Zejddd��Zdd�Zdd	�Zd
S)�DummySemaphorescCsdS�Nr��selfrrr�__init__!szDummySemaphores.__init__Fccst�VdSr)r)r�_name�_freqZ_clear_on_failrrr�lock$szDummySemaphores.lockcCsdS�NFr�rrrrrr�has_run(szDummySemaphores.has_runcCsdS)NTrr rrr�clear+szDummySemaphores.clearN)F)	rrrr�
contextlib�contextmanagerrr!r"rrrrr s
rc@seZdZdd�Zdd�ZdS)�FileLockcCs
||_dSr)�fn)rr&rrrr0szFileLock.__init__cCsdt�|�|jfS)Nz<%s using file %r>)r	Zobj_namer&rrrr�__str__3szFileLock.__str__N)rrrrr'rrrrr%/sr%cCs|�dd�S)N�-�_)�replace)�namerrr�canon_sem_name7sr,c@sDeZdZdd�Zejddd��Zdd�Zdd	�Zd
d�Z	dd
�Z
dS)�FileSemaphorescCs
||_dSr)�sem_path)rr.rrrr<szFileSemaphores.__init__FccsDt|�}z|�||�VWn$ty>|r8|�||��Yn0dSr)r,�_acquire�	Exceptionr")rr+�freq�
clear_on_failrrrr?szFileSemaphores.lockc	CsNt|�}|�||�}zt�|�Wn&ttfyHt�td|�YdS0dS)NzFailed deleting semaphore %sFT)r,�	_get_pathr
Zdel_file�IOError�OSError�logexc�LOG)rr+r1�sem_filerrrr"IszFileSemaphores.clearc	Csn|�||�rdS|�||�}dt��t�f}zt�||�Wn&ttfydt�	t
d|�YdS0t|�S)Nz%s: %s
z Failed writing semaphore file %s)r!r3�os�getpidrr
Z
write_filer4r5r6r7r%)rr+r1r8�contentsrrrr/SszFileSemaphores._acquirecCs0|r|tkrdSt|�}|�||�}tj�|�Sr)rr,r3r9�path�exists)rr+r1Zcnamer8rrrr!cs
zFileSemaphores.has_runcCs:|j}|r|tkr tj�||�Stj�|d||f�SdS)Nz%s.%s)r.r
r9r<�join)rr+r1r.rrrr3mszFileSemaphores._get_pathN)F)rrrrr#r$rr"r/r!r3rrrrr-;s	

r-c@s&eZdZdd�Zdd�Zd	dd�ZdS)
�RunnerscCs||_i|_dSr)�paths�sems)rr@rrrrvszRunners.__init__cCsh|tks|sdSd}|tkr*|j�d�}n|tkr>|j�d�}|sFdS||jvr^t|�|j|<|j|S)N�sem)rr
r@�	get_ipathr�	get_cpathrAr-)rr1r.rrr�_get_semzs
zRunners._get_semNFc	Cs�|�|�}|st�}|sg}|�||�r:t�d||�dS|�|||��h}|s\td|��nFt�d||�t|t�r�|fi|��}n||�}d|fWd�SWd�n1s�0YdS)Nz%s already ran (freq=%s))FNzFailed to acquire lock for %szRunning %s using lock (%s)T)	rErr!r7�debugrr�
isinstance�dict)	rr+Zfunctor�argsr1r2rBZlk�resultsrrr�run�s 

zRunners.run)NF)rrrrrErKrrrrr?usr?c@sHeZdZddd�Zdd�Zdd�Zd	d
�Zed�dd
�Ze	dd��Z
dS)�ConfigMergerNTcCs(||_||_||_||_||_d|_dSr)�_paths�_ds�_fns�	_base_cfg�_include_vendor�_cfg)rr@�
datasourceZadditional_fnsZbase_cfgZinclude_vendorrrrr�szConfigMerger.__init__cCsXg}|jrTz&|j��}|r.t|t�r.|�|�Wn"tyRt�td|j�Yn0|S)Nz2Failed loading of datasource config object from %s)	rNZget_config_objrGrH�appendr0r
r6r7)rZd_cfgsZds_cfgrrr�_get_datasource_configs�s
�
z$ConfigMerger._get_datasource_configscCsRg}ttjvrNtjt}z|�t�|��Wn tyLt�td|�Yn0|S)Nz%Failed loading of env. config from %s)	rr9�environrTr
�	read_confr0r6r7)rZe_cfgsZe_fnrrr�_get_env_configs�s

zConfigMerger._get_env_configsc	Cs�g}|js|Sdg}|jr.|�d�|�d�|D]r}|j�|�}|r2tj�|�r2z|�t�|��Wq2t	y�t
�d|�Yq2ty�t�
t
d|�Yq20q2|S)N�cloud_config�vendor2_cloud_config�vendor_cloud_configz5Skipped loading cloud-config from %s due to non-root.z&Failed loading of cloud-config from %s)rMrQrT�
get_ipath_curr9r<�isfiler
rW�PermissionErrorr7rFr0r6)rZi_cfgsZcc_pathsZcc_pZcc_fnrrr�_get_instance_configs�s,

��z"ConfigMerger._get_instance_configs)�returnc	Cs�g}|jrL|jD]:}z|�t�|��WqtyHt�td|�Yq0q|�|���|�|�	��|�|�
��|jr�|�|j�t�|�S)Nz'Failed loading of configuration from %s)
rOrTr
rWr0r6r7�extendrXr_rUrPZ
mergemanydict)r�cfgsZc_fnrrr�	_read_cfg�s
�zConfigMerger._read_cfgcCs|jdur|��|_|jSr)rRrcrrrr�cfgs

zConfigMerger.cfg)NNNNT)rrrrrUrXr_rHrc�propertyrdrrrrrL�s�

 rLc@sFeZdZdd�Zdd�Zdd�Zdd�Zddd�Zd
d�Zdd�Z	dS)�ContentHandlerscCsi|_g|_dSr)�
registered�initializedrrrrr
szContentHandlers.__init__cCs
|�|�Sr)�
is_registered)r�itemrrr�__contains__szContentHandlers.__contains__cCs
|�|�Sr)�_get_handler)r�keyrrr�__getitem__szContentHandlers.__getitem__cCs
||jvSr�rg�rZcontent_typerrrriszContentHandlers.is_registeredFTcCsjt�}|��D](}|r"|�|�q|�|�s|�|�q|D]}||j|<q<|rf||jvrf|j�|�|Sr)�setZ
list_types�addrirgrhrT)r�modrhZ	overwrite�types�trrr�registers
zContentHandlers.registercCs
|j|Srrorprrrrl(szContentHandlers._get_handlercCst|j���Sr)�listrg�itemsrrrrrx+szContentHandlers.itemsN)FT)
rrrrrkrnrirvrlrxrrrrrfs
rfc@sreZdZdZded�dd�Zedd�dd�Zdd	d
�Zddd�Z	dd
d�Z
ddd�Zded�dd�Z
ddd�ZdS)�Paths�N)�	path_cfgscCs�||_|�dd�|_|�dd�|_|�dtj�|_tj�	|jd�|_
tj�	|j
d�|_tj�	|jd�|_|�d	d
�}tj�	|d�|_
dd
ddddddddddddddddddd d!d"d#d$d%�|_||_dS)&N�	cloud_dirz/var/lib/cloud�docs_dirz/usr/share/doc/cloud-init/�run_dir�instancez
boot-finishedZseedZ
templates_dirz/etc/cloud/templates/z%s.tmpl�	boothookszcloud-config.txt�data�handlers�instance-data.json�instance-data-sensitive.json�combined-cloud-config.jsonznetwork-config.jsonz.instance-idzmanual-cleanzobj.pkl�scriptsrBzuser-data.txt.iz
user-data.txtzvendor-data.txt.izvendor-data2.txt.izvendor-data2.txtzvendor-data.txtzvendor2-cloud-config.txtzvendor-cloud-config.txtzscripts/vendor�warnings�hotplug.enabled�
.skip-network)r�rYr�r��
instance_data�instance_data_sensitive�combined_cloud_configZnetwork_configZinstance_idZmanual_clean_markerZobj_pklr�rBZuserdataZuserdata_rawZ
vendordataZvendordata2Zvendordata2_rawZvendordata_rawrZr[Zvendor_scriptsr�r�r�)rb�getr|r}rZDEFAULT_RUN_DIRr~r9r<r>�
instance_linkZ
boot_finishedZseed_dirZtemplate_tpl�lookupsrS)rr{�dsZtemplate_dirrrrr2sT����!zPaths.__init__)�ci_pkl_versionr`cCsrt|d�st|j|jd�j|_d|jvr2d|jd<d|jvrFd|jd<d|jvrZd|jd<d	|jvrnd	|jd	<d
S)z(Perform deserialization fixes for Paths.r~)r{r�r�r�r�r�r�r�r�N)�hasattrryrbrSr~r�)rr�rrr�	_unpicklegs
�



�
�
zPaths._unpicklecCs|�|j|�Sr)r3r��rr+rrrr\�szPaths.get_ipath_curcCs|�|j|�Sr)r3r|r�rrrrD�szPaths.get_cpathcCsf|js
dS|j��}|dur dSt|��tjd�}tj�|jd|�}|j	�
|�}|rbtj�||�}|S)Nr)Z	instances)rSZget_instance_id�strr*r9�sepr<r>r|r�r�)rr+ZiidZ
path_safe_iid�ipathZadd_onrrr�
_get_ipath�s
zPaths._get_ipathcCs$|�|�}|st�d�dS|SdS)Nz?No per instance data available, is there an datasource/iid set?)r�r7Zwarning)rr+r�rrrrC�s
�zPaths.get_ipath)�basecCs |dur|Stj�||j|�Sr)r9r<r>r�)rr�r+rrrr3�szPaths._get_pathcCs|�|j|�Sr)r3r~r�rrr�get_runpath�szPaths.get_runpath)N)N)N)N)N)N)N)rrrZ_ci_pkl_versionrHr�intr�r\rDr�rCr�r3r�rrrrry/s5



ryc@sXeZdZdZdZdZdZdd�Zddd�Zd	d
�Z	dd�Z
d
d�Zdd�Zddd�Z
dS)�DefaultingConfigParserrgFNcCs@|j}zt�|||�}Wn"ty*Ynty:Yn0|Sr)�DEF_BASErr�rr�r�section�option�valuerrrr��szDefaultingConfigParser.getcCs4|�|�s |��dkr |�|�t�||||�dS)N�default)Zhas_section�lowerZadd_sectionrrqr�rrrrq�s
zDefaultingConfigParser.setcCs|�||�rt�|||�dSr)�
has_optionr�
remove_option�rr�r�rrrr��sz$DefaultingConfigParser.remove_optioncCs |�||�s|jSt�|||�Sr)r��DEF_BOOLEANr�
getbooleanr�rrrr��sz!DefaultingConfigParser.getbooleancCs |�||�s|jSt�|||�Sr)r��	DEF_FLOATr�getfloatr�rrrr��szDefaultingConfigParser.getfloatcCs |�||�s|jSt�|||�Sr)r��DEF_INTr�getintr�rrrr��szDefaultingConfigParser.getintcCs<d}t�}|�|�|��|��}|r8d�||dg�}|S)N��
)r�write�flush�getvaluer>)r�headerr;Zoutputstreamrrr�	stringify�s
z DefaultingConfigParser.stringify)N)N)rrrr�r�r�r�r�rqr�r�r�r�r�rrrrr��s

r�)$r#Zloggingr9Zconfigparserrrr�iorrZ	cloudinitrrr	r
Zcloudinit.settingsrrr
rZ	getLoggerrr7r0rrrr%r,r-r?rLrfZCloudInitPickleMixinryr�rrrr�<module>s(
:-j#

© 2025 Cubjrnet7