File: //usr/lib64/python3.9/site-packages/rhsmlib/dbus/__pycache__/dbus_utils.cpython-39.pyc
a
X�Zh� �
@ s� d dl Z d dlZd dlm mZ d dlZe �e�Z dd� Z
dd� Zdd� Zdd � Z
d
d� Zdd
� Zdd� Zddd�Zeejejejejejejejejejejejd�Zdd� Zdd� Z dd� Z!dd� Z"dS )� Nc
C s� zJt d| d��(}|�� d �dd��� }W d � n1 s>0 Y W n8 ty� } z t�d| |f � W Y d}~dS d}~0 0 |S )zGet command for pid from /procz/proc/%d/cmdline�rr � � Nz+Unable to get cmdline of PID: %s, error: %s)�open� readlines�replace�strip� Exception�logZwarning)�pid�f�cmd�err� r �=/usr/lib64/python3.9/site-packages/rhsmlib/dbus/dbus_utils.py�command_of_pid s :r c
C s| | � dd�}t�|d�}zt|�|��}W nL ty> Y dS tjjyv } zt� d|� �� W Y d}~dS d}~0 0 |S )zTGet pid from sender string using
org.freedesktop.DBus.GetConnectionUnixProcessID�org.freedesktop.DBus�/org/freedesktop/DBusNzD-Bus raised exception: )
�
get_object�dbus� Interface�intZGetConnectionUnixProcessID�
ValueError�
exceptionsZ
DBusExceptionr
�debug)�bus�sender�dbus_obj�
dbus_ifacer r r r r �
pid_of_sender( s r c C sD | � dd�}t�|d�}zt|�|��}W n ty> Y dS 0 |S )zSGet user id from sender string using
org.freedesktop.DBus.GetConnectionUnixUserr r N)r r r r ZGetConnectionUnixUserr )r r r r �uidr r r �
uid_of_sender= s r! c C s, zt �| �}W n ty" Y dS 0 |d S )zGet user for uid from pwdNr )�pwd�getpwuidr )r Zpwsr r r �user_of_uidK s
r$ c
C sr | � dd�}t�|d�}z|�|�}W n6 ty\ } zt�d|� �� W Y d}~dS d}~0 0 d�tt t
|���S )ziGet SELinux context from sender string using
org.freedesktop.DBus.GetConnectionSELinuxSecurityContextr r zCould not get SELinux context: N� )r r r Z#GetConnectionSELinuxSecurityContextr r
r �join�map�chr�dbus_to_python)r r r r �context�excr r r �context_of_senderU s r, c C s t t| |��S )zReturn command of D-Bus sender)r r �r r r r r �command_of_sendere s r. c C s t t| |��S �N)r$ r! r- r r r �user_of_senderk s r0 c C sd | d u r| }�n�t | tj�r(t| �}�n~t | tj�r@t| �}�nft | tj�rXt| �}�nNt | tj�s�t | tj�s�t | tj �s�t | tj
�s�t | tj�s�t | tj�s�t | tj
�r�t| �}n�t | tj�r�t| �}n�t | tj�r�dd� | D �}n�t | tj��r
tdd� | D ��}n�t | tj��r4tdd� t| �� �D ��}nrt | t��s�t | t��s�t | t��s�t | t��s�t | t��s�t | t��s�t | t��s�t | t��r�| }ntd| ��|d u�r`|tk�r�t |t��rJ|tk�r�t |t��rJ|tk�r�t |t��rJ|tk�rt |t��rJ|tk�rt |t��rJ|tk�r4t |t��rJ|tk�r`t |t��s`td|t|�|f ��|S )Nc S s g | ]}t |��qS r �r) ��.0�xr r r �
<listcomp>� � z"dbus_to_python.<locals>.<listcomp>c S s g | ]}t |��qS r r1 r2 r r r r5 � r6 c s s"