HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/cockpit/__pycache__/polkit.cpython-39.opt-1.pyc
a

�/�h��@s�ddlZddlZddlZddlZddlZddlmZmZmZm	Z	ddl
mZddlm
Z
mZdZdZe�e�Ze	eeee
ffZGdd�dej�ZGd	d
�d
�ZdS)�N)�Dict�List�Sequence�Tuple)�AskpassHandler)�Variant�busz'/usr/lib/polkit-1/polkit-agent-helper-1z/PolkitAgentc	sneZdZed��fdd�Zej�dgd��eeee	eefee
edd�dd	��Ze
jjdd
�dd�Z�ZS)
�.org_freedesktop_PolicyKit1_AuthenticationAgent��	respondercst���||_dS�N)�super�__init__r��selfr��	__class__��2/usr/lib/python3.9/site-packages/cockpit/polkit.pyr.s
z7org_freedesktop_PolicyKit1_AuthenticationAgent.__init__�)�srrza{ss}rz	a(sa{sv})N)�	action_id�message�	icon_name�details�cookie�
identities�returnc

�st�d||||||�t��}|D]8\}}	|dkr"d|	vr"|	dj|kr"t�d|	|�qlq"t�d|�dSt�|�j}
t	j
t|
|t	jj
t	jj
d�IdH}zZz|�|�IdHWn&t	jy�t�d�|��Yn0W|��IdH}t�d|�n|��IdH}t�d|�0dS)	Nz[BeginAuthentication: action %s, message "%s", icon %s, details %s, cookie %s, identities %rz	unix-user�uidz,Authentication subject %s matches our uid %dz*Not supporting authentication as any of %s)�stdin�stdoutzCancelled authenticationzhelper exited with code %i)�logger�debug�os�geteuid�value�warning�pwd�getpwuid�pw_name�asyncioZcreate_subprocess_exec�HELPER_PATH�
subprocess�PIPE�_communicate�CancelledError�	terminate�wait)
rrrrrrrZmy_uidZ	auth_type�subjectZ	user_name�process�resrrr�begin_authentication3s0�
�
�zCorg_freedesktop_PolicyKit1_AuthenticationAgent.begin_authentication)r3rc�sJg}|j2�z63dHW}t�d|�|�����d�\}}}|�d�r�|�d�rTd}|j�d�	|�|d�IdH}|�
�|dur�t�d|�t�d��t�d	|�|j
�|���|j
�d
�~|j
��IdHt�d�q
|dvr�|�|�q
|d
k�rt�d��qFq
|dk�r(t�d��qFq
t�d|�|���qFq
6dS)NzRead line from helper: %s� Z
PAM_PROMPTZPasswordr�
z/got PAM_PROMPT %s, but do_askpass returned Nonezno password givenz1got PAM_PROMPT %s, do_askpass returned a password�
z(got PAM_PROMPT, wrote password to helper)Z
PAM_TEXT_INFOZ	PAM_ERROR�SUCCESSzAuthentication succeeded�FAILUREzAuthentication failedz&Unknown line from helper, aborting: %s)r r!r"�strip�decode�	partition�
startswithrZ
do_askpass�join�clearr*r/r�write�encodeZdrain�appendr&r0)rr3�messages�lineZcommand�_r%�passwdrrrr.Ps:






z;org_freedesktop_PolicyKit1_AuthenticationAgent._communicate)�__name__�
__module__�__qualname__rrrZ	InterfaceZMethod�strrr�Identityr5r*r,ZProcessr.�
__classcell__rrrrr	-s�r	c@s.eZdZdZed�dd�Zdd�Zdd�Zd	S)
�PolkitAgentz}Register polkit agent when required

    Use this as a context manager to ensure that the agent gets unregistered again.
    r
cCs||_d|_dSr)r�
agent_slotrrrrr�szPolkitAgent.__init__c
�s�ztj��|_Wn4tyD}zt�d|�|WYd}~Sd}~00zddttj	dd�if|_
Wn ty�t�d�|YS0t
|j�}|j�t|�|_t�tjd�}|j�ddd	d
d|j
|t�IdHt�d|j
|�|S)
Nz>cannot connect to system bus, not registering polkit agent: %szunix-sessionz
session-idZXDG_SESSION_IDrz4XDG_SESSION_ID not set, not registering polkit agent�org.freedesktop.PolicyKit1�%/org/freedesktop/PolicyKit1/Authority�$org.freedesktop.PolicyKit1.AuthorityZRegisterAuthenticationAgentz
(sa{sv})ssz%Registered agent for %r and locale %s)rZBusZdefault_system�
system_bus�OSErrorr!r&rr#�environr2�KeyErrorr"r	rZ
add_object�AGENT_DBUS_PATHrO�locale�	setlocale�LC_MESSAGES�call_method_async)r�eZagent_objectZlocale_namerrr�
__aenter__�s.


�
zPolkitAgent.__aenter__c	�sB|jr>|j�ddddd|jt�IdH|j��t�d|j�dS)NrPrQrRZUnregisterAuthenticationAgentz	(sa{sv})szUnregistered agent for %r)rOrSr[r2rW�cancelr!r")rZ	_exc_typeZ
_exc_valueZ
_tracebackrrr�	__aexit__�s�

zPolkitAgent.__aexit__N)rHrIrJ�__doc__rrr]r_rrrrrN{srN)r*rXZloggingr#r'�typingrrrrZcockpit._vendor.fernyrZcockpit._vendor.systemd_ctypesrrr+rWZ	getLoggerrHr!rKrLZObjectr	rNrrrr�<module>s

N