grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a q©j¶!ã@sªddlZddlZddlZddlZddlZddlmZmZmZm Z ddl m Z ddl m Z mZdZdZdZe e¡Ze eeee ffZGdd „d ejƒZGd d „d ƒZdS) éN)ÚDictÚListÚSequenceÚTuple)ÚAskpassHandler)ÚVariantÚbusz/run/polkit/agent-helper.socketz'/usr/lib/polkit-1/polkit-agent-helper-1z /PolkitAgentc s”eZdZedœ‡fdd„ Zej dgd¢¡eeee eefee e ddœdd „ƒZ eedd œd d „Z eedd œd d„Zejejddœ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 ÃsÂt d||||||¡t ¡}|D]8\}} |dkr"d| vr"| dj|kr"t d| |¡qlq"t d|¡dSt |¡j} z|  | |¡IdHWn.t y¼t d¡|  | |¡IdHYn0dS)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 %sz:Socket helper not available, falling back to legacy helper) ÚloggerÚdebugÚosÚgeteuidÚvalueÚwarningÚpwdÚgetpwuidÚpw_nameÚ_authenticate_socketÚOSErrorÚ_authenticate_suid_helper) rrrrrrrZmy_uidZ auth_typeÚsubjectÚ user_namerrrÚbegin_authentication+s  ÿ     zCorg_freedesktop_PolicyKit1_AuthenticationAgent.begin_authentication)r,rrcÃsèt dt¡tjt||tjjtjjd�IdH}zxz| |j|j ¡IdHWntj yht d¡Yn0Wz |  ¡Wnt yŠYn0|  ¡IdH}t d|¡n| |›d|›d� ¡¡| ¡IdH| ||¡IdHWntj y~t d¡Yn0W|  ¡|  ¡IdHt d¡n"|  ¡|  ¡IdHt d¡0dS)z:Authenticate using socket-activated helper (polkit >= 127)z+Trying socket-activated polkit helper at %sNÚ r0zsocket connection closed) rr Ú HELPER_SOCKETr2Zopen_unix_connectionÚwriteÚencodeÚdrainr5r6ÚcloseZ wait_closed)rr,rÚreaderÚwriterrrrr(Zs  þzCorg_freedesktop_PolicyKit1_AuthenticationAgent._authenticate_socket)r.r/rc Ãs:g}|2�z(3dHW}t d|¡| ¡ ¡ d¡\}}}| d¡rÔ| d¡rRd}|j d |¡|d¡IdH}|  ¡|dur”t d|¡t   d¡‚t d |¡|  |  ¡¡|  d ¡~| ¡IdHt d ¡q|d vrè| |¡q|d k�rt d¡�q6q|dk�r t d¡�q6qt d|¡�q6q6dS)NzRead line from helper: %sú Z PAM_PROMPTZPasswordrr: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)rr ÚstripÚdecodeÚ partitionÚ startswithr Z do_askpassÚjoinÚclearr2r6r<r=r>Úappendr$) rr.r/ÚmessagesÚlineZcommandÚ_r#Úpasswdrrrr5ks8              z;org_freedesktop_PolicyKit1_AuthenticationAgent._communicate)Ú__name__Ú __module__Ú __qualname__rrrZ InterfaceZMethodÚstrrrÚIdentityr-r*r(r2Ú StreamWriterÚ StreamReaderr5Ú __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 t y„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_busr)rr$rr!Úenvironr+ÚKeyErrorr r r Z add_objectÚAGENT_DBUS_PATHrZÚlocaleÚ setlocaleÚ LC_MESSAGESÚcall_method_async)rÚeZ agent_objectZ locale_namerrrÚ __aenter__›s.     ú zPolkitAgent.__aenter__c ÃsB|jr>|j ddddd|jt¡IdH|j ¡t d|j¡dS)Nr[r\r]ZUnregisterAuthenticationAgentz (sa{sv})szUnregistered agent for %r)rZr^rer+raÚcancelrr )rZ _exc_typeZ _exc_valueZ _tracebackrrrÚ __aexit__¸sú  zPolkitAgent.__aexit__N)rQrRrSÚ__doc__rrrgrirrrrrY’srY)r2rbZloggingr!r%ÚtypingrrrrZcockpit._vendor.fernyrZcockpit._vendor.systemd_ctypesrrr;r1raZ getLoggerrQrrTrUZObjectr rYrrrrÚs   m