Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/cloudinit/net/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/cloudinit/net/__pycache__/networkd.cpython-310.pyc
o

}��f�2�@s�ddlZddlmZddlmZddlmZmZddlm	Z	m
Z
ddlmZe�
e�ZGdd�d�ZGd	d
�d
e	j�Zd
dd�ZdS)�N)�OrderedDict)�Optional)�subp�util)�renderer�should_add_gateway_onlink_flag)�NetworkStatec@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	CfgParserc	Cstggggggid��|_dS)N)�Match�Link�Network�DHCPv4�DHCPv6�Address�Route)r�	conf_dict)�self�r�8/usr/lib/python3/dist-packages/cloudinit/net/networkd.py�__init__s�
�zCfgParser.__init__cCs`|j��D](}||kr-|j|�|dt|��tt�|j|��|j|<|j|��qdS)N�=�r�keys�append�str�list�dict�fromkeys�sort)r�sec�key�val�krrr�update_section s��zCfgParser.update_sectioncCs�|j��D]>}||krC||j|vrg|j||<|j||�|dt|��tt�|j||��|j||<|j||��qdS)z�
        For each route section we use rid as a key, this allows us to isolate
        this route from others on subsequent calls.
        rNr)rr�ridr r!r"rrr�update_route_section(s ���zCfgParser.update_route_sectioncCs�d}t|j���D]e\}}|sq	|dkr.t|�D]}|d|d7}||d7}|d7}qq	|dkrUt|�D]}|d|d7}t||�D]}||d7}qF|d7}q6q	|d|d7}t|�D]}||d7}qa|d7}q	|S)N�r�[z]
�
r)�sortedr�items)r�contentsr"�v�e�nrrr�get_final_conf8s,
�
�
zCfgParser.get_final_confN)�__name__�
__module__�__qualname__rr#r%r/rrrrr	s

r	c@s�eZdZdZddd�Zdefdd�Zdefdd	�Zdefd
d�Zdefdd
�Z	defdd�Z
dedefdd�Zdefdd�Z
dd�Z		ddedeeddfdd�Zdedefdd�ZdS) �Rendererz�
    Renders network information in /etc/systemd/network

    This Renderer is currently experimental and doesn't support all the
    use cases supported by the other renderers yet.
    NcCs(|si}|�dd�|_|�dd�|_dS)N�resolve_conf_fnz/etc/systemd/resolved.conf�network_conf_dirz/etc/systemd/network/)�getr4r5)r�configrrrrYs�
�zRenderer.__init__�cfgcCsTd}dddd�}|sdS|��D]\}}||vr%||r%|�||||�q|dS)Nr
�Name�Driver�
MACAddress)�name�driver�mac_addressr<)r*r#)r�ifacer8r�
match_dictr"r,rrr�generate_match_sectioncs��zRenderer.generate_match_sectioncCs:d}|sdSd|vr|dr|�|d|d�dSdSdS)Nr�mtu�MTUBytes)r#)rr?r8rrrr�generate_link_sectionts�zRenderer.generate_link_sectionc	Cspd}dddd�}d}d|vrdt|d�}|��D]\}}||vr#q|d	kr+||7}|�|||||�qd
S)zy
        Parse a route and use rid as a key in order to isolate the route from
        others in the route dict.
        r�Gateway�Destination�Metric)�gateway�network�metricr&�prefix�/rIN)rr*r%)	rr$�confr8r�
route_cfg_maprKr"r,rrr�parse_routes}s��zRenderer.parse_routesc
	Cs�d}d}d}|�dg�D]�}|d}|dks|dkr(|dkr!d}n|d	kr'd
}n|dkr9|dkr3d	}n|dkr9d
}d|vrV|drV|dD]}|�d
|��||�|d}qEd|vr�|d}	d|vrl|	dt|d�7}	ddddd�}
|��D]S\}}|dkr�|�d|
||	�qw|dkr�|�dd|��|
||�t||	�r�t�d||	�|�dd|��dd
�|d}qw|dks�|dkr�|�||
|d�	|��qwq|�|d|�t
|�d d!�t�r�|�|d"|d �|S)#N�norr�subnets�type�dhcp4�dhcp�ipv4�ipv6�yes�dhcp6�routes�r��addressrKrLrrE�DNS�Domains)r\rH�dns_nameservers�
dns_searchrHr�azGGateway %s is not contained within subnet %s, adding GatewayOnLink flag�
GatewayOnLinkr_r`� �DHCPz	accept-rar&�IPv6AcceptRA)r6rOrr*r#r%r�LOG�debug�join�
isinstance�bool)
rr?r8rTrr$r-�t�i�addr�subnet_cfg_mapr"r,rrr�
parse_subnets�sj�
��
��
�zRenderer.parse_subnetsc	Cs�dD]B}||vr	qt||���}z
t�|�}|rdnd}Wnty3|dkr1t�d|�d}Ynw|dkr;d}nd}|�|d	|�qdS)
N)�dhcp4domain�dhcp6domainrWrP�routezInvalid dhcp4domain value - %srpr
r�
UseDomains)r�casefoldr�translate_bool�
ValueErrorrf�warningr#)r�dr8�item�ret�sectionrrr�dhcp_domain�s$
���zRenderer.dhcp_domain�nscCs�d}|�d�}|s|jdkr|j|jd�}n	|s|jdkrdS|�d�r0|�|dd�|d��|�d	�rC|�|d
d�|d	��dSdS)Nr�dnsr[)�search�nameservers�rr^rcr�r])r6�version�dns_searchdomainsr_r#rh)rr?r8r}rr~rrr�	parse_dns�s
�

�zRenderer.parse_dnsc	Cs�ddddd�}|dkr|�ddd	d
dd��d
|�d�|vrH|dd|��fvrJ|d
|�d�}|��D]\}}||vrG|�d|��|||�q3dSdSdS)Nzuse-dns�use-domainszuse-hostnamezuse-ntp)�UseDNSrs�UseHostname�UseNTP�4z
send-hostname�hostnamezroute-metriczuse-mtuz
use-routes)�SendHostname�Hostname�RouteMetric�UseMTU�	UseRoutesrT�
-overridesrW�ipv�DHCPv)�updater*r#)	rr8�devicerTr��dhcp_config_maps�dhcp_overridesr"r,rrr�parse_dhcp_overrides�s2���
���zRenderer.parse_dhcp_overridescCs>d}t�d|�|d|d}t�||�t�|||�dS)Nzsystemd-networkz Setting Networking Config for %sz10-cloud-init-z.network)rfrgr�
write_file�chownbyname)r�linkrM�nwk_dir�net_fn_owner�net_fnrrr�create_network_files
zRenderer.create_network_file�
network_state�	templates�returncCsP|j}|rt�|�|}t�|�|�|�}|��D]\}}|�|||�qdS�N)r5r�target_pathr�
ensure_dir�_render_contentr*r�)rr�r��target�network_dir�ret_dictr"r,rrr�render_network_states

�zRenderer.render_network_statecCs^i}|��D]�}t�}|�||�}|�||�|�||�}|�|||�d}|��D]}|�d|��||�|d}q*|jdkr�|d}	|j	d�
�D]\}
}d|vr^|�d�|	kr^|
}	nqK|	|j	dvr�|j	d|	}|�||�dD]-}
d	|
�d
�|vr�d|�d	|
�d�i�vr�|	�d
|
�d|
�d�}t
|��|�||||
�qu|�||��i�q|S)Nr�cr[r�r<�	ethernetszset-name)r��6rT�domainr�r�z has both dhcpzdomain and dhcpz*-overrides.use-domains configured. Use one)�iter_interfacesr	rArDror��iter_routesrOr�r7r*r6r|�RuntimeErrorr�r�r/)rr}r�r?r8r�rTr$rrr<�dev_name�dev_cfgr�r��	exceptionrrrr�,sF


����zRenderer._render_contentr�)NN)r0r1r2�__doc__rr	rArDrOror|rr�r�r�rrr�r�rrrrr3Qs*

	?���
�r3cCs4ddg}ddg}|D]
}tj|||d�sdSq
dS)N�ip�	systemctlz	/usr/sbinz/bin)rr�FT)r�which)r��expectedr�prrr�	availablegs�r�r�)�logging�collectionsr�typingr�	cloudinitrr�
cloudinit.netrr�cloudinit.net.network_stater�	getLoggerr0rfr	r3r�rrrr�<module>s
?

Spamworldpro Mini