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__/eni.cpython-310.pyc
o

}��fU�@s�ddlZddlZddlZddlZddlZddlmZddlmZm	Z	ddl
mZmZm
Z
ddlmZe�e�Zgd�Zgd�Zgd�Zd	d
�Zdd�Zddd�Zdd�Zdd�Zdd�ZGdd�dej�Zddd�Zddd�ZdS)�N)�Optional)�subp�util)�ParserError�renderer�subnet_is_ipv6)�NetworkState)zpre-up�upzpost-up�downzpre-downz	post-down)�
bridge_ageing�bridge_bridgeprio�	bridge_fd�
bridge_gcinit�bridge_hello�
bridge_maxage�bridge_maxwait�
bridge_stp)�address�netmask�	broadcast�network�metric�gateway�pointtopoint�media�mtu�hostname�
leasehours�	leasetime�vendor�client�bootfile�server�hwaddr�provider�frame�netnum�endpoint�local�ttlcCs�g}gd�}|��D]:\}}|dkrq
|dkr!d|d|df}|rD||vrDt|t�r1d�|�}d|vr;|�dd�}|�d	�||��q
t|�S)
N)
rrrrr�pointopointr�scope�
dns_search�dns_nameserversrrz%s/%s�prefix� �_�-�    {0} {1})�items�
isinstance�list�join�replace�append�format�sorted)�iface�subnet�content�	valid_map�key�value�rA�3/usr/lib/python3/dist-packages/cloudinit/net/eni.py�_iface_add_subnet@s

�rCc

Cs|dkrgSg}gd�}gd�}ddi}|ddvr|�d�|��D][\}}t|t�r4||r2dnd	}|r:||vr;q#|d
krP|rP||krOt�d|d||�q#||vrg|D]}	|�d
�|�||�|	��qVq#t|t�rqd�	|�}|�d
�|�||�|��q#t
|�S)Nr)	�control�	device_id�driver�index�inet�mode�name�subnets�type)�bridge_pathcost�bridge_portprio�bridge_waitport�mac_address�	hwaddressrL)�bond�bridge�
infiniband�vlan�on�offrzZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.rJr2r/)r8r3r4�bool�LOG�warningr9�getr5r6r:)
r;rG�ipv4_subnet_mtur=�
ignore_map�multiline_keys�renamesr?r@�vrArArB�_iface_add_attrs^s<

�

raFcCs�|d}|d}|dkrd}n
|dvrd|}nd|}|��}|�||d��djdi|��d	jdi|��g}|rJ|�d
�rJ|�djdi|���|S)
NrJrD�auto)�hotplugzallow-z
# control-)�fullname�cverbz{cverb} {fullname}ziface {fullname} {inet} {mode}rPz    hwaddress {mac_address}rA)�copy�updater9r[r8)r;rG�render_hwaddressrdrDre�subst�linesrArArB�_iface_start_entry�s
�rkcsfd}|��D�]�}|��}|�d�rq|�d�}|d}|dkrx|d}|�d�s0tj�||�}t�|�D]A�t���}	�fdd	�|	D�}	|	D].}
t	|
d
��}|�
���}Wd�n1s_wYtj�|
�}
t||tj�
|
�|
�qGq5q|dkr�|d}|�d�s�tj�||�}t�|�D].�t	�d
��}|�
���}Wd�n1s�wYtj���}t||tj�
|�|�q�q|dkr�|dd�D]}||vr�d
|i||<d||d<q�q|dk�r|dd�\}}}||vr�d
|i||<nd||v�rtd||f��|||d<|||d<|}q|dk�r2|ddk�r'|d}n|d}|||d<q|tv�r@|d|||<q|tv�rc|||v�rRg|||<|||�d�|dd���q|�d��r�d||v�rvi||d<|dk�r�g||dd<|dd�D]}||dd�|��q�q|dk�r�g||dd<|dd�D]}||dd�|��q�q|�d��rwd||v�r�i||d<|tv�r�|�ddd�}|d||d|<q|d k�r	g||dd!<|dd�D]}||dd!�|��q�q|d"k�r-|d��d#k�r"|d||dd#<q|d||dd#<q|d$k�rRd%||dv�rCi||dd%<|d||dd%|d<q|d&k�rvd'||dv�rhi||dd'<|d||dd'|d<q|�d(��r�d)||v�r�i||d)<|�d(dd�}|d||d)|<q|��D]}d||v�r�d*||d<�q�dS)+a~Parses the file contents, placing result into ifaces.

    '_source_path' is added to every dictionary entry to define which file
    the configuration information came from.

    :param ifaces: interface dictionary
    :param contents: contents of interfaces file
    :param src_dir: directory interfaces file was located
    :param src_path: file path the `contents` was read
    N�#r/rzsource-directory��/cs@g|]}tj�tj��|��rt�d|�durtj��|��qS)z^[a-zA-Z0-9_-]+$N)�os�path�isfiler6�re�match)�.0rp��
expanded_pathrArB�
<listcomp>�s��z*_parse_deb_config_data.<locals>.<listcomp>�r�sourcerb�_source_pathTr;��familyz:Interface %s can only be defined once. Re-defined in '%s'.�methodrQ�ether�zdns-�dnsz
dns-search�searchzdns-nameservers�nameservers�bridge_rS��bridge_ports�ports�	bridge_hw�macrM�pathcostrN�portpriozbond-rRF)�
splitlines�strip�
startswith�splitrorpr6�glob�listdir�open�read�abspath�_parse_deb_config_data�dirnamer�NET_CONFIG_OPTIONS�NET_CONFIG_COMMANDSr8�NET_CONFIG_BRIDGE_OPTIONSr7�lower�keys)�ifaces�contents�src_dir�src_path�currif�liner��option�parsed_src_dir�dir_contents�entry�fp�src_data�	abs_entry�new_src_path�abs_pathr;r|r}�val�domainr"�
bridge_option�bond_optionrArurBr��s�




�����
�����

���



"
�
�

�


����r�cCsi}t||ddd�t|�S)N)r�r�)r��_ifaces_to_net_config_data)�eni_datar�rArArB�convert_eni_data7sr�cs4i�|��D]�\}}|�d�d}|�vr2|dkrd}nd}||gd��|<d|vr2|d�|d<||d	d
�}|�d�rCd|d<nd
|d<|�d	�dkrT|d|d<dD]}||vrb||||<qVd|vr�dD]}||dvr�|d|r�|d||d|<qi�|d�|�qd�fdd�t��D�d�S)z�Return network config that represents the ifaces data provided.
    ifaces = _parse_deb_config_data(...)
    config = ifaces_to_net_config_data(ifaces)
    state = parse_net_config_data(config).�:r�lo�loopback�physical)rLrJrKrQrPr})�_orig_eni_namerLrbrD�manual�staticr)rrrr�)r�r��dns_rKrmcsg|]}�|�qSrArA)rt�d��devsrArBrwd�z._ifaces_to_net_config_data.<locals>.<listcomp>)�version�config)r3�	partitionr[r8r:)r�rJ�data�devname�dtyper<�copy_key�nrAr�rBr�>s6

��r�c@sXeZdZdZddd�Zddd�Zdd	d
�Zddd�Z		dd
ede	e
ddfdd�ZdS)�Rendererz@Renders network information in a /etc/network/interfaces format.NcCs6|si}|�dd�|_|�dd�|_|�dd�|_dS)N�eni_path�etc/network/interfaces�
eni_header�
netrules_pathz(etc/udev/rules.d/70-persistent-net.rules)r[r�r�r�)�selfr�rArArB�__init__js
�zRenderer.__init__r�cCsHg}|d}|d}d}ddd�}d}|dd	kr"|d
d	kr"d}n|ddkr0|d
dkr0d}d}	dD][}
|r=|
dkr=q4|
dkrO|	d|||
||
f7}	q4|
|vr�|
dkr�d||
vrb|	d7}	n|�d
�dkrn|	d7}	n|	d7}	d
|vr�|	d||
|d
f7}	q4|	d||
||
f7}	q4|�||	|�|�||	|�|S)a�When rendering routes for an iface, in some cases applying a route
        may result in the route command returning non-zero which produces
        some confusing output for users manually using ifup/ifdown[1].  To
        that end, we will optionally include an '|| true' postfix to each
        route line allowing users to work with ifup/ifdown without using
        --force option.

        We may at somepoint not want to emit this additional postfix, and
        add a 'strict' flag to this function.  When called with strict=True,
        then we will not append the postfix.

        1. http://askubuntu.com/questions/168033/
                 how-to-set-static-routes-in-ubuntu-server
        zpost-up route addzpre-down route delz || true�gwr)rrr�rz0.0.0.0rz defaultz::r.rz -A inet6 default)rrrrz%s %s %sr�z	 -A inet6� z -hostz -netz %s/%sz %s %s)r[r8)r��route�indentr=r	r
�or_true�mapping�
default_gw�
route_line�krArArB�
_render_routessB�

��zRenderer._render_routeFc
s g}��di�}��dd�}��dd�}|rd�d<|r�t|�D]�\}}d}	|�d<|d�d<|�d	d
��d	<d}
t|�rC|
d7}
n|�d
�}	|
�d<|ddks^|ddks^|ddkrod�d<|durn|rjdnd�d<n2|ddkr~d
�d<d�d<n#|ddkr�d
�d<d�d<nt|�r�d�d<|dur�|r�dnd�d<d�fdd�|D�vr�d�d	<tt�||d�t�|�t�||	��}|�dg�D]}|�|j	|dd��q�|�
|�q |Sg}d �vs�d!�vr�|�
d"jd&i����|�
d#jd&i����|�t�d$dd%��|�
|�|S)'NrKz	accept-ra�	wakeonlan�gzethernet-wolrGrLrIrDrbrH�6r�dhcp4�dhcp6zipv6_dhcpv6-stateful�dhcp�1�0�	accept_razipv6_dhcpv6-stateless�
ipv6_slaacr�Tcsg|]
}d�d|v�qS)zauto %srJrA)rtr��r;rArBrw�s�z*Renderer._render_iface.<locals>.<listcomp>�alias�rh�routesz    )r�zbond-masterzbond-slaveszauto {name}ziface {name} {inet} {mode}r)rGr\rA)r[�pop�	enumeraterr5rkrCra�extendr�r8r9)
r�r;rh�sectionsrKr��ethernet_wolrGr<r\�subnet_inetrjr�rAr�rB�
_render_iface�sx

�

���
����
zRenderer._render_ifacec	sdddddd�gd�}|��D]}|�d�dkrt�|�}q|j}|r.d	�|�|d
dd<|j}|r>d	�|�|d
dd
<ddddddd��g}|�|�|��t	|���fdd�d�D]}|�d�dkrgq]|�|j||d��q]|�
�D]
}|�|�|��qvd�dd�|D��dS)z1Given state, emit etc/network/interfaces content.r�r�rHr�rb)rLrD)rJrLrHrKrJr/rKrr-r,rmr�r{�)r�r�rTrRrSrUcs�|d|dfS)NrLrJrA)r���orderrArB�<lambda>r�z-Renderer._render_interfaces.<locals>.<lambda>)r?r�z

cSsg|]}d�|��qS)�
)r6)rt�srArArBrw&sz/Renderer._render_interfaces.<locals>.<listcomp>r�)
�iter_interfacesr[rf�deepcopyr-r6�dns_searchdomainsr�r�r:�iter_routesr8r�)	r��
network_staterhr�r;r��
searchdomainsr�r�rAr�rB�_render_interfaces�sH
�
��	

��zRenderer._render_interfacesr��	templates�returncCs�t�||j�}t�tj�|��|jr|jnd}t�	|||�
|��|jrCt�||j�}t�tj�|��tj	||�|�dd�dSdS)Nr�T)r=�
preserve_mode)
r�target_pathr�r�
ensure_dirrorpr�r��
write_filer�r��_render_persistent_net)r�r�r��target�fpeni�header�netrulesrArArB�render_network_state(s
��zRenderer.render_network_state�N)r��F)NN)�__name__�
__module__�__qualname__�__doc__r�r�r�r�rr�dictrrArArArBr�gs

	
4
M7����r�cCsFd}t||dd�d�}|sd}|�d�s|d7}|j||d�}||S)Nr�)r�r�r�)r�r�r�r�)r��endswithr�)r�rrhr�rr�rArArB�network_state_to_eni=s��
�r
cCsPgd�}ddg}|D]
}tj|||d�sdSq
t�|d�}tj�|�s&dSdS)N)�ifquery�ifup�ifdownz/sbinz	/usr/sbin)r�rFr�T)r�whichr�rorprq)r�expectedr��p�enirArArB�	availableQs�rr)NFr)rfr��loggingrorr�typingr�	cloudinitrr�
cloudinit.netrrr�cloudinit.net.network_stater�	getLoggerrrYr�r�r�rCrarkr�r�r�r�r
rrArArArB�<module>s0
	
<)
W

Spamworldpro Mini