HEX
Server: LiteSpeed
System: Linux cpir1.prohostdns.com 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
User: pelakir (2976)
PHP: 8.2.31
Disabled: exec, shell_exec, system, passthru, proc_open, proc_close, proc_terminate, proc_get_status, popen, pclose, pcntl_exec
Upload Files
File: //proc/self/root/lib/python3.6/site-packages/up2date_client/__pycache__/up2dateAuth.cpython-36.pyc
3

/V)j�0�@sDddlZddlZddlZddlZddlZddlZddlmZyddlm	Z	Wne
k
rdeZ	YnXddl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@tj�}|d}tj|tj�s"dSt|d�}|j�}|j�|S)N�systemIdPath�r)r�initUp2dateConfig�os�access�R_OK�open�read�close)�cfg�path�f�ret�r�!/usr/lib/python3.6/up2dateAuth.py�getSystemIds
rcCs�tj�}t�}d}|dkr|SyDtjj|�dd}|jdd�}|dkrN|}n|jd||f�|Stk
r�|jd�|j	t
j��YnX|S)	z�
    Extract the preferred_interface parameter from system_id XML
    Returns 'IPv4' or 'IPv6' if specified, otherwise 'IPv4' as default
    �IPv4Nr�preferred_interface�IPv6zGInvalid preferred_interface value '%s' in system_id, defaulting to '%s'zGFailed to parse system_id XML, preferred_interface defaulting to 'IPv4')rr)r�initLogrr�	xmlrpclib�loads�get�log_me�	Exception�
log_exception�sys�exc_info)�log�systemIdrZparamsZ
cfg_interfacerrr�getPreferredInterface(s$
r)c
$Csvtjjd�rdStj�}ytjjt��ddd}Wn
dSt	j
�}|doZ||k�rrtj�}|j
jt�|�}|d}|d|jd��}tj|tj�s�ytj|�Wn
dStj|tj�s�dStjj|��r�|d}ytj||�Wn
dStj|tjtjBtjBtjBtjBd�}ytj|d	�}	Wn"tk
�rVtj|��YnXz|	j|�Wd|	j�XdS)
NZLEAPP_IPU_IN_PROGRESSrZ
os_releaseZchannelOverrider�/z.savei��w) r�environr!rr
rrr rr	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=c!CsDtj�}|jd�ts$|jd�dStj�td�}tjjt�}tj	|tj
�svytj|d�Wn|jd|�dSyztj
ttjtjBtjBd�}ytj|d�tj|d�}Wn tk
r�tj|��YnX|�tj||�Wd	QRXWn$tk
�r|jd
t�dSX|dttd�}|jd
|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 %si�r+NzUnable to write loginInfo to %sr>zX-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z	 seconds.T)rr�	log_debugr?r>rr�dirname�pcklAuthFileNamerr.r/r"rr2r3r4�fchmodr7r#r�json�dump�float)r'�dataZpcklDirr<�pcklAuth�
expireTimerrr�writeCachedLogin�s>


rJc	CsTtj�}|jd�tjttj�s2|jdt�dSttd�}ytj	|�}Wn*t
tfk
rt|jd�|j�dSX|j�yLt
jjt��ddd}d|d	d
}||kr�|jd||f�dSWnYnX|d}|d	}tj�}|t|d
�}|jd|d|dt|d
��||k�r<|jd||f�dSt|�|jd|�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?zX-RHN-Server-Idz#system id version changed: %s vs %sr>zX-RHN-Auth-Expire-Offsetz(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)rrr@rrrBrrrD�load�EOFError�
ValueErrorrrrr rr>rF�_updateLoginInfo)	r'rHrGr9ZcidVerZcreatedTime�liZcurrentTimerIrrr�readCachedLogin�sH


rPcCs2t|�tkr*tt�tkr$tj|�q.|andadS)z,
    Update the global var, "loginInfo"
    N)�typerr?�update)rOrrrrN�s
rNFcs�tj�}|jd|�|r,tr,t�r,tStj|d�}|dkrFt�}|sNdSt�|j	d�|j
j|tj
�t|�tj��}t|�t�tr�|j	d�ttt�r�td���fd
d�tj�D�}|jd|�n|jd
tt�j�tS)Nzlogin(forceUpdate=%s) invoked)�timeoutzlogging into up2date serverz?successfully retrieved authentication token from up2date server�X-RHN-Server-Id�X-RHN-Auth-User-Id�X-RHN-Auth-Server-Time�X-RHN-Auth-Expire-Offset�X-RHN-Auth-Channelscs"i|]\}}|�kr|nd|�qS)z
<REDACTED>r)�.0�k�v)�_SAFE_LOGIN_KEYSrr�
<dictcomp>szlogin.<locals>.<dictcomp>z
logininfo:zlogininfo: <non-dict %s>)rTrUrVrWrX)rrr@r?rPrZ	RhnServerrr=r"Zup2date�login�socketZgetfqdn�_get_panel_namer
Zcount_server_usersrNrJ�
isinstance�dict�	frozenset�itemsrQ�__name__)r(�forceUpdaterSr'ZserverrOZredactedr)r\rr^�s>




r^cCs0tj�}|jd�td|d�ts,tjd��tS)NzupdateLoginInfo() login infoT)rfrSzUnable to authenticate)rrr"r^r?rZAuthenticationError)rSr'rrr�updateLoginInfos

rgcCs8ytaWntk
r daYnXtr*tSt|d�tS)N)rS)r?�	NameErrorr^)rSrrr�getLoginInfo's

ric@seZdZdS)�_FailedToGetPanelNameN)re�
__module__�__qualname__rrrrrj4srjcCsLy
t�}Wn8tk
rBt�s8|jtj��|jd�t�}YnX|j�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`8s

r`cCstd}d}d}tjj|�r8t|��}|j�j�}WdQRX|rpd|}tjj|�rpt|��}d|j�k}WdQRX|S)Nz/var/lock/cldeploy.lckFz/proc/%s/cmdlineZcldeploy)rr�existsrr�strip)Zlock_file_pathZcldeploy_running�pidrZpid_cmdline_pathrrrrnEs

rncCsrddg\}}}tjj|�s(td|��tj|tjtjdd�}|j�\}}|jdkrjtddj	|�|f��|j
�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�_�cmdZprocessrtrurrrrmVs
rmcCsdtjjd�rdStjjd�r dStjjd�r0dStjjd�r@dStjjd	�rPd
Stjjd�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�isfilerrrrroisro)NFN)N)N)%rDrr%r>r_rwZup2date_clientr�typesr�ImportErrorrbZrhnrrrrrr	r
r?rBrr)r=rJrPrNr^rgrir#rjr`rnrmrorrrr�<module>sB

$6+,
3