Sindbad~EG File Manager
�
SԚgk4 � � � d dl Z d dlZd dlZd dlZd dlZd dlZddlmZ ddlmZ dZ dZ
dZej Z
ej ej fd �Ze fd
�Zd� Zd� Z e� � Zdad
� Zd� Z e� � Ze j edd�d�� � Zi Zd� Zd� Zd� ZdS )� N� )�support� )�warnings_helper� localhostz 127.0.0.1z::1c � � t j | |� � 5 }t |� � }d d d � � n# 1 swxY w Y ~|S )N)�socket� bind_port)�family�socktype�tempsock�ports �7/usr/local/lib/python3.11/test/support/socket_helper.py�find_unused_portr s� � �5�n
��v�x� (� (� #�H���"�"��#� #� #� #� #� #� #� #� #� #� #���� #� #� #� #���Ks �3�7�7c �� � | j t j k �r| j t j k �r t t d� � rB| � t j t j � � dk rt j
d� � �t t d� � rT | � t j t j � � dk rt j
d� � �n# t $ r Y nw xY wt t d� � r+| �
t j t j d� � | � |df� � | � � � d }|S )N�SO_REUSEADDRr zHtests should never set the SO_REUSEADDR socket option on TCP/IP sockets!�SO_REUSEPORTzHtests should never set the SO_REUSEPORT socket option on TCP/IP sockets!�SO_EXCLUSIVEADDRUSEr )r r �AF_INET�type�SOCK_STREAM�hasattr�
getsockopt�
SOL_SOCKETr r �
TestFailedr �OSError�
setsockoptr �bind�getsockname)�sock�hostr s r r
r
P sT � �� �{�f�n�$�$���f�6H�)H�)H��6�>�*�*� <����v�0�&�2E�F�F�!�K�K��(� *;� <� <� <� �6�>�*�*�
�
��?�?�6�#4�f�6I�J�J�a�O�O�!�,� .?� @� @� @� P�� �
�
�
� ��
����
�6�0�1�1� N��O�O�F�-�v�/I�1�M�M�M��I�I�t�Q�i���������a� �D��Ks �AC �
C+�*C+c � � | � |� � d S # t $ r) | � � � t j d� � �w xY w)Nzcannot bind AF_UNIX sockets)r �PermissionError�close�unittest�SkipTest)r �addrs r �bind_unix_socketr( w sW � �L�?�� � �$�������� ?� ?� ?��
�
������ =�>�>�>�?���s � �3A
c �n � t j r�d } t j t j t j � � } | � t
df� � | r| � � � dS dS # t $ r Y nw xY w | r| � � � n# | r| � � � w w xY wdS )Nr TF)r �has_ipv6�AF_INET6r r �HOSTv6r$ r )r s r �_is_ipv6_enabledr- � s� � �5�
��
��� ��=���&�2D�E�E�D��I�I�v�q�k�"�"�"�� �
��
�
������
�
�� � � � ��D� ������
��
�
������ �
��
�
�����
�����5s$ �AA1 �1
A>�;B �=A>�>B �B2c � � t t d� � s t j d� � | � � S t ��ddlm}m} |dz }t j t j � � 5 } |� |� � dan# t $ r}|aY d }~nd }~ww xY w ||� � n# ||� � w xY w d d d � � n# 1 swxY w Y t r'dt z } t j |� � | � � S | S )N�AF_UNIXzNo UNIX Socketsr )�TESTFN�unlink�can_bind_unix_socketFz%Requires a functional unix bind(): %s)r r r% �skip�_bind_nix_socket_error� os_helperr0 r1 r/ r r )�testr0 r1 �pathr �e�msgs r �skip_unless_bind_unix_socketr: � si � �M��6�9�%�%� 6�/�x�}�.�/�/��5�5�5��%�-�-�-�-�-�-�-�-��.�.��
�]�6�>�
*�
*� �d�
�� � �$����).�&�&���
+�
+�
+�)*�&�&�&�&�&�&�����
+���� ��t��������t��������� � � � � � � � � � � ���� � � � � � �5�8N�N��!�x�}�S�!�!�$�'�'�'��sN �&C�(B �?B%�
B�
B�B%�B�B%�C�%
B2�2C�C� Cc � � t j g} t t d� � r| � t j � � t t d� � r| � t j � � t t d� � r| � t j � � t s| � t j � � | S )N�ENETUNREACH�
EADDRNOTAVAIL�EHOSTUNREACH) �errno�ECONNREFUSEDr �appendr<