403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.7
Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64
User : viralblo ( 1001)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.6/site-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/cloudinit/sources/__pycache__/DataSourceNoCloud.cpython-36.pyc
3

��b`5�@s�ddlZddlZddlmZddlmZddlmZmZddlm	Z	ej
e�ZGdd�dej
�Zddd	�Zdd
d�Zddd
�Zdd�Zdd�ZGdd�de�ZeejffeejejffgZdd�ZdS)�N)�dmi)�log)�sources�util)�enic@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zed
d��Z	dd
�Z
dd�Zdd�Zedd��Z
dS)�DataSourceNoCloudZNoCloudcCsJtjj||||�d|_tjj|jd�tjj|jd�g|_d|_d|_	dS)N�nocloudznocloud-net�/�file://)r	r
)
r�
DataSource�__init__�seed�os�path�join�seed_dir�	seed_dirs�supported_seed_starts)�self�sys_cfg�distro�paths�r�'/usr/lib/python3.6/DataSourceNoCloud.pyrszDataSourceNoCloud.__init__cCstjj|�}d||j|jfS)Nz%s [seed=%s][dsmode=%s])rr�__str__r
�dsmode)r�rootrrrr$szDataSourceNoCloud.__str__cCs|tjd�}|jtjd��tjd|j��}|jtjd|j���|jtjd|��tt|�t|�@�}|jdd�|S)Nz	TYPE=vfatzTYPE=iso9660zLABEL=%szLABEL_FATBOOT=%sT)�reverse)rZfind_devs_with�extend�upper�lower�list�set�sort)r�labelZfslistZ
label_listZdevlistrrr�_get_devices(s
zDataSourceNoCloud._get_devicesc"Cs�d|jd�}g}idddd�}y8i}tjd�}|rTt||�rT|jd�t|d|i�}Wn tk
rvtjt	d�d	SXy(i}t|�r�|jd
�t|d|i�}Wn tk
r�tjt	d�d	SXddgd
dgd�}xZ|j
D]P}y4tj|f|�}|j|�t	jd|�t||�}PWq�t
k
�r*Yq�Xq�W|jjd��rZ|jd�|jd|dd<d|jk�r�d|jk�r�t||j�}|jd�dd�}	|jjdd�}
|
dk	�r�x�|j|
�D]�}ynt	jd|�ytj||	|�}Wn(t
k
�rt	jd||
��w�YnXt||�}t	jd|�|j|�PWnXtk
�rZ}z|jtjk�rJ�WYdd}~Xn&tjk
�r~tjt	d|�YnX�q�Wt|�dk�r�d	Sd|dk�rB|dd}
d	}x"|jD]}|
j|��r�|}P�q�W|�s�t	jd|
|�d	Stj|
dd�\}}}t	jd|
�tj|d|g�|d<||d<||d
<|j|
�tj|d|g�|d<|j|djd �g�|_|jtjk�r�t	jd!||j�d	Sd"j|�|_ |d|_!|d|_"|d
|_#|d|_$|djd#�|_%d$S)%Nr)zinstance-idr�)z	meta-dataz	user-datazvendor-dataznetwork-configzsystem-serial-numberrz	meta-datazUnable to parse dmi dataF�cmdlinez!Unable to parse command line dataz	user-datazvendor-dataznetwork-config)�requiredZoptionalzUsing seeded data from %s�seedfromZds_config_seedfromZ	ds_configcSstj|f|�S)N)r�pathprefix2dict)Zmp�datarrr�_pp2d_callbackusz3DataSourceNoCloud._get_data.<locals>._pp2d_callbackZfs_labelZcidatazAttempting to use data from %sz)device %s with label=%s not a valid seed.zUsing data from %sz(Failed to mount %s when looking for datarz Seed from %s not supported by %s)ZtimeoutzUsing seeded cache data from %srz&%s: not claiming datasource, dsmode=%s�,znetwork-interfacesT)&rrZ
read_dmi_data�load_cmdline_data�append�_merge_new_seed�	ExceptionrZlogexc�LOGrr*�debug�
ValueErrorZds_cfg�getr%Zmount_cbZwarning�OSError�errno�ENOENTZMountFailedError�lenr�
startswithZread_seeded�
mergemanydictZ_determine_dsmoderZDSMODE_DISABLEDrr
ZmetadataZuserdata_rawZvendordata_raw�_network_config�_network_eni)rZdefaults�foundZmydata�md�serialZpp2d_kwargsr�seededr,r$Zdev�er)Z	seedfound�protoZmd_seedZudZvdrrr�	_get_data4s�

















zDataSourceNoCloud._get_datacCs.t|d�sd|_|js(tj�r"dnd|_|jS)N�_platform_typeZlxdr)�hasattrrErZis_lxd)rrrr�
platform_type�s

zDataSourceNoCloud.platform_typecCstjS)z=Return unknown when 'cloud-name' key is absent from metadata.)rZMETADATA_UNKNOWN)rrrr�_get_cloud_name�sz!DataSourceNoCloud._get_cloud_namecCs$|jjd�rd}nd}d||jfS)z/Return the subplatform metadata source details.z/devzconfig-diskzseed-dirz%s (%s))r
r:)rZsubplatform_typerrr�_get_subplatform�sz"DataSourceNoCloud._get_subplatformcCs:|j�}|sdSt|d|jg�}t|d�}|s2dS||kS)Nr)�dirs)Zget_instance_id�getattrr�_quick_read_instance_id)rrZcurrentrJZquick_idrrr�check_instance_id�s
z#DataSourceNoCloud.check_instance_idcCs(|jdkr"|jdk	r"tj|j�|_|jS)N)r<r=rZconvert_eni_data)rrrr�network_config�s

z DataSourceNoCloud.network_configN)�__name__�
__module__�__qualname__Zdsnamerrr%rD�propertyrGrHrIrMrNrrrrrs
	rcCs�|dkrg}d}i}t|�r,||kr,||Sxb|D]Z}|dkr@q2y6tj|dgd�}tj|d�}|rt||krt||SWq2tk
r�Yq2Xq2WdS)Nzinstance-idz	meta-data)r()r.rr*�	load_yamlr4)rJZiid_key�fill�dr+r?rrrrL�s"

rLcCsJdtjfdtjfg}x0|D](\}}t|||�rd|kr>||d<dSqWdS)Nz
ds=nocloudzds=nocloud-netrTF)rZDSMODE_LOCALZDSMODE_NETWORK�parse_cmdline_data)rTr'ZpairsZidstrrrrrr.sr.cCs�|dkrtj�}d|}d||kp.d||ks4dSd}x&|j�D]}|j|�rB|jdd�}qBW|djd�}t|�dkr�|dd�}nf}dd	d
d�}x`|D]X}|dkr�q�y|jdd�\}	}
Wntk
r�|}	d}
YnX|	|kr�||	}	|
||	<q�WdS)
Nz %s z %s;Fr&�=��;zlocal-hostnamezinstance-idr))�h�i�sT)rZget_cmdline�splitr:r9r1)Zds_idrTr'Zargline�tokZtmpZkvpairsZs2l�item�k�vrrrrV&s4


rVcCs�t�}|jd|�}||kr|Sd}t|t�s>tj|d|�|Stt|j���dkrdtj|d|�|S|jd�dkr�tj|d|�n&t	d|kd	|kf�s�tj|d
|�|Stj|d|�|S)aMIf network-config contains top level 'network' key, then remove it.

    Some providers of network configuration may provide a top level
    'network' key (LP: #1798117) even though it is not necessary.

    Be friendly and remove it if it really seems so.

    Return the original value if no change or the updated value if changed.Znetworkz.Top level network key in network-config %s: %szwas not a dictrXzhad multiple top level keys�configZdisabledzwas config/disabled�versionz!but missing 'config' or 'version'z#fixed by removing shifting network.)
�objectr5�
isinstance�dictr2r3r9r!�keys�all)ZcfgZnullvalZnetwork_valZbmsgrrr�_maybe_remove_top_networkNs$	
ricCs�|j�}|jdi�}t|dt�s0tj|d�}tj|d|g�|d<|jd�rhttj|jd���|d<d|kr||d|d<d|kr�|d|d<|S)Nz	meta-dataznetwork-configz	user-datazvendor-data)�copyr5rerfrrSr;ri)ZcurrA�retZnewmdrrrr0ks
r0c@seZdZdd�ZdS)�DataSourceNoCloudNetcCstj||||�d|_dS)N�http://�https://)rmrn)rrr)rrrrrrrr�szDataSourceNoCloudNet.__init__N)rOrPrQrrrrrrlsrlcCstj|t�S)N)rZlist_from_depends�datasources)Zdependsrrr�get_datasource_list�srp)N)N)N)r7rZ	cloudinitrrZloggingrrZ
cloudinit.netrZ	getLoggerrOr2rrrLr.rVrir0rlZDEP_FILESYSTEMZDEP_NETWORKrorprrrr�<module>s"
f


(


Youez - 2016 - github.com/yon3zu
LinuXploit