HEX
Server: Apache
System: Linux a16-asgard6.hospedagemuolhost.com.br 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: maoristu4c3dbd03 (1436)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/up2date_client/__pycache__/up2dateAuth.cpython-39.pyc
a

c8h�*�@sBddlZddlZddlZddlZddlZddlZddlmZzddlm	Z	Wne
ybeZ	Yn0ddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZdadZdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zd)dd�Zd*dd�Zd+dd�ZGdd �d e�Z d!d"�Z!d#d$�Z"d%d&�Z#d'd(�Z$dS),�N)�	rpcServer)�DictType)�rpclib)�
clientCaps)�config)�	rhnserver)�
up2dateErrors)�
up2dateLog)�up2dateUtilsz /var/spool/up2date/loginAuth.pklcCs@t��}|d}t�|tj�s"dSt|d�}|��}|��|S)N�systemIdPath�r)r�initUp2dateConfig�os�access�R_OK�open�read�close)�cfg�path�f�ret�r�>/usr/lib/python3.9/site-packages/up2date_client/up2dateAuth.py�getSystemIds
rcCs�t��}t�}d}|dur|SzFtj�|�dd}|�dd�}|dvrN|}n|�d||f�|WSty�|�d�|j	t
���Yn0|S)z�
    Extract the preferred_interface parameter from system_id XML
    Returns 'IPv4' or 'IPv6' if specified, otherwise 'IPv4' as default
    �IPv4Nr�preferred_interface)rZIPv6zGInvalid preferred_interface value '%s' in system_id, defaulting to '%s'zGFailed to parse system_id XML, preferred_interface defaulting to 'IPv4')r	�initLogrr�	xmlrpclib�loads�get�log_me�	Exception�
log_exception�sys�exc_info)�log�systemIdr�paramsZ
cfg_interfacerrr�getPreferredInterface(s(��
r)c	CsNtj�d�rdSt��}ztj�t��ddd}WnYdS0t	�
�}|d�sJ||k�rJt��}|j
�t�|�}|d}|d|�d��}t�|tj�s�zt�|�WnYdS0t�|tj�s�dSt�|tj��r
|d}zt�||�WnYdS0t|d�}|�|�|��zt�|td	d
��WnYn0dS)NZLEAPP_IPU_IN_PROGRESSrZ
os_releaseZchannelOverrider�/z.save�w�0600�)r�environr rr
rrrrr
Z
getVersionrZRegistrationRhnServerZregistrationZupgrade_version�rfindr�W_OK�mkdir�F_OK�renamer�writer�chmod�int)	r�idVerZ	systemVer�sZnewSystemIdr�dirZsavePathrrrr�maybeUpdateVersionLsB

r:cCs�t��}|�d�ts$|�d�dSt��td�}tj�t�}t�	|tj
�s�z t�|�t�|t
dd��Wn|�d|�YdS0ttd�}t�tt
d	d��t�||�|��|d
ttd�}|�d|d
d
|d�dS)z�
    Pickle loginInfo to a file
    Returns:
    True    -- wrote loginInfo to a pickle file
    False   -- did _not_ write loginInfo to a pickle file
    zwriteCachedLogin() invokedz1writeCachedLogin() loginInfo is None, so bailing.F)�time�	loginInfoZ0700r-z'Unable to write pickled loginInfo to %s�wbr,r;�X-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z	 seconds.T)r	r�	log_debugr<r;rr�dirname�pcklAuthFileNamerr0r1r5r6r!r�pickle�dumpr�float)r&�dataZpcklDir�pcklAuth�
expireTimerrr�writeCachedLoginzs2

�

�rHc	
CsVt��}|�d�t�ttj�s2|�dt�dSttd�}zt�	|�}Wn*t
tfyt|�d�|��YdS0|��zNt
j�t��ddd}d|d	d
}||kr�|�d||f�WdSWnYn0|d}|d	}t��}|t|d
�}|�d|d|dt|d
��||k�r>|�d||f�dSt|�|�d|�dS)zb
    Read pickle info from a file
    Caches authorization info for connecting to the server.
    zreadCachedLogin invokedz'Unable to read pickled loginInfo at: %sF�rbzSUnexpected EOF. Probably an empty file,                        regenerate auth filerZ	system_idzID-%sr<zX-RHN-Server-Idz#system id version changed: %s vs %sr;r>z(Checking pickled loginInfo, currentTime=z
, createTime=z, expire-offset=z9Pickled loginInfo has expired, created = %s, expire = %s.z<readCachedLogin(): using pickled loginInfo set to expire at T)r	rr?rrrArrrB�load�EOFError�
ValueErrorrrrrrr;rD�_updateLoginInfo)	r&rFrEr7ZcidVerZcreatedTime�liZcurrentTimerGrrr�readCachedLogin�sJ




�
�rOcCs2t|�tkr*tt�tkr$t�|�q.|andadS)z,
    Update the global var, "loginInfo"
    N)�typerr<�update)rNrrrrM�s
rMFc	Cs�t��}|�d|�|s(ts(t�r(tStj|d�}tj�	�}|D]\}}|�
||�qB|dkrft�}|sndSt�|�
d�|j�|t��t|��}|j��t|�t�tr�|�
d�|�dt�tS)Nzlogin(forceUpdate=%s) invoked��timeoutzlogging into up2date serverz?successfully retrieved authentication token from up2date serverz
logininfo:)r	rr?r<rOrZ	RhnServerrZcapsZheaderFormatZ
add_headerrr:r!Zup2date�login�socketZgetfqdn�_get_panel_nameZcapabilitiesZvalidaterMrH)	r'�forceUpdaterSr&ZserverZ
headerlistZ
headerName�valuerNrrrrT�s.



rTcCs0t��}|�d�td|d�ts,t�d��tS)NzupdateLoginInfo() login infoT)rWrSzUnable to authenticate)r	rr!rTr<rZAuthenticationError)rSr&rrr�updateLoginInfo�s

rYcCs6ztaWntydaYn0tr(tSt|d�tS)NrR)r<�	NameErrorrTrRrrr�getLoginInfos

r[c@seZdZdS)�_FailedToGetPanelNameN)�__name__�
__module__�__qualname__rrrrr\sr\cCsJz
t�}Wn6ty@t�s6|jt���|�d�t�}Yn0|��S)Nz?Failed to get panel name via cldetect, using fallback mechanism)	�_get_panel_name_via_cldetectr\�_is_cldeploy_runningr#r$r%r!�_fallback_get_panel_name�lower)r&Z
panel_namerrrrVs

rVcCs�d}d}d}tj�|�rLt|��}|����}Wd�n1sB0Y|r�d|}tj�|�r�t|��}d|��v}Wd�n1s�0Y|S)Nz/var/lock/cldeploy.lckFz/proc/%s/cmdlineZcldeploy)rr�existsrr�strip)Zlock_file_pathZcldeploy_running�pidrZpid_cmdline_pathrrrra$s
*
*racCsrddg\}}}tj�|�s(td|��tj|tjtjdd�}|��\}}|jdkrjtdd�	|�|f��|�
�S)	Nz/usr/bin/cldetectz--detect-cp-nameonlyz7Failed to obtain panel name because '%s' does not existT)�stdout�stderrZuniversal_newlinesrz:Failed to obtain panel name using '%s' command; stderr: %s� )rrrdr\�
subprocess�Popen�PIPEZcommunicate�
returncode�joinre)Zbinary�_�cmdZprocessrgrhrrrr`5s ��
��r`cCsdtj�d�rdStj�d�r dStj�d�r0dStj�d�r@dStj�d	�rPd
Stj�d�r`dSd
S)Nz/usr/local/psa/admin/Zpleskz/usr/local/interworx/Z	interworxz#/usr/local/cpanel/whostmgr/docroot/Zcpanelz/usr/local/ispmgr/Zispmgrz/usr/local/directadmin/Zdirectadminz/usr/local/mgr5/sbin/mgrctlZispmgr5�unknown)rr�isdir�isfilerrrrrbHsrb)NFN)N)N)%rrBr$r;rUrjZup2date_clientr�typesr�ImportError�dictZrhnrrrrrr	r
r<rArr)r:rHrOrMrTrYr[r"r\rVrar`rbrrrr�<module>sB

$. ,
%