HEX
Server: LiteSpeed
System: Linux sr2.wonderwebhub.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User: foodnest (2814)
PHP: 8.3.31
Disabled: exec, shell_exec, system, passthru, proc_open, popen
Upload Files
File: //usr/lib/python3.9/site-packages/up2date_client/__pycache__/up2dateAuth.cpython-39.pyc
a

0Q=ji4�@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)�config)�	rhnserver)�
up2dateErrors)�
up2dateLog)�up2dateUtils)�
statisticsz /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
Cs�tj�d�rdSt��}ztj�t��ddd}WnYdS0t	�
�}|d�s�||k�r�t��}|j
�t�|�}|d}|d|�d��}t�|tj�s�zt�|�WnYdS0t�|tj�s�dStj�|��r|d}zt�||�WnYdS0t�|tjtjBtjBtjBtjBd�}zt�|d	�}	Wn t�y`t�|��Yn0z|	�|�W|	��n
|	��0dS)
NZLEAPP_IPU_IN_PROGRESSrZ
os_releaseZchannelOverrider�/z.save��w) r�environr rr
rrrrr	Z
getVersionrZRegistrationRhnServerZregistrationZupgrade_version�rfindr�W_OK�mkdirr�lexists�renamer�O_WRONLY�O_CREAT�O_TRUNC�
O_NOFOLLOW�	O_CLOEXEC�fdopenr"r�write)
r�idVerZ	systemVer�sZnewSystemIdr�dirZsavePath�fdrrrr�maybeUpdateVersionLsF(
r>cCs~t��}|�d�ts$|�d�dSt��td�}tj�t�}t�	|tj
�szzt�|d�Wn|�d|�YdS0z�tj�
t�r�t�t�t�ttjtjBtjBtjBtjBd�}zt�|d�t�|d�}Wnty�t�|��Yn0|�t�||�Wd	�n1�s0YWn$t�yN|�d
t�YdS0|dttd�}|�d
|dd|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�	loginInfoi�z'Unable to write pickled loginInfo to %sr+r,NzUnable to write loginInfo to %sr?�X-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z	 seconds.T)rr�	log_debugr@r?rr�dirname�pcklAuthFileNamerr/r0r!r1�unlinkrr3r4r5r6r7�fchmodr8r"r�json�dump�float)r&�dataZpcklDirr=�pcklAuth�
expireTimerrr�writeCachedLogin�sL

�
�
0�rMc	
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: %sFrzSUnexpected EOF. Probably an empty file,                        regenerate auth filerZ	system_idzID-%sr@�X-RHN-Server-Idz#system id version changed: %s vs %sr?rAz(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)rrrBrrrDrrrG�load�EOFError�
ValueErrorrrrrrr?rI�_updateLoginInfo)	r&rKrJr:ZcidVerZcreatedTime�liZcurrentTimerLrrr�readCachedLogin�sJ




�
�rTcCs2t|�tkr*tt�tkr$t�|�q.|andadS)z,
    Update the global var, "loginInfo"
    N)�typerr@�update)rSrrrrR�s
rRFcs�t��}|�d|�|s(ts(t�r(tStj|d�}|dkrBt�}|sJdSt�|�	d�|j
�|t�
�t|�t���}t|�t�tr�|�	d�ttt�r�td���fdd�t��D�}|�d|�n|�d	tt�j�tS)
Nzlogin(forceUpdate=%s) invoked��timeoutzlogging into up2date serverz?successfully retrieved authentication token from up2date server)rNzX-RHN-Auth-User-IdzX-RHN-Auth-Server-TimerAzX-RHN-Auth-Channelscs"i|]\}}||�vr|nd�qS)z
<REDACTED>r)�.0�k�v�Z_SAFE_LOGIN_KEYSrr�
<dictcomp>"s�zlogin.<locals>.<dictcomp>z
logininfo:zlogininfo: <non-dict %s>)rrrBr@rTrZ	RhnServerrr>r!Zup2date�login�socketZgetfqdn�_get_panel_namer
Zcount_server_usersrRrM�
isinstance�dict�	frozenset�itemsrU�__name__)r'�forceUpdaterXr&ZserverrSZredactedrr\rr^�s8
�


�r^cCs0t��}|�d�td|d�ts,t�d��tS)NzupdateLoginInfo() login infoT)rfrXzUnable to authenticate)rrr!r^r@rZAuthenticationError)rXr&rrr�updateLoginInfo+s

rgcCs6ztaWntydaYn0tr(tSt|d�tS)NrW)r@�	NameErrorr^rWrrr�getLoginInfo5s

ric@seZdZdS)�_FailedToGetPanelNameN)re�
__module__�__qualname__rrrrrjBsrjcCsJz
t�}Wn6ty@t�s6|jt���|�d�t�}Yn0|��S)Nz?Failed to get panel name via cldetect, using fallback mechanism)	�_get_panel_name_via_cldetectrj�_is_cldeploy_runningr#r$r%r!�_fallback_get_panel_name�lower)r&Z
panel_namerrrr`Fs

r`cCs�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_pathrrrrnSs
*
*rncCsrddg\}}}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� )rrrqrj�
subprocess�Popen�PIPEZcommunicate�
returncode�joinrr)Zbinary�_�cmdZprocessrtrurrrrmds ��
��rmcCsdtj�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�isfilerrrrrowsro)NFN)N)N)%rGrr$r?r_rwZup2date_clientr�typesr�ImportErrorrbZrhnrrrrrr	r
r@rDrr)r>rMrTrRr^rgrir"rjr`rnrmrorrrr�<module>sB

$69,
3