File: //opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__/socket_utils.cpython-311.pyc
�
�h � � � d dl mZ d dlZd dlZd dlZd dlZd dlmZ dZdZ dej de
fd�Zd ede
fd
�Zdej de
de
dee
fd
�Zdej dee fd�Zdej dee fd�Zdej defd�ZdS )� )�absolute_importN)�Optionalz>I�
�sock_object�returnc � � d}| � t j t j t j |� � � � }t j ||� � \ }}}|S )z�
Retrieve credentials from SO_PEERCRED option
:param sock_object: Socket object
:return: uid of user, which connects to this socket.
�3I)�
getsockopt�socket�
SOL_SOCKET�SO_PEERCRED�struct�calcsize�unpack)r �_format_string�creds�_�_uids �J/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/socket_utils.py�get_uid_from_socketr sM � � �N��"�"�6�#4�f�6H�&�/�Zh�Ji�Ji�j�j�E���~�u�5�5�J�A�t�Q��K� � data_dictc � � t j | � � � d� � }t j t
t
|� � � � |z S )z�
Prefix message with a 4-byte length
:param data_dict: Data dict for send
:return: byte array for send to socket
�utf-8)�json�dumps�encoder �pack�_format�len)r � msg_bytess r �pack_data_for_socketr"