File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/verify.cpython-310.pyc
Back
o ;j>k � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlZddl ZddlZddlZddlZddlmZ ddlmZmZmZmZ z ddlZddlZW n eyc ddlZY nw e�e�Zejj �!� rqdndZ"g d�Z#dd � Z$d d� Z%dd � Z&dd� Z'dd� Z(dd� Z)dd� Z*ddde"fdd�Z+dd� Z,dd� Z-d<dd �Z.d!d"� Z/d#d$� Z0d%d&� Z1d'd(� Z2d=d*d+�Z3dd)d,�d-d.�Z4d/d0� Z5d1d2� Z6d3d4� Z7d5d6� Z8d>d7d8�Z9d9Z:G d:d;� d;�Z;e;� Z<dS )?z3 A few checks to make sure the environment is sane � N)� LOG_LEVELS)�CommandExecutionError�SaltClientError�SaltSystemExit�SaltValidationErrorzc:\salt�/)ztcp://zudp://zfile://c C s zddl } W n ty Y dS w | j}t�d|�}|s$t�d|� dS |�� \}}}|�� r3t |�}|�� r;t |�}|rE|�� rEt |�}|dkrc|dkrcd|v rZ|sZt�d � dS |rb|d krbdS n|dkso|dkrq|dkrqdS t� d� dtjd v r�t� d � dS )z6 ZeroMQ python bindings >= 2.1.9 are required r NTz^(\d+)\.(\d+)(?:\.(\d+))?z0Using untested zmq python bindings version: '%s'� � �devz6Using dev zmq module, please report unexpected results� z,ZeroMQ python bindings >= 2.1.9 are requiredzsalt-masterz�The Salt Master is unstable using a ZeroMQ version lower than 2.1.11 and requires this fix: http://lists.zeromq.org/pipermail/zeromq-dev/2011-June/012094.htmlF) �zmq� Exception�__version__�re�match�log�warning�groups�isdigit�int�critical�sys�argv)r �verr �major�minorZpoint� r �E/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/verify.py�zmq_version, s@ � � �r c C sT t j}zt �| p ddt jt j�}|s|W S |d }|d W S t jy) | Y S w )z� Lookup a hostname and determine its address family. The first address returned will be AF_INET6 if the system is IPv6-enabled, and AF_INET otherwise. Nr )�socket�AF_INET�getaddrinfo� AF_UNSPEC�SOCK_STREAM�gaierror)�hostname�fallbackZ hostnames�hr r r � lookup_family_ s � �r( c C s� t | �}||fD ]e}t�|tj�}zWz|�tjtjd� |�| t|�f� W n< tyb } z0d| � d|� �}|j rC|� dt |�� �}n|� d�}|d7 }t�|� W Y d}~W |� � dS d}~ww W |� � q|� � w d S ) zJ Attempt to bind to the sockets to verify that they are available r zUnable to bind socket �:z , error: z, this might not be a problem.z'; Is there another salt-master running?NFT)r( r r# � setsockopt� SOL_SOCKET�SO_REUSEADDR�bindr r �args�strr r �close)Z interfaceZpub_portZret_portZaddr_family�port�sock�exc�msgr r r � verify_socketr s( ���r5 c C s@ g }| D ]}d}t D ]}|�|�rd} nq |r|�|� q|S )z! Filter files to verify. TF)�DEFAULT_SCHEMES� startswith�append)�filesZ to_verify�filenameZverify_file�schemer r r �verify_logs_filter� s � �r<