Your IP : 216.73.216.213
a
XC?h�, � @ 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 � n1 s*0 Y ~|S )N)�socket� bind_port)�familyZsocktypeZtempsock�port� r �?/opt/alt/python39/lib64/python3.9/test/support/socket_helper.py�find_unused_port s 8&r
c C s� | j tjkr�| jtjkr�ttd�r@| �tjtj�dkr@t �
d��ttd�r�z"| �tjtj�dkrjt �
d��W n ty~ Y n0 ttd�r�| �
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 s8 z| � |� W n$ ty2 | �� t�d��Y n0 d S )Nzcannot bind AF_UNIX sockets)r �PermissionError�close�unittestZSkipTest)r Zaddrr r r �bind_unix_sockets s
r c C st t jrpd } zVz2t � t jt j�} | �tdf� W W | r<| �� dS tyP Y n0 W | rp| �� n| rn| �� 0 dS )Nr TF)r Zhas_ipv6ZAF_INET6r r �HOSTv6r r )r r r r �_is_ipv6_enabled| s �
�
r c C s� t td�st�d�| �S td u r�ddlm}m} |d }t�tj��d}zHz|� |� daW n( t
y� } z|aW Y d }~n
d }~0 0 W ||� n
||� 0 W d � n1 s�0 Y tr�dt }t�|�| �S | S d S )N�AF_UNIXzNo UNIX Socketsr )�TESTFN�unlinkZcan_bind_unix_socketFz%Requires a functional unix bind(): %s)r r r �skip�_bind_nix_socket_errorZtest.supportr r r r r )�testr r �pathr �e�msgr r r �skip_unless_bind_unix_socket� s
2r% c C s^ t jg} tt d�r| �t j� tt d�r4| �t j� tt d�rJ| �t j� tsZ| �t j� | S )N�ENETUNREACH�
EADDRNOTAVAIL�EHOSTUNREACH) �errno�ECONNREFUSEDr �appendr&