File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/network.cpython-310.pyc
Back
o ;j�& � @ sP d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlm Z mZ ddlmZmZ ddlZddlZddlZddlZddlZddlmZ ddlmZmZ ddlmZ ddlm Z zddl!Zd Z"W n e#y d Z"Y nw e�$e%�Z&zddl'Z'ddl(Z'e'j)�*e'j+�,d��Z-e-j.Z/W n e#e0e1e2fy� Y nw G dd � d �Z3e3� Z4e4j5Z6dd� Z7dd� Z8dd� Z9dd� Z:dd� Z;e j<dfdd�Z=dd� Z>dd� Z?dd� Z@d d!� ZAd"d#� ZBd$d%� ZCd&d'� ZDd(d)� ZEd*d+� ZFd,d-� ZGed!�d�d.d/��ZHd0d1� ZId2d3� ZJd4d5� ZKd6d7� ZLd8d9� ZMd:d;� ZNd<d=� ZOd>d?� ZPd�d@dA�ZQd�dBdC�ZRed#�d�dDdE��ZSed%�d�dFdG��ZTd�dHdI�ZUedJ�d�dKdJ��ZVedL�d�dMdL��ZWedN�d�dOdN��ZXd�dPdQ�ZYedR�d�dSdR��ZZdTdU� Z[edV�d�dWdV��Z\dXdY� Z]edZ�d�d[dZ��Z^d�d]d^�Z_d_d`� Z`dadb� Zadcdd� Zbdedf� Zcdgdh� Zddidj� Zedkdl� Zfdmdn� Zgdodp� Zhdqdr� Zidsdt� Zjdudv� Zkdwdx� Zldydz� Zmd{d|� Znd}d~� Zod�dd��Zpd�d�� Zqd�d�� Zrd�d�� Zsd�d�� Ztd�d�� Zud�d�� Zvd�d�d��Zwd�d�d��Zxd�d�� Zyd�d�d��Zzd�d�d��Z{d�d�d��Z| �d�d�d��Z}d�d�d��Z~d�d�d��Z �d�d�d��Z� d�d�d��Z� d�d�d��Z�d�d�d��Z�d�d�d��Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�dÄ Z�edăd�d�dĄ�Z�edǃd�dDŽ �Z�d�dʄ Z�ed˃d�d�d˄�Z�d�d΄ Z�d�dЄ Z�edуd�dф �Z�edӃd�dӄ �Z�d�d�dքZ�dS )�z: Define some generic socket functions for network modules � N)�Mapping�Sequence)� ascii_letters�digits)� ipaddress)�SaltClientError�SaltSystemExit)�jinja_filter)�VersionTF�cc @ s* e Zd ZdZd dd�Zdd� Zdd� ZdS ) � Interfaces�� interfacesNc C s |d u ri }|| _ d S �Nr )�selfr � r �F/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/network.py�__init__5 s zInterfaces.__init__c O s | j st � | _ | j S r r )r �args�kwargsr r r �__call__: s zInterfaces.__call__c C s i | _ d S r r �r r r r �clear? s zInterfaces.clearr )�__name__� __module__�__qualname__� __slots__r r r r r r r r 2 s r c sZ t | t�rzt�| � W | S ty Y nw tt d � d�� fdd�| dd� D ��S )z� Sanitize host string. https://tools.ietf.org/html/rfc1123#section-2.1 If ``host`` is already a valid IP address (IPv4 or IPv6) it is returned unchanged so that characters like ``:`` in IPv6 addresses are not stripped. z.-_� c s g | ]}|� v r|�qS r r )�.0r �ZRFC952_charactersr r � <listcomp>X s z!sanitize_host.<locals>.<listcomp>r � )� isinstance�strr � ip_address� ValueErrorr r �join)�hostr r r � sanitize_hostG s �� r( c C sJ dt |� kr dksdS dS t�tjtj�}|�t| �t |�f�}|S )z! Return status of a port � i�� F)�int�socket�AF_INET�SOCK_STREAM� connect_exr( )r'