Your IP : 216.73.216.213
o
0�i�, � @ s� d dl Z d dlZd dlZd dlZd dlZddlmZ dZdZdZ ej
ejfdd�Zefd d
�Z
dd� Zd
d� Ze� Zdadd� Zdd� Ze� Ze jedd�dd��ZdS )� N� )�supportZ localhostz 127.0.0.1z::1c C s@ t � | |��}t|�}W d � ~|S 1 sw Y ~|S )N)�socket� bind_port)�familyZsocktypeZtempsock�port� r �A/opt/alt/python310/lib64/python3.10/test/support/socket_helper.py�find_unused_port s 7
��r
c C s� | j tjkrO| jtjkrOttd�r!| �tjtj�dkr!t �
d��ttd�rAz| �tjtj�dkr6t �
d��W n ty@ Y nw ttd�rO| �
tjtjd� | �|df� | �� d }|S )N�SO_REUSEADDR� 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�hasattrZ
getsockoptZ
SOL_SOCKETr r Z
TestFailedr
�OSErrorZ
setsockoptr �bindZgetsockname)�sockZhostr r r r r L s$
��
r c C s4 z| � |� W d S ty | �� t�d��w )Nzcannot bind AF_UNIX sockets)r �PermissionError�close�unittestZSkipTest)r Zaddrr r r �bind_unix_sockets s
�r c C s~ t jr=d } z.zt � t jt j�} | �tdf� W W | r!| �� dS dS ty+ Y nw W | r3| �� dS | r<| �� w w dS )Nr TF)r Zhas_ipv6ZAF_INET6r r �HOSTv6r r )r r r r �_is_ipv6_enabled| s* ����
�r c C s� t td�s
t�d�| �S td u r]ddlm}m} |d }t�tj��2}z$z |� |� daW n t
yB } z|aW Y d }~nd }~ww W ||� n||� w W d � n1 sXw Y trjdt }t�|�| �S | S )N�AF_UNIXzNo UNIX Socketsr )�TESTFN�unlinkZcan_bind_unix_socketFz%Requires a functional unix bind(): %s)r r r �skip�_bind_nix_socket_errorZ os_helperr r r r r )�testr r �pathr �e�msgr r r �skip_unless_bind_unix_socket� s*
����r% c C s` t jg} tt d�r| �t j� tt d�r| �t j� tt d�r&| �t j� ts.| �t j� | S )N�ENETUNREACH�
EADDRNOTAVAIL�EHOSTUNREACH) �errno�ECONNREFUSEDr �appendr&