HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/systemd/test/__pycache__/test_daemon.cpython-38.pyc
U

��X(�@sZddlZddlZddlZddlZddlZddlZddlmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZddlZejdd��Zejdd��Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$dd�Z%dd �Z&d!d"�Z'd#d$�Z(d%d&�Z)d'd(�Z*d)d*�Z+d+d,�Z,ej-d-k�rBe.Z/ne0Z/d.d/�Z1d0d1�Z2dS)2�N)�booted�is_fifo�_is_fifo�	is_socket�
_is_socket�is_socket_inet�_is_socket_inet�is_socket_unix�_is_socket_unix�is_socket_sockaddr�_is_socket_sockaddr�is_mq�_is_mq�
listen_fds�notifyc
csHz
dVWn8tk
rB}z|jtjkr0t���W5d}~XYnXdS�N)�OSError�errnoZENOSYS�pytest�skip)�e�r�:/usr/lib/python3/dist-packages/systemd/test/test_daemon.py�skip_enosyss
rccs4t�|�}z
|VW5|d��|d��XdS)Nr�)�socketZ
socketpair�close)Zfamily�pairrrr�closing_socketpairs


rcCs*tj�d�rt�s&t�nt�dks&t�dS)Nz/run/systemd/system>FT)�os�path�existsr�AssertionErrorrrrr�test_booted&sr#cCsJ|�d�j}t�|�t�|tjtjB�}t|d�s8t	�t||�sFt	�dS)N�	test.fifo)
�join�strpath�posix�mkfifor�open�O_RDONLY�
O_NONBLOCKrr")�tmpdirr �fdrrr�
test__is_fifo.s

r.cCsN|�d�}|�d�|j}t�|tjtjB�}t|d�r<t�t||�rJt�dS)Nr$�boo)	r%�writer&rr)r*r+rr"�r,�filer r-rrr�test__is_fifo_file6s

r3c	CsX|�d�j}t�t��tdd�r&t�W5QRXt�t��td|�rJt�W5QRXdS�Nr$���)r%r&r�raisesrrr"�r,r rrr�test__is_fifo_bad_fd?s
r8cCsr|�d�j}t�|�t�|tjtjB�}t�|d�}t	|d�sDt
�t	||�sRt
�t	|d�s`t
�t	||�snt
�dS)Nr$�r)r%r&r'r(rr)r*r+�fdopenrr")r,r r-r2rrr�test_is_fifoHs
r;cCsv|�d�}|�d�|j}t�|tjtjB�}t�|d�}t|d�rHt	�t||�rVt	�t|d�rdt	�t||�rrt	�dS)Nr$r/r9)
r%r0r&rr)r*r+r:rr"r1rrr�test_is_fifo_fileSs

r<c	CsX|�d�j}t�t��tdd�r&t�W5QRXt�t��td|�rJt�W5QRXdSr4)r%r&rr6rrr"r7rrr�test_is_fifo_bad_fd_s
r=c
CsHz
t|�WStk
rB}z|jtjks,t�WY�dSd}~XYnXdS�NF)r
rr�EBADFr"��arg�errorrrr�
is_mq_wrapperhs

rCc
CsHz
t|�WStk
rB}z|jtjks,t�WY�dSd}~XYnXdSr>)rrrr?r"r@rrr�_is_mq_wrapperps

rDcCs�ttj���}|D]�}t|�r t�t|�r,t�t|�r8t�t��t|d�rNt�W5QRX|�	�}t|�rlt�t|�rxt�t|�r�t�t��t|d�r�t�W5QRXt
|�r�t�t|�r�t�t|�r�t�t��t
|d�r�t�W5QRXqW5QRXdS)Nz127.0.0.1:2000)rr�AF_UNIXrr"rCrrr�filenorrDrr�r�sockr-rrr�test_no_mismatchxs$rIcCs4ttj���}|D�]}||��fD]�}t|�s4t�t|tj�sDt�t|tj�rTt�t|tjtj�sht�t|tjtj�r|t�t	��t
|dtjdd�r�t�W5QRXq$t|�s�t�t|tj�s�t�t|tj�r�t�t|tjtj�s�t�t|tjtj�r�t�t	��t|dtjdd��rt�W5QRXqW5QRXdS)Nz8.8.8.8:2000r)
rrrErFrr"�AF_INET�SOCK_STREAM�
SOCK_DGRAMrrrr�rrHrArrr�test_is_socket�s"
"rNcCst�t�tj�����}|�d�|��\}}d�|�}dD�]�}||��fD�]<}t��t	|dtj
�slt�W5QRXt��t	|d|tj
�s�t�W5QRXt��t	|d||d�s�t�W5QRXt��t	|d|dd�s�t�W5QRXt�� t	|d||d��rt�W5QRXt�
t��t	|ddd�W5QRXt��t	|d	tj
��rZt�W5QRXt��t	|dtj��r�t�W5QRXqLt�
t��t|dd
d�W5QRXt��t|d	tj
��r�t�W5QRXt��t|dtj��r�t�W5QRX|�d�q:W5QRXdS)N)�	127.0.0.1rz:{})rrrO)�	listeningr5i@�)Zflowinfoz129.168.11.11:23r�)�
contextlib�closingrrJ�bindZgetsockname�formatrFrrrKr"rr6�
ValueErrorrLrZlisten)rHZaddrZportrPrArrr�test_is_socket_sockaddr�s:


   $ rWc	Cs�ttj���}|D]�}|��}t|�s(t�t|tj�s8t�t|tj�rHt�t|tjtj�s\t�t|tjtj�rpt�t|�s|t�t|tj�s�t�t|tj�r�t�t|tjtj�s�t�t|tjtj�rt�qW5QRXdSr)	rrrErFrr"rJrKrLrGrrr�test__is_socket�srXc	Csrttj��^}|D]R}||��fD]@}t|�s0t�t|dd�r@t�t|tj�sPt�t|tj�r t�q qW5QRXdS)N�
/no/such/path)r )rrrErFr	r"rKrLrMrrr�test_is_socket_unix�srZc	Csjttj��V}|D]J}|��}t|�s(t�t|ddd�r:t�t|tj�sJt�t|tj�rt�qW5QRXdS)Nrr5rY)rrrErFr
r"rKrLrGrrr�test__is_socket_unix�sr[cCsFt�d�t�d�t�gks"t�td�gks2t�td�gksBt�dS)N�
LISTEN_FDS�
LISTEN_PIDTF)r�unsetenvrr"rrrr�test_listen_fds_no_fds�s


r_cCsZdtjd<tt���tjd<td�dddgks2t�td�dddgksHt�t�gksVt�dS)	N�3r\r]F���T�r�environ�str�getpidrr"rrrr�test_listen_fds�s

rhcCsPdtjd<tt���tjd<td�dgks.t�t�dgks>t�t�gksLt�dS)N�1r\r]Frardrrrr�test_listen_fds_default_unset�s

rjc	Cs�td�dkst�t��tdgd�dks,t�W5QRXtdddgd�dksNt�tdt��d�dksft�tdt��dd	�dks�t�dS)
N�READY=1F�	FDSTORE=1��fdsr���pid�r�rqrn)rr"rrrgrrrr�test_notify_no_socketsrt)rac
Cs�dtjd<t�t��td�W5QRXt�t��$t��tdgd�W5QRXW5QRXt�t��tdddgd�W5QRXt�t��tdt��d�W5QRXt�t��tdt��d	d
�W5QRXdS)Nz	/dev/null�
NOTIFY_SOCKETrkrlrmrrorprrrs)rrerr6�connection_errorrrrgrrrr�test_notify_bad_sockets
 rwc
Cs�|�d�j}t�tjtj�}z|�|�Wn2tjk
r\}zt�d|�W5d}~XYnXt	tdd�}|�
tj|d�|tj
d<td�s�t�t��tdgd	�s�t�W5QRXtddd
gd	�s�t�tdt��d�s�t�tdt��dd
�s�t�dS)Nrzfailed to bind socket (%s)�SO_PASSCRED�rrurkrlrmrorprrrs)r%r&rrErLrTrBrZxfail�getattrZ
setsockoptZ
SOL_SOCKETrrerr"rrg)r,r rHrrxrrr�test_notify_with_sockets 
r{)3�sysrr'rrRrZsystemd.daemonrrrrrrrr	r
rrr
rrrr�contextmanagerrrr#r.r3r8r;r<r=rCrDrIrNrWrXrZr[r_rhrjrt�version_info�ConnectionRefusedErrorrvrrwr{rrrr�<module>sFD


				&