HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/cloudinit/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/cloudinit/__pycache__/netinfo.cpython-311.pyc
�

܍~cKZ����ddlZddlZddlmZmZddlmZddlmZddlm	Z	m
Z
ddlmZddl
mZej��Zggdd	d
�Zd�Zd�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�Zdd�ZdS)�N)�copy�deepcopy)�IPv4Network)�log)�subp�util)�net_prefix_to_ipv4_mask)�SimpleTable�F��ipv4�ipv6�hwaddr�upc	��tj|��}i}|D�]�}d|vr|dng}|�d��dkr|dnd}|td|vod|v��ggd�}|�d	g��D�]3}|�d
��dkr�d|vr*t	td
|d����j��nd}|�dd��||�dd��|�dd��d�}	|d�|	����|d
dkr||�dd��}
|
r0|�d��s|
�d|�dd����}
|
|�dd��d�}	|d�|	����5|||d<���|S)a&Get network device dicts from ip route and ip link info.

    ipaddr_json: Output string from 'ip --json addr' command.

    Returns a dict of device info keyed by network device name containing
    device configuration values.

    Raises json.JSONDecodeError if json could not be decoded
    �flags�	link_type�ether�addressr�UP�LOWER_UP)rrr
r�	addr_info�family�inet�	prefixlenz0.0.0.0/�local�	broadcast�scope)�ip�mask�bcastrr
�inet6�/�@)r�scope6r�ifname)�json�loads�get�bool�strr�netmask�append)�ipaddr_json�ipaddr_data�devs�devrr�dev_info�addrr �parsed_addrrs           �3/usr/lib/python3/dist-packages/cloudinit/netinfo.py�_netdev_info_iproute_jsonr6+s���*�[�)�)�K�
�D��%'�%'�� '�3����G���B��$'�G�G�K�$8�$8�G�$C�$C�#�i�.�.�����t�u�}�<��u�)<�=�=���	
�
���G�G�K��,�,�	5�	5�D��x�x��!�!�V�+�+�#�d�*�*���$B�t�K�/@�$B�$B�C�C�K�L�L�L����(�(�7�B�/�/� �!�X�X�k�2�6�6�!�X�X�g�r�2�2�	����� �'�'��4�4�4�4��h��7�*�*��X�X�g�r�*�*���=�d�h�h�y�1�1�=��<�<����+�r�!:�!:�<�<�B��"�h�h�w��3�3������ �'�'��4�4�4��&��S��]����K�c��i}d}t|�����D�]Y\}}tjd|��}|r�|�d������d��d}|�d���d��}ggdtd	|vod
|v��d�||<��d|vritjd
|��}|st�	d||����||d�
|�������d|vr�tjd|��}|st�	d||����I|���}|�d��}|�
d��\}	}
}|sd}||d�
|	|dr|dndt|��|dd������d|vr{tjd|��}|st�	d||����|�d��dkr |�d��||d<��Ld||d<��Y��[|S)an
    DEPRECATED: Only used on distros that don't support ip json output
    Use _netdev_info_iproute_json() when possible.

    @param ipaddr_out: Output string from 'ip addr show' command.

    @returns: A dict of device info keyed by network device name containing
              device configuration values.
    @raise: TypeError if ipaddr_out isn't a string.
    Nz.^\d+:\s(?P<dev>[^:]+):\s+<(?P<flags>\S+)>\s+.*r1�@rr�,rrrrr"z?\s+inet6\s(?P<ip>\S+)(\s(peer\s\S+))?\sscope\s(?P<scope6>\S+).*z*Could not parse ip addr show: (line:%d) %srrzd\s+inet\s(?P<cidr4>\S+)(\smetric\s(?P<metric>\d+))?(\sbrd\s(?P<bcast>\S+))?\sscope\s(?P<scope>\S+).*�cidr4r#�32r
r!r)rr!r r�linkz-\s+link/(?P<link_type>\S+)\s(?P<hwaddr>\S+).*rrr)�	enumerate�
splitlines�re�match�group�lower�splitr*�LOG�warningr-�	groupdict�pop�	partitionr	)�
ipaddr_outr0�dev_name�num�line�mrrAr;r3�_�prefixs            r5�_netdev_info_iprouterQas����D��H��z�4�4�6�6�7�7�@�@�	��T��H�F��M�M���>	��w�w�u�~�~�+�+�-�-�3�3�C�8�8��;�H��G�G�G�$�$�*�*�3�/�/�E�����4�5�=�@�Z�5�-@�A�A�	��D��N�N���_�_���.��	��A��
����@�#�t�������N�6�"�)�)�!�+�+�-�-�8�8�8�8�
�t�^�^���-����A��
����@�#�t������K�K�M�M�E��I�I�g�&�&�E�#�o�o�c�2�2�O�D�!�V��
�����N�6�"�)�)��/4�W�~�E�U�7�^�^�2�3�F�;�;�"�7�^�	��
�
�
�
��t�^�^���@�$���A��
����@�#�t������w�w�{�#�#�w�.�.�+,�7�7�8�+<�+<��X��x�(�(�+-��X��x�(�(���Kr7c��i}|���D�]=}t|��dkr�|ddvrT|���d}|�d��r
|dd�}||vrt	t
��||<|���������}t|��dkr&tj	d|d��rd||d<tt|����D�]9}||d	krS||dz�d
��\}}||d�|t|��d����b||d
kr!||dz||ddd<��||dkr||dz||d<��||dkrj||dzdkr-||d�d||dzi����||d�d||dzi����&||dkrB||dddd
z||dzz}|||ddd<��t||�
d��r2||�d��||ddd<���||dkrltjd||dz��}	|	r,|	�d��||ddd<��||dz||ddd<��;��?|S)Nr��	� �:����zflags=[x\d]+<up.*>Trrr#r
)rr rr!zaddress:rr"�addr:rr�r�scope:r%�scopeid�	.*<(\S+)>)r?�lenrD�endswithr�DEFAULT_NETDEV_INFOrC�stripr@�search�ranger-r	�
startswith�lstriprArB)
�
ifconfig_datar0rM�curdev�toks�i�network�net_bits�addr6�ress
          r5�_netdev_info_ifconfig_netbsdrn�sm��
�D��(�(�*�*�(E�(E���t�9�9��>�>����7�+�%�%��Z�Z�\�\�!�_�F����s�#�#�
%��������T�!�!�'�(;�<�<��V���z�z�|�|�!�!�#�#�)�)�+�+���t�9�9�q�=�=��y�.��Q��8�8�
*�%)��V��T�"��s�4�y�y�!�!�	E�	E�A��A�w�&� � �$(��Q��K�$5�$5�c�$:�$:�!����V��V�$�+�+�"�,C�H�,M�,M�N�N������a��K�'�'�48��Q��K��V��V�$�R�(��1�1��a��J�&�&�)-�a�!�e���V��X�&�&��a��G�#�#���A��;�'�)�)���L��(�/�/��t�A��E�{�0C�D�D�D�D���L��(�/�/��t�A��E�{�0C�D�D�D�D��a��K�'�'��V��V�,�R�0��6��<�t�A��E�{�J��16��V��V�$�R�(��.�.��a��#�#�H�-�-�
E�59�!�W�^�^�H�5M�5M��V��V�$�R�(��2�2��a��I�%�%��h�|�T�!�a�%�[�9�9���E�9<���1���D��L��(��,�X�6�6�9=�a�!�e��D��L��(��,�X�6��3	E�6�Kr7c�d�i}|���D�]}t|��dkr�|ddvrT|���d}|�d��r
|dd�}||vrt	t
��||<|���������}|ddkrd||d<n9t|��dkr&tj	d|d��rd||d<tt|����D�]�}||d	kr@||d
�d||dz�d��i���O||�
d
��r1||�d
��||d
dd<��||dkr!||dz||d
dd<��||�
d��r2||�d��||d
dd<��||dkr"||dz||d
dd<��C||dks||dkr||dz||d<��q||dkrk||dzdkr.||d�d||dzi�����||d�d||dzi�����||dkrB||ddddz||dzz}|||ddd<��6||�
d��r2||�d��||ddd<���||dkrltjd||dz��}|r,|�d��||ddd<���||dz||ddd<�����|S)NrrSrVrWrTrXz
flags=\d+<up,rr
rrYzbcast:r!rzmask:r r,rrr"rrZrr#r[r%r\r])r?r^rDr_rr`rCrar@rbrcr-rerdrArB)rfr0rMrgrhrirlrms        r5�_netdev_info_ifconfigrp�sD��
�D��(�(�*�*�1E�1E���t�9�9��>�>����7�+�%�%��Z�Z�\�\�!�_�F����s�#�#�
%��������T�!�!�'�(;�<�<��V���z�z�|�|�!�!�#�#�)�)�+�+����7�d�?�?�!%�D��L������Y�Y��]�]��y�)�4��7�3�3�
*�%)��V��T�"��s�4�y�y�!�!�	E�	E�A��A�w�&� � ��V��V�$�+�+��4��A��;�-�-�g�6�6�7������a��#�#�H�-�-�
E�48��G�N�N�8�4L�4L��V��V�$�R�(��1�1��a��K�'�'�48��Q��K��V��V�$�R�(��1�1��a��#�#�G�,�,�
E�37��7�>�>�'�3J�3J��V��V�$�R�(��0�0��a��I�%�%�37��A��;��V��V�$�R�(��0�0��a��H�$�$��Q��7�(:�(:�)-�a�!�e���V��X�&�&��a��G�#�#���A��;�'�)�)���L��(�/�/��t�A��E�{�0C�D�D�D�D���L��(�/�/��t�A��E�{�0C�D�D�D�D��a��K�'�'��V��V�,�R�0��6��<�t�A��E�{�J��16��V��V�$�R�(��.�.��a��#�#�H�-�-�
E�59�!�W�^�^�H�5M�5M��V��V�$�R�(��2�2��a��I�%�%��h�|�T�!�a�%�[�9�9���E�9<���1���D��L��(��,�X�6�6�9=�a�!�e��D��L��(��,�X�6��=	E�@�Kr7c����i}tj��r-tjddgddg���\}}t|��}n�tjd��rg	tjgd���\}}t|��}n�#tj$r+tjgd���\}}t|��}Yn_wxYwtjd��r-tjddgddg���\}}t|��}nt�
d	��|d
kr|Stttf�d��fd�	��||�
��|S)N�ifconfigz-arrX��rcsr)rz--jsonr3)rr3�showz>Could not print networks: missing 'ip' and 'ifconfig' commandsr�rr7c�.��t|t��r|���}n;t|ttf��rt|��}nt
d���|D]+\}}||vr|||<�t|���r�||���,dS)zQRecursively replace 'empty_vals' in data (dict, tuple, list)
        with new_valzUnexpected input to fillN)�
isinstance�dict�items�tuple�listr>�	TypeError)�data�new_val�
empty_vals�myiter�key�val�fill�
recurse_typess      ��r5r�znetdev_info.<locals>.fill7s�����d�D�!�!�	8��Z�Z�\�\�F�F�
��u�d�m�
,�
,�	8��t�_�_�F�F��6�7�7�7��	#�	#�H�C���j� � �#��S�	�	��C��/�/�
#���S�'�"�"�"��		#�	#r7)r)rrv)r�	is_NetBSDrrn�whichr6�ProcessExecutionErrorrQrprErFryr{r|)�emptyr0�	ifcfg_out�_errrJr�r�s     @@r5�netdev_infor�s�����
�D��~���
� �I�z�4�&8�q�!�f�E�E�E���D�+�I�6�6���	
��D�	�	�
�	4�!%��+C�+C�+C�!D�!D��Z��,�Z�8�8�D�D���)�	4�	4�	4�!%��+A�+A�+A�!B�!B��Z��'�
�3�3�D�D�D�	4����
��J�	�	�
� �I�z�4�&8�q�!�f�E�E�E���D�$�Y�/�/������L�	
�	
�	
�
��{�{����5�$�'�M�#�#�#�#�#�#�#� 	�D��u������Ks�(B�7B=�<B=c��i}g|d<g|d<|���}ddddddd�}|D�]o}t|��}|s�|���}dg}|ddkrd|d	<d|d
<nvd|dvr|d�d��\}}	n1|d}d}	|�d
��t	|	��|d
<||d	<t	|	��|d
<d|d<tt
|����D]f}
||
dkr$||
dz|d<|�dd��||
dkr||
dz|d<||
dkr||
dz|d<�gd�|��|d<|d�|����q	tj	gd�ddg���\}}|���}
|
D]�}i}|s�|���}|ddkrd|d	<d|d<n|d|d	<d|d<d|d<tt
|����D]o}
||
dkr||
dz|d<d|d<||
dkr||
dz|d<||
dkr||
dz|d<||
dkr|ddz|d<�p|d�|����n#tj
$rYnwxYw|S)aP
    Get network route dicts from ip route info.

    @param iproute_data: Output string from ip route command.

    @returns: A dict containing ipv4 and ipv6 route entries as lists. Each
              item in the list is a route dictionary representing destination,
              gateway, flags, genmask and interface information.
    r
rr)�destinationr�gateway�genmask�iface�metric�Ur�defaultz0.0.0.0r�r�r#r<�Hr��viarX�Gr1r�r�r)rz	--onelinez-6�router|�table�allrsz::/0�UGz::�expires�e)r?rrDr-r	rcr^�insert�joinrr�)�iproute_data�routes�entries�default_route_entryrM�entryrhrr3�cidrri�
iproute_data6�_err6�entries6s              r5�_netdev_route_info_iprouter�Ks����F��F�6�N��F�6�N��%�%�'�'�G�������
����%�%���(�)�)���	���z�z�|�|�������7�i���#,�E�-� �(�E�)����d�1�g�~�~�#�A�w�}�}�S�1�1���t�t��A�w�������S�!�!�!�#:�4�#@�#@��i� �#'�E�-� �6�t�<�<�E�)��(�E�)���s�4�y�y�!�!�	.�	.�A��A�w�%���#'��A��;��i� ����Q��$�$�$��A�w�%���!%�a�!�e���g���A�w�(�"�"�"&�q�1�u�+��h����������g���v����e�$�$�$�$�)�!%��F�F�F��A��"
�"
�"
����!�+�+�-�-���	)�	)�D��E��
���:�:�<�<�D��A�w�)�#�#�'-��m�$�!%��g���'+�A�w��m�$�#'��i� �!$��g���3�t�9�9�%�%�	
:�	
:����7�e�#�#�'+�A��E�{�E�)�$�%)�E�'�N���7�e�#�#�%)�!�a�%�[�E�'�N���7�h�&�&�&*�1�q�5�k�E�(�O���7�i�'�'�%*�7�^�c�%9�E�'�N���6�N�!�!�%�(�(�(�(�-	)��	�%�
�
�
���
����6�Ms�K�K�Kc
��i}g|d<g|d<|���}|D�]
}|s�|���}t|��dks<|ddks0|ddks$|ddks|ddks|dd	kr�jt|��d
kr:|�d��|�d��|d|d
<d|d<|d|d|d|d|d|d|d|d
d�}|d�|����	t	jgd�ddg���\}}|���}|D�]}|s�|���}t|��d
ks<|ddks0|ddks$|ddks|ddks|ddkr�j|d|d|d|d|d|d|dd�}|ddkr��|d�d��rt
jdd|d��|d<|d�|����n#tj$rYnwxYw|S)Nr
r�r�Kernel�Destination�Internet�	Internet6�Routing��-��rXrZ��)r�r�r�rr��ref�user�)�netstatz-Ar"�--route�	--numericrs�Proto�Active)r�r�rr�r�r�r�r��lor�z/128z\/128$r)	r?rDr^r-rr_r@�subr�)	�
route_datar�r�rMrhr��route_data6r�r�s	         r5�_netdev_route_info_netstatr��s���
�F��F�6�N��F�6�N��#�#�%�%�G��#%�#%���	���z�z�|�|��
��I�I��M�M��A�w�(�"�"��A�w�-�'�'��A�w�*�$�$��A�w�+�%�%��A�w�)�#�#���t�9�9�q�=�=��K�K������K�K������1�g�D��G��D��G���7��A�w��A�w��!�W��1�g���7���7��!�W�	
�	
��	�v����e�$�$�$�$�&)�#�y�>�>�>�Q��F� 
� 
� 
���e��)�)�+�+���	)�	)�D��
���:�:�<�<�D��D�	�	�A�
�
���7�h�&�&���7�m�+�+���7�j�(�(���7�g�%�%���7�h�&�&��#�A�w���7��a���q�'��A�w��A�w��a����E��W�~��%�%���]�#�,�,�V�4�4�
�')�v��r�5��#7�(�(��m�$�
�6�N�!�!�%�(�(�(�(�=	)��	�%�
�
�
���
����F�Ms�3I)�)I;�:I;c�:�i}tjd��r)tjgd���\}}t|��}n[tjd��r-tjgd�ddg���\}}t|��}nt�d��|S)	Nr)rz-or�r|r�)r�r�r�z--extendrrXrsz;Could not print routes: missing 'ip' and 'netstat' commands)rr�r�r�rErF)r��iproute_outr��	route_outs    r5�
route_infor��s���
�F��z�$���

�"�i�(E�(E�(E�F�F���d�+�K�8�8���	
��I�	�	�	
� �I�;�;�;�!�Q��
�
�
���D�,�I�6�6������I�	
�	
�	
��Mr7c���g}d}	t|���}|sdSgd�}t|��}t|�����D�].\}}|�d��D]I}|�||d|d|d|�d	|��|d
f���J|�d��D]C}|�||d|d||�d|��|d
f���Dt
|�d����t
|�d����zd
kr'|�||d||||d
f����0|���}t
t|�	��t�����}	tjdd|	��}
|�|
|g��na#t$rT}|�tjd�t!|�����dd����Yd}~nd}~wwxYwd�|��dzS)N�.)r��
)�Device�Up�Address�Mask�Scopez
Hw-Addressr
rrr rrrr%r�r�zNet device info�+z Net device info failed ({error})��error�!�P)r�r
�sortedrzr)�add_rowr^�
get_string�maxr?r�center�extend�	Exceptionr-�formatr+r�)�linesr��netdev�fields�tblr1r~r3�netdev_s�max_len�headerr�s            r5�netdev_pformatr�s����E��E�-)��5�)�)�)���	��4�K�K�K���&�!�!��!�&�,�,�.�.�1�1�	�	�K�S�$�����(�(�

�

�������T�
��T�
��V������%�0�0��X��
�	�	�	�	�����(�(�

�

�������T�
��T�
������5�1�1��X��
�	�	�	�	��4�8�8�F�#�#�$�$�s�4�8�8�F�+;�+;�'<�'<�<��A�A�����$�t�*�e�U�E�4��>�J������>�>�#�#���c�(�-�-�/�/�S�9�9�9�:�:����.��W�=�=��
���f�h�'�(�(�(�(��W�
�
�
�
����K�2�9�9��A���9�G�G���
�
�	
�	
�	
�	
�	
�	
�	
�	
�����
����X�9�9�U���d�"�"s�G5�5
I�?A
I�Ic
��g}	t��}|�d��r�gd�}t|��}t|�d����D]M\}}t	|��}|�||d|d|d|d|dg���N|���}tt|�	��t�����}tjd	d
|��}	|�|	|g��|�d��r�gd�}
t|
��}t|�d����D]S\}}t	|��}|dd
kr�!|�||d|d|d|dg���T|���}tt|�	��t�����}tjdd
|��}	|�|	|g��n~#t$rq}|�tjd�t	|�����dd����tjt"d|z��Yd}~nd}~wwxYwd�|��dzS)Nr
)�Router��Gateway�Genmask�	Interface�Flagsr�r�r�r�rr�zRoute IPv4 infor�r)r�r�r�r�r�r�zRoute IPv6 infozRoute info failed ({error})r�r�r�zRoute info failed: %sr�)r�r)r
r>r+r�r�r^r�r?rr�r�r�r-r��logexcrEr�)
r�r��	fields_v4�tbl_v4�n�r�route_id�route_sr�r��	fields_v6�tbl_v6r�s
             r5�
route_pformatr�?s����E�=,������:�:�f���	,����I�!��+�+�F�#�F�J�J�v�$6�$6�7�7�
�
���A��q�6�6����� ��-�(��)���)���'�
��'�
�
�	�	�	�	��'�'�)�)�G��#�g�0�0�2�2��<�<�<�=�=�G��[�!2�C��A�A�F��L�L�&�'�*�+�+�+��:�:�f���	,����I�!��+�+�F�#�F�J�J�v�$6�$6�7�7�
�
���A��q�6�6���W�:��%�%����� ��-�(��)���'�
��'�
�������'�'�)�)�G��#�g�0�0�2�2��<�<�<�=�=�G��[�!2�C��A�A�F��L�L�&�'�*�+�+�+���w�6�6�6�
����K�-�4�4�3�q�6�6�4�B�B�C��
�
�	
�	
�	
�
	
��C�0�1�4�5�5�5�5�5�5�5�5�����
6����x�9�9�U���d�"�"s�H5�5
J0�?A'J+�+J0�	ci-info: c��g}t�����}|r|D]}|�|�|�����n|�|��t	�����}|r|D]}|�|�|�����n|�|��d�|��S)Nr�)r�r?r-r�r�r�)rPr��netdev_linesrM�route_liness     r5�
debug_infor��s����E�!�#�#�.�.�0�0�L�
�#� �	2�	2�D��L�L�6�6�4�4�0�1�1�1�1�	2�	���\�"�"�"��/�/�,�,�.�.�K�
�"��	2�	2�D��L�L�6�6�4�4�0�1�1�1�1�	2�	���[�!�!�!��9�9�U���r7)r)r�)r'r@rr�	ipaddressr�	cloudinitr�loggingrr�cloudinit.net.network_stater	�cloudinit.simpletabler
�	getLoggerrEr`r6rQrnrpr�r�r�r�r�r�r��r7r5�<module>rs�������	�	�	�	���������!�!�!�!�!�!�$�$�$�$�$�$� � � � � � � � �?�?�?�?�?�?�-�-�-�-�-�-��g�����& "�2��5�I�I��3�3�3�lN�N�N�b-�-�-�`6�6�6�r-�-�-�-�`U�U�U�pR�R�R�j���&1#�1#�1#�h@#�@#�@#�F�����r7