__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
o

K��^�Z�@s8ddlZddlZddlZddlZddlZddlmZddlZddlm	Z	m
Z
ddlmZddl
mZddlmZddlmZmZmZmZmZddlmZdd	lmZdd
lmZddlmZddlm Z dd
l!m"Z"ddl#m$Z$m%Z%e�&d�Z'Gdd�de
�Z(dZ)Gdd�de�Z*Gdd�d�Z+Gdd�de*ee+�Z,dS)�N)�Optional)�IFF_UP�NetworkEventReceiver)�SingleInstanceTask)�with_context)�
write_file)�
BondConfig�	DHCPState�NetDevAction�StaticConfig�
WLANConfig)�netplan)�BaseController)�CoreChannels)�
TuiController)�StretchyOverlay)�NetworkView)�arun_command�run_commandz subiquitycore.controller.networkcs<eZdZdd�Zdd�Zdd�Zdd�Z�fd	d
�Z�ZS)�SubiquityNetworkEventReceivercCs||_|j|_t�|_dS�N)�
controller�model�set�default_routes)�selfr�r�9/usr/share/subiquity/subiquitycore/controllers/network.py�__init__6sz&SubiquityNetworkEventReceiver.__init__cCs*|j�||�}|dur|j�|�dSdSr)r�new_linkr)r�ifindex�link�netdevrrrr;s�z&SubiquityNetworkEventReceiver.new_linkcCsL|j�|�}||jvr|j�|�|j�|j�|dur$|j�|�dSdSr)r�del_linkr�remover�update_default_routes)rr r"rrrr#@s
�z&SubiquityNetworkEventReceiver.del_linkcCsb|j�|�}|durdSt|jdd�}|t@s)||jvr)|j�|�|j�|j�|j�|�dS)N�flagsr)	r�update_link�getattr�inforrr$rr%)rr r"r&rrrr'Hsz)SubiquityNetworkEventReceiver.update_linkcs�t��||�|ddkrdS|ddkrdS|d}|dks#|dkr*|j�|�n|dkr9||jvr9|j�|�t�d	|j�|j�|j�dS)
N�dst�default�table�r �NEW�CHANGE�DELzdefault routes %s)	�super�route_changer�addr$�log�debugrr%)r�action�datar ��	__class__rrr2Rsz*SubiquityNetworkEventReceiver.route_change)	�__name__�
__module__�__qualname__rrr#r'r2�
__classcell__rrr8rr5s
ra�
network:
  version: 2
  ethernets:
    "all-en":
       match:
         name: "en*"
       addresses:
         - 10.0.2.15/24
       gateway4: 10.0.2.2
       nameservers:
         addresses:
           - 8.8.8.8
           - 8.4.8.4
         search:
           - foo
           - bar
    "all-eth":
       match:
         name: "eth*"
       dhcp4: true
  wifis:
    "wlsp4":
       dhcp4: true
       access-points:
         "some-ap":
            password: password
cs�eZdZdZdZ�fdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zedd��Z
dLdd�Zdd�Zdd�Zdd�Zedddd �d!d"��Zd#ed$ed%ed&dfd'd(�Zd#ed$ed&dfd)d*�Zd#ed$ed&dfd+d,�Zd#ed-efd.d/�Zd#efd0d1�Zd2eed3ed4ed&dfd5d6�Zd#ed&efd7d8�Zd#ed9e d&dfd:d;�Z!d#ed&dfd<d=�Z"e#j$d>d?��Z%e#j$d@dA��Z&e#j$dBdC��Z'e#j$dDdE��Z(e#j$dFdG��Z)e#j$dHdI��Z*e#j$dJdK��Z+�Z,S)M�BaseNetworkController�network�/cs�t��|�t|j�|_|jjrPtj�	|jj
�|_|j}tj�
|�}tj�|�r1ddl}|�|�t�|�t|d��
}|�t�Wd�n1sKwY|��d|_t|�|_dS)Nr�wF)r1rr�
_apply_config�apply_config_task�opts�dry_run�os�path�abspath�output_base�root�netplan_path�dirname�exists�shutil�rmtree�makedirs�open�write�default_netplan�parse_netplan_configs�	_watchingr�network_event_receiver)r�apprK�netplan_dirrN�fpr8rrr�s 

�zBaseNetworkController.__init__cCs|j�|j�dSr)rrTrJ�rrrrrT�sz+BaseNetworkController.parse_netplan_configscCs*g|_|jj�|j�\|_|_|��dSr)�_observer_handlesrW�prober�
probe_networkrV�observer�
_observer_fds�start_watchingrZrrr�start�s
�zBaseNetworkController.startcCs2|jsdSt��}|jD]}|�|�qd|_dS�NF)rU�asyncio�get_event_loopr_�
remove_reader�r�loop�fdrrr�
stop_watching�s

z#BaseNetworkController.stop_watchingcCs8|jrdSt��}|jD]
}|�||j|�qd|_dS)NT)rUrcrdr_�
add_reader�_data_readyrfrrrr`�s

z$BaseNetworkController.start_watchingcCsRtgd��}|jdkr!t�d�|��t��}|�d|j�dS|j	�
|�dS)N)�udevadm�settlez-t�0rz*waiting 0.1 to let udev event queue settle皙�����?)r�
returncoder4r5rircrd�
call_laterr`r^�
data_ready)rrh�cprgrrrrk�s

z!BaseNetworkController._data_readycCs�t�d�|j��D]7}d}|jdus|jsq
|jj��D]}|jdkr(d}nq|sA|�	d�|�	d�t�d|j
�td�|_q
dS)	Nzupdating initial NIC configF�globalT��zdisabling %szautoconfiguration failed)
r4r5r�get_all_netdevsr)�config�	addresses�values�scope�remove_ip_networks_for_version�name�_�disabled_reason)r�dev�has_global_address�arrr�update_initial_configs�s"

�


��z,BaseNetworkController.update_initial_configscCs(|jjdkr	d}nd}tj�|jd|�S)N�	subiquityz00-installer-config.yamlz00-snapd-config.yamlzetc/netplan)rD�projectrFrG�joinrJ)r�netplan_config_file_namerrrrK�sz"BaseNetworkController.netplan_pathNFcCs|jj||d�dS)N)�context�silent)rC�
start_sync)rr�r�rrr�apply_config�sz"BaseNetworkController.apply_configc	�sT�|D]$}zt�d|j�|jj�|jt�Wqty't�	d|j�YqwdS)Nz
downing %szunset_link_flags failed for %s)
r4r5r}r^�
rtlistener�unset_link_flagsr r�RuntimeError�	exception)r�devsr�rrr�
_down_devs�s���z BaseNetworkController._down_devsc�s|�|D]8}t�d|j�dddd|jg}zt|dd�IdHWqtjy;}zt�d|j|j�WYd}~qd}~wwdS)	Nzdeleting %s�ipr!�deleter�T��checkzdeleting %s failed with %r)r4r5r}r�
subprocess�CalledProcessErrorr)�stderr)rr�r��cmdrsrrr�_delete_devs�s����z"BaseNetworkController._delete_devscCs�|j��}t�dtjt�|�dd��tj|j	dd�D]}||j
kr#qt�||d|j
j�qt|j
|j�|��|��dS)Nznetwork config: 
%sF��default_flow_styleT)�maskedz.dist-)r�
render_configr4r5�yaml�dumpr
�sanitize_config�configs_in_rootrJrKrF�renamerDr�r�stringify_configrT)rrx�prrr�
_write_config�s
��
z#BaseNetworkController._write_configr�zsilent={silent}�INFO)r}�description�levelc�s��g}g}g}t�}�jjdd�D]T}i|_dD]-}|�|�rE�s0|�|tj��j�	|j
�n|�|tj�t�
�|j|<}	|�|	�q|jdurLq|j�jj�|j�kre|jr`|�|�q|�|�q����sp���z���fdd�}
�jjr�d�jj}tdt|�g�IdHtj�d�r�td	d
d�jgdd�IdHnz|s�|r�ztgd
�dd�IdHtgd�dd�IdHWn
t j!y�|
d��w|rֈ�"|�IdH|r��#|�IdH|s�|r�tgd�dd�IdHz
td	dgdd�IdHWnt j!�y
|
d��w|�s|�rtgd�dd�IdHW��s$��$�n	��s-��$�ww|�s3dSzt�%t�&dd�|D��d�IdHWntj'�yQYnw|D]\}}i|_|�(�|�sp|�|tj)��j�	|j
��qTdS)NT)�include_deleted)rurvcs�s	��|�dSdSr)�apply_error)�stage�rr�rr�errors�z2BaseNetworkController._apply_config.<locals>.error��sleepz/lib/netplan/generater
�generatez--rootr�)�	systemctl�mask�	--runtime�systemd-networkd.service�systemd-networkd.socket)r��stopr�r�z
stop-networkd)r��unmaskr�r�r��apply)r�rar�FcSsh|]}|���qSr)�wait)�.0�errr�	<setcomp>Wsz6BaseNetworkController._apply_config.<locals>.<setcomp>�
)*rrrw�dhcp_events�dhcp_enabled�set_dhcp_stater	�PENDINGrVr'r �RECONFIGURErc�Eventr3r)rx�config_for_device�
is_virtual�appendr��apply_startingrDrErW�scale_factorr�strrFrGrMrJr�r�r�r��apply_stopping�wait_forr��TimeoutError�dhcp_addresses�	TIMED_OUT)rr�r��devs_to_delete�devs_to_down�dhcp_device_versionsr�r��vr�r��delayrr�rrB�s��
�
�

������������
�����z#BaseNetworkController._apply_config�dev_name�
ip_version�
static_config�returncCs�|j�|�}|�|�|j�dg��|j�dj|d�}|jr&|j|j|<n|j�	|d�|j�di�}|�dg��|j
�|�dg��|j�|�|�|�
�dS)Nryz
gateway{v}�r��nameservers�search)r�get_netdev_by_namer|rx�
setdefault�extendry�format�gateway�popr��
searchdomainsr'r�)rr�r�r�r��gwkey�nsrrr�set_static_configbs

z'BaseNetworkController.set_static_configcCsB|j�|�}|�|�dj|d�}d|j|<|�|�|��dS)Nzdhcp{v}r�T)rr�r|r�rxr'r�)rr�r�r��dhcpkeyrrr�enable_dhcprs


z!BaseNetworkController.enable_dhcpcCs,|j�|�}|�|�|�|�|��dSr)rr�r|r'r�)rr�r�r�rrr�disable_networkzs

z%BaseNetworkController.disable_network�idcCs:|j�||�}|�|�|j�|�}|�|�|��dSr)r�new_vlanrr�r'r�)rr�r��newr�rrr�add_vlan�s


zBaseNetworkController.add_vlancCs�|j�|�}t�}|jdkr"|jdD]
}|j�|�}|�|�qn|jdkr5|j�|jd�}|�|�d|_|�|�|D]}|�|�q?|��dS)N�bond�
interfaces�vlanr!)	rr�r�typerxr3r#r'r�)rr�r��touched_devices�device_name�	interfacer!rrr�delete_link�s
�


z!BaseNetworkController.delete_link�
existing_name�new_name�new_infoc
Cs�|jj}t�}|jD]}||�}i|_|�|�q
|dur*|j�||�}|�|�n<||�}	|	jdD]	}
|�||
��q3|	j�|�	��|	j
|kra|	j}d|	_|�|	�||	_||	_
|�|	�n|�|	�|D]}|�|�qh|�
�dS)Nr�)rr�rr�rxr3�new_bondr�update�	to_configr}r#r'r�)
rr�r�r�r�r�r��device�new_dev�existingr�rxr�rrr�add_or_update_bond�s0



z(BaseNetworkController.add_or_update_bondc�s:�|j�|�}|jdurtj|j��dd�Sdj|jd�S)NFr�z0Configured but not yet created {type} interface.)r�)rr�r)r�r��	serializer�r�)rr�r�rrr�get_info_for_netdev�s�

��z)BaseNetworkController.get_info_for_netdev�wlancCsP|j�|�}|j\}}|jr|sd|jd<|�|j|j�|�|�|��dS)NT�dhcp4)	rr��configured_ssid�ssidrx�set_ssid_psk�pskr'r�)rr�rr��cur_ssid�cur_pskrrr�set_wlan�s



zBaseNetworkController.set_wlanc
Csd|j�|�}z	|j�|j�Wnty*}zd|f|jjd<WYd}~nd}~ww|�|�dS)Nzerror %s�
scan_state)	rr�r^�trigger_scanr r�r)rr')rr�r��rrrr�
start_scan�s��z BaseNetworkController.start_scancC�dSrrrZrrrr���z$BaseNetworkController.apply_startingcCrrrrZrrrr��rz$BaseNetworkController.apply_stoppingcCrrr�rr�rrrr��rz!BaseNetworkController.apply_errorcCs|r|jj�tj�dSdSr)rW�hub�	broadcastr�
NETWORK_UP�r�routesrrrr%�s�z+BaseNetworkController.update_default_routescCrrr�rr"rrrr�rzBaseNetworkController.new_linkcCs:|j��D]\}}|��|r|�|tj�|��qdSr)r��itemsr�r�r	�
CONFIGUREDr)rr"r�r�rrrr'�s�z!BaseNetworkController.update_linkcCrrrrrrrr#�rzBaseNetworkController.del_linkrb)-r:r;r<�
model_namerJrrTrarir`rkr��propertyrKr�r�r�r�rrBr��intrr�r�r�r�r�rrr�rrr	r
�abc�abstractmethodr�r�r�r%rr'r#r=rrr8rr>sj


	
�

e�
�
��
�	





r>c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�NetworkAnswersMixinc�sV�|j�dd�r|��dS|j�dd�r)|jd}|j��|�|�IdHdSdS)Nzaccept-defaultF�actions)�answers�get�done�clear�_run_actions)rrrrr�run_answers�s�

�zNetworkAnswersMixin.run_answerscCsh|d��}|ddkr-|ddkr|jjt|d�}n
|ddkr'|d}|jj|Std�|���)Nrr�r��index�r}zcould not resolve {})�split�view�cur_netdev_namesr�dev_name_to_table�	Exceptionr�)rr��dev_specr}rrr�_action_get�szNetworkAnswersMixin._action_getcs"�fdd�|D�}t�d|�|S)Ncsg|]	}��|�jj�qSr)r.�dev_infor})r�r�rZrr�
<listcomp>sz@NetworkAnswersMixin._action_clean_interfaces.<locals>.<listcomp>z%s)r4r5)r�devicesrrrZr�_action_clean_interfacessz,NetworkAnswersMixin._action_clean_interfacesc	Csr�t�d|�d|vr�|�|d�}t|jjd�|d��}tt|d�}|jj�d||f|�dV|jjj	}|ddkrjd}|j
j|jj
vrdt�d�IdH|d7}|dkr\td	��|j
j|jj
vsHt�d
|�t|t�sqdS|��D]8\}}|�d�squd}	d
}
d|vr�|�d�d}|d}	|d}
|�t|j|	�||�|
d��2z3dHW}q�6qudS|ddk�r#|jj��dV|jjj	}|d��}
d|
vr�|
�d�|
d<|�|jj|
|�d
d��2z3dHW}q�6d}|
d|jj
v�rt�d�IdH|d7}|dk�rtd��|
d|jj
vs�|dk�rt�d|�dVdS|ddk�r2|jj��dStd�|���)Nz_answers_action %r�objz
_action_{}r6�DELETEgrog@z%interface did not disappear in 5 secsz$waited %s for interface to disappearr7�form�submit�-r�_formz-submitTzcreate-bondr1r�r}zbond did not appear in 5 secszwaited %s for bond to appearr"zcould not process action {})r4r5r.r(�ui�bodyr�r
�_action�_wr/r}r)r*rcr�r,�
isinstancerr�endswithr(�_enter_form_data�stretchyr!�_create_bond�copyr�r5r")rr6r,�meth�
action_objr:�t�kr��	form_name�
submit_key�prefixr~r7rrr�_answers_actions���
��



���

��
�

z#NetworkAnswersMixin._answers_actionN)r:r;r<r%r.r2rJrrrrr�s

rcs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�fdd�Z�fd
d�Z	�fdd�Z
�fdd�Z�fdd�Z�fdd�Z
�fdd�Z�ZS)�NetworkControllercst��|�d|_d|_dSrb)r1rr)�
view_shown)rrWr8rrrMs
zNetworkController.__init__cCs\|js|��dd�|j��D�}t||�|_|js#|jdd�d|_|j�|jj	�|jS)NcSsg|]}|���qSr)�netdev_info)r�r�rrrr0Us�z-NetworkController.make_ui.<locals>.<listcomp>T)r�)
rLr�rrwrr)r�r%rVr)r�netdev_infosrrr�make_uiRs��zNetworkController.make_uicCs
d|_dSr)r)rZrrr�end_ui`s
zNetworkController.end_uicCs(t�d�t|jj�|j_|j��dS)Nz"NetworkController.done next_screen)	r4r5�boolrVrr�has_networkrW�next_screenrZrrrr"cs

�zNetworkController.donecCs|j��dSr)rW�prev_screenrZrrr�canceliszNetworkController.cancelc�&t���|jdur|j��dSdSr)r1r�r)�show_apply_spinnerrZr8rrr�l�

�z NetworkController.apply_startingcrVr)r1r�r)�hide_apply_spinnerrZr8rrr�qrXz NetworkController.apply_stoppingcs*t��|�|jdur|j�|�dSdSr)r1r�r)�show_network_errorrr8rrr�vs
�zNetworkController.apply_errorcs&t��|�|jr|j�|�dSdSr)r1r%r)rr8rrr%{s�z'NetworkController.update_default_routesc�.t��|�|jdur|j�|���dSdSr)r1rr)rMrr8rrr��
�zNetworkController.new_linkcr[r)r1r'r)rMrr8rrr'�r\zNetworkController.update_linkcr[r)r1r#r)rMrr8rrr#�r\zNetworkController.del_link)r:r;r<rrOrPr"rUr�r�r�r%rr'r#r=rrr8rrKJsrK)-rrc�loggingrFr��typingrr��probert.networkrr�subiquitycore.async_helpersr�subiquitycore.contextr�subiquitycore.file_utilr�subiquitycore.models.networkrr	r
rr�
subiquitycorer
�subiquitycore.controllerr�subiquitycore.pubsubr�subiquitycore.tuicontrollerr�subiquitycore.ui.stretchyr�subiquitycore.ui.views.networkr�subiquitycore.utilsrr�	getLoggerr4rrSr>rrKrrrr�<module>s:
,uX�

Filemanager

Name Type Size Permission Actions
__init__.cpython-310.pyc File 151 B 0644
network.cpython-310.pyc File 19.73 KB 0644
Filemanager