CasperSecurity

Current Path : /lib/python3/dist-packages/cloudinit/net/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/net/__pycache__/activators.cpython-310.pyc

o

쑛h�-�	@s�UddlZddlmZmZddlmZddlmZmZm	Z	m
Z
mZmZddl
mZmZddlmZmZmZmZddlmZddlmZe�e�ZGd	d
�d
e�Z	d(ded
ede de fdd�Z!	d(dede de fdd�Z"Gdd�de�Z#Gdd�de#�Z$Gdd�de#�Z%Gdd�de#�Z&Gdd�de#�Z'Gdd �d e#�Z(gd!�Z)e$e'e&e(e%d!�Z*eeee#fe+d"<d#e
edeee#fd$d%�Z,	d)d#ee
edee#fd&d'�Z-dS)*�N)�ABC�abstractmethod)�partial)�Callable�Dict�Iterable�List�Optional�Type)�subp�util)�eni�netplan�network_manager�networkd)�Iproute2)�NetworkStatec@seZdZdS)�NoActivatorExceptionN)�__name__�
__module__�__qualname__�rr�:/usr/lib/python3/dist-packages/cloudinit/net/activators.pyrsrT�cmd�device_name�warn_on_stderr�returncCstttj|�|�S)z2Attempt to alter an interface using a command list)�_alter_interface_callablerr)rrrrrr�_alter_interfacesr�callablec
Cslz|�\}}t|�r|rtjntj}|d|�WdStjy5}zt�td|j�WYd}~dSd}~ww)z�Attempt to alter an interface using a callable

    this function standardizes logging and response to failure for
    various activators
    zReceived stderr output: %sTz#Running interface command %s failedNF)	�len�LOG�warning�debugr�ProcessExecutionErrorr�logexcr)rr�_out�err�
log_stderr�errrrs

��rc@s�eZdZeedefdd���Zeededefdd���Zeededefdd���Z	e
d	eedefd
d��Ze
de
defd
d��Zeddd��ZdS)�NetworkActivatorrcC�t��)z>Return True if activator is available, otherwise return False.��NotImplementedErrorrrrr�	available.szNetworkActivator.availablercCr+)zWBring up interface.

        Return True is successful, otherwise return False
        r,�rrrr�bring_up_interface4�z#NetworkActivator.bring_up_interfacecCr+)zYBring down interface.

        Return True is successful, otherwise return False
        r,r/rrr�bring_down_interface=r1z%NetworkActivator.bring_down_interface�device_namescst�fdd�|D��S)zjBring up specified list of interfaces.

        Return True is successful, otherwise return False
        c3��|]}��|�VqdS�N�r0��.0�device��clsrr�	<genexpr>L��z7NetworkActivator.bring_up_interfaces.<locals>.<genexpr>)�all)r;r3rr:r�bring_up_interfacesFsz$NetworkActivator.bring_up_interfaces�
network_statecCs|�dd�|��D��S)z\Bring up all interfaces.

        Return True is successful, otherwise return False
        cSsg|]}|d�qS)�namer�r8�irrr�
<listcomp>U�z<NetworkActivator.bring_up_all_interfaces.<locals>.<listcomp>)r?�iter_interfaces)r;r@rrr�bring_up_all_interfacesNs�z(NetworkActivator.bring_up_all_interfacesNcCr+)zWait for network to come up.r,rrrr�wait_for_networkXsz!NetworkActivator.wait_for_network�rN)rrr�staticmethodr�boolr.�strr0r2�classmethodrr?rrGrHrrrrr*-s 	r*c@�JeZdZedefdd��Zededefdd��Zededefdd��Zd	S)
�IfUpDownActivatorrcC�t��S�z3Return true if ifupdown can be used on this system.)r
r.rrrrr.c�zIfUpDownActivator.availablercC�d|g}t||�S)�bBring up interface using ifup.

        Return True is successful, otherwise return False
        �ifup�r�rrrrrr0h�
z$IfUpDownActivator.bring_up_interfacecCrS)rT�ifdownrVrWrrrr2qrXz&IfUpDownActivator.bring_down_interfaceN�	rrrrJrKr.rLr0r2rrrrrO^srOc@rN)
�IfConfigActivatorrcCsd}dg}ttj||d��S)z3Return true if ifconfig can be used on this system.�ifconfigz/sbin)�search)rKr�which)�expectedr]rrrr.|szIfConfigActivator.availablercC�d|dg}t||�S)zoBring up interface using ifconfig <dev> up.

        Return True is successful, otherwise return False
        r\�uprVrWrrrr0��

z$IfConfigActivator.bring_up_interfacecCr`)zqBring up interface using ifconfig <dev> down.

        Return True is successful, otherwise return False
        r\�downrVrWrrrr2�rbz&IfConfigActivator.bring_down_interfaceNrZrrrrr[{sr[c@sdeZdZedefdd��Zededefdd��Zededefdd��Ze	d	e
edefd
d��ZdS)
�NetworkManagerActivatorrcCrP)z9Return true if NetworkManager can be used on this system.)rr.rrrrr.�rRz!NetworkManagerActivator.availablercCsvddlm}||�}|durt�d�dSddd|g}t||�r(ddd	d
|g}ntgd�|�ddd	d|g}t||�S)
zdBring up connection using nmcli.

        Return True is successful, otherwise return False
        r)�
conn_filenameNzFUnable to find an interface config file. Unable to bring up interface.F�nmcli�
connection�loadra�filename)rfrg�reload�ifname)�cloudinit.net.network_managerrer!r"r)rrerirrrrr0�s�

z*NetworkManagerActivator.bring_up_interfacecCsddd|g}t||�S)zeBring down interface using nmcli.

        Return True is successful, otherwise return False
        rfr9�
disconnectrVrWrrrr2�s
z,NetworkManagerActivator.bring_down_interfacer3csLt�gd��j��}d|krt�d|�tgd�d�o%t�fdd�|D��S)z9Activate network

        Return True on success
        )�	systemctl�showz--property=SubState�NetworkManager.servicezSubState=runningz:Expected NetworkManager SubState=running, but detected: %s)rnztry-reload-or-restartrpr>c3r4r5r6r7r:rrr<�r=z>NetworkManagerActivator.bring_up_interfaces.<locals>.<genexpr>)r�stdout�rstripr!r"rr>)r;r3�staterr:rr?�s �����z+NetworkManagerActivator.bring_up_interfacesN)rrrrJrKr.rLr0r2rMrr?rrrrrd�srdc@s�eZdZddgZedefdd��Zededefdd��Zed	e	edefd
d��Z
ededefd
d��Zededefdd��Z
eddd��ZdS)�NetplanActivatorr�applyrcCrP)z2Return true if netplan can be used on this system.)rr.rrrrr.�rRzNetplanActivator.availablercC�t�d�ttjddd�S��YApply netplan config.

        Return True is successful, otherwise return False
        zBCalling 'netplan apply' rather than altering individual interfacesr>F�r�r!r#rrt�NETPLAN_CMDr/rrrr0����z#NetplanActivator.bring_up_interfacer3cCrvrwrz)r3rrrr?�r|z$NetplanActivator.bring_up_interfacesr@cCsttjddd�S)rxr>Fry)rrtr{)r@rrrrG�s�z(NetplanActivator.bring_up_all_interfacescCrvrwrzr/rrrr2r|z%NetplanActivator.bring_down_interfaceNcCs"t��rt�d�dSt��dS)z:On networkd systems, wait for systemd-networkd-wait-onlinez1NetworkManager is enabled, skipping networkd waitN)rr.r!r#�NetworkdActivatorrHrrrrrHs
z!NetplanActivator.wait_for_networkrI)rrrr{rJrKr.rLr0rr?rrGr2rHrrrrrt�s

	
rtc@sneZdZedefdd��Zededefdd��Zededefdd	��Z	ededefd
d��Z
edd
d��ZdS)r}rcCrPrQ)rr.rrrrr.rRzNetworkdActivator.availablercC�tttj|��S��1Return True is successful, otherwise return False)rrr�link_upr/rrrr0"�
�z$NetworkdActivator.bring_up_interfacer@cCsgd�}t|d�S)r�)rn�restartzsystemd-networkdzsystemd-resolvedr>rV)r@rrrrrG)s
z)NetworkdActivator.bring_up_all_interfacescCr~r)rrr�	link_downr/rrrr2/r�z&NetworkdActivator.bring_down_interfaceNcCst�gd��dS)z&Wait for systemd-networkd-wait-online.)rn�startz$systemd-networkd-wait-online.serviceN)rrrrrrH6s�z"NetworkdActivator.wait_for_networkrI)rrrrJrKr.rLr0rrGr2rHrrrrr}sr})r
rznetwork-managerrr\�NAME_TO_ACTIVATOR�prioritycCsBdd�|D�}|rtd|����dd�|D�}tdd�|D�d�S)zEReturns the first available activator from the priority list or None.cSsg|]}|tvr|�qSr)�DEFAULT_PRIORITYrBrrrrDSsz$search_activator.<locals>.<listcomp>z.Unknown activators provided in priority list: cSsg|]}t|�qSr)r�)r8rArrrrDXrEcss�|]	}|��r|VqdSr5)r.)r8�
activator_clsrrrr<Zs��
�z#search_activator.<locals>.<genexpr>N)�
ValueError�next)r��unknown�activator_classesrrr�search_activatorQs���r�cCs8|durt}t|�}|std|����t�d||�|S)Nz>No available network activators found. Searched through list: z.Using selected activator: %s from priority: %s)r�r�rr!r#)r��selectedrrr�select_activatorcs���r�)Tr5).�logging�abcrr�	functoolsr�typingrrrrr	r
�	cloudinitrr�
cloudinit.netr
rrr�cloudinit.net.netops.iproute2r�cloudinit.net.network_stater�	getLoggerrr!�	Exceptionr�listrLrKrrr*rOr[rdrtr}r�r��__annotations__r�r�rrrr�<module>s`
 
����
����
�1@F$	�	�
��
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY