CasperSecurity

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

o

쑛h�!�@s�ddlZddlZddlmZddlmZmZmZddlm	Z	ddl
mZddlm
Z
ddlmZe�e�ZGdd	�d	e
j�ZdS)
�N)�Optional)�net�subp�util)�	bsd_utils)�
ResolvConf)�renderer)�NetworkStatec@s�eZdZdZdZdZdZdZdd�Zdd�Z	d!d	d
�Z
dd�Zd
d�Zdd�Z
		d"dedeeddfdd�Zdd�Zd#dd�Zd!dd�Zdd�Zdd �ZdS)$�BSDRendererzetc/resolv.confzetc/rc.conf�cCs"t�|j|j�}tj||d�dS�N)�fn)r�target_path�target�
rc_conf_fnr�get_rc_config_value)�self�keyr
�r�3/usr/lib/python3/dist-packages/cloudinit/net/bsd.pyrszBSDRenderer.get_rc_config_valuecCs$t�|j|j�}tj|||d�dSr)rrrrr�set_rc_config_value)rr�valuer
rrrrszBSDRenderer.set_rc_config_valueNcCs,|si}d|_i|_i|_|�dd�|_dS)N�postcmdsT)r�interface_configurations�interface_configurations_ipv6�get�	_postcmds)r�configrrr�__init__szBSDRenderer.__init__c
Cs�t��}|��D]�}|�d�}|�d�}|rt�d|�rq||vr(t�d|�n1|rU|rU||}||krTt�d||�z|�||�Wnt	ySt�
d�|}Ynwn||}t�d|�|�dg�D]�}|�d	�d
kr�|�d�s}t�d|�d
��qet�d||�d
�|�d��|�d
�|�d�|�d�p�|�d�d�|j|<qe|�d	�dkr�|�d�s�t�d|�d
��qet�d||�d
�|�d��|�d
�|�d�|�d�p�|�d�d�|j
|<qe|�d	�dks�|�d	�dkr�d|j|<qeqdS)N�name�mac_addressz^lo\d+$z"Cannot find any device with MAC %sz,netif service will rename interface %s to %sz.Interface renaming is not supported on this OSzConfiguring interface %s�subnets�type�static�netmaskz+Skipping IP %s, because there is no netmask�addresszConfiguring dev %s with %s / %s�mtu)r%r$r&�static6�prefixz*Skipping IP %s, because there is no prefix)r%r(r&�dhcp�dhcp4�DHCP)r�get_interfaces_by_mac�iter_interfacesr�re�match�LOG�info�rename_interface�NotImplementedError�error�debugrr)r�settings�
ifname_by_mac�	interface�device_name�
device_mac�cur_name�subnetrrr�_ifconfig_entries's�

����
���
���
���zBSDRenderer._ifconfig_entriesc
Cs$t|���}|��D]X}|�dg�}|D]M}|�d�dkr7|�d�}|r6t|�d��dkr6|�dd|d��n"|�d�d	krX|�d�}|rWt|�d
��dkrW|�dd
|d��nq||�dg�7}qq
|D]*}|�d�}|stt�d�qe|�d�r~|�d�n|�d�}	|�d�}|�	||	|�qedS)Nr!r"r#�gateway�.�z0.0.0.0)�networkr$r>r'�:�z::�0)rAr(r>�routesrAzSkipping a bad route entryr$r()
�list�iter_routesr-r�len�split�appendr0r5�	set_route)
rr6rEr8r!r<r>�routerAr$rrr�_route_entriesssN
���
����

��
�zBSDRenderer._route_entriesc	CsV|j}|j}|��D]!}|�dg�D]}d|vr|�|d�d|vr*|�|d�qq
ztt�t�	|j
|j���}|��Wnt
y]t�tdt�	|j
|j��td�}|��Ynwt|�D]}z|�|�Wqbty{t�td|�Yqbwt|�D]}z|�|�Wq�ty�t�td|�Yq�wt�t�	|j
|j�t|�d�dS)	Nr!�dns_nameservers�
dns_searchz&Failed to parse %s, use new empty filerzFailed to add nameserver %szFailed to add search domain %si�)rN�dns_searchdomainsr-r�extendrr�load_text_filerrr�resolv_conf_fn�parse�IOError�logexcr0�set�add_nameserver�
ValueError�add_search_domain�
write_file�str)	rr6�nameservers�
searchdomainsr8r<�
resolvconf�server�domainrrr�
_resolve_conf�sV������
���zBSDRenderer._resolve_conf�
network_state�	templates�returncCsH|r||_|j|d�|j|d�|j|d�|��|j|jd�dS)N)r6)�run)rr=rMrb�write_config�start_servicesr)rrcrdrrrr�render_network_state�sz BSDRenderer.render_network_statecCs|jj}dd�|�D�S)NcSsg|]
\}}|dkr|�qS)r+r)�.0�k�vrrr�
<listcomp>�sz/BSDRenderer.dhcp_interfaces.<locals>.<listcomp>)r�items)r�icrrr�dhcp_interfaces�szBSDRenderer.dhcp_interfacesFcC�t���N�r3)rrfrrrrh��zBSDRenderer.start_servicescCrqrrrs)rrrrrrg�rtzBSDRenderer.write_configcCrqrrrs)rr;r9rrrr2�rtzBSDRenderer.rename_interfacecCrqrrrs)rrAr$r>rrrrK�rtzBSDRenderer.set_routerr)NN)F)�__name__�
__module__�__qualname__rSr�interface_routes�route_names�route6_namesrrrr=rMrbr	r�dictrirprhrgr2rKrrrrr
s4
L*1���
�

r
)�loggingr.�typingr�	cloudinitrrr�cloudinit.distrosr�%cloudinit.distros.parsers.resolv_confr�
cloudinit.netr�cloudinit.net.network_stater	�	getLoggerrur0�Rendererr
rrrr�<module>s

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