HEX
Server: LiteSpeed
System: Linux cluster02.load-balancer.x2.network 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: kbdhpghp (1098)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/up2date_client/__pycache__/up2dateAuth.cpython-36.pyc
3

7
fg�@s�ddlZddlZddlZddlZddlmZyddlmZWnek
rTe	ZYnXddl
mZddlmZddlm
Z
ddlmZddlmZdd	lmZdd
lmZdadZdd
�Zdd�Zdd�Zdd�Zdd�Zddd�Zddd�Zddd�ZdS) �N)�	rpcServer)�DictType)�rpclib)�
clientCaps)�config)�	rhnserver)�
up2dateErrors)�
up2dateLog)�up2dateUtilsz /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
rc	Cs&tj�}ytjjt��ddd}Wn
dStj�}||k�r"tj	�}|j
jt�|�}|d}|d|jd��}t
j|t
j�s�yt
j|�Wn
dSt
j|t
j�s�dSt
j|t
j�r�|d}yt
j||�Wn
dSt|d�}|j|�|j�yt
j|tdd��WnYnXdS)	NrZ
os_releaser�/z.save�w�0600�)rr
r�	xmlrpclib�loadsrr
Z
getVersionr�	RhnServerZregistrationZupgrade_version�rfindrr�W_OK�mkdir�F_OK�renamer�writer�chmod�int)	r�idVerZ	systemVer�sZnewSystemIdr�dirZsavePathrrrr�maybeUpdateVersion(s>


r-cCs�tj�}|jd�ts$|jd�dStj�td�}tjjt�}tj	|tj
�s�y tj|�tj|t
dd��Wn|jd|�dSttd�}tjtt
d	d��tj||�|j�|d
ttd�}|jd|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�	loginInfoZ0700rz'Unable to write pickled loginInfo to %s�wbrr.zX-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z	 seconds.T)r	�initLog�	log_debugr/r.rr�dirname�pcklAuthFileNamerr#r$r(r)�log_mer�pickle�dumpr�float)�log�dataZpcklDir�pcklAuth�
expireTimerrr�writeCachedLoginRs.



r=c	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: %sF�rbzSUnexpected 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)r	r1r2rrr4rrr6�load�EOFError�
ValueErrorrrrr rr.r8�_updateLoginInfo)	r9r;r:r*ZcidVerZcreatedTime�liZcurrentTimer<rrr�readCachedLoginrsH


rDcCs2t|�tkr*tt�tkr$tj|�q.|andadS)z,
    Update the global var, "loginInfo"
    N)�typerr/�update)rCrrrrB�s
rBFc	Cs�tj�}|jd|�|r,tr,t�r,tStj|d�}tjj	�}x|D]\}}|j
||�qHW|dkrnt�}|svdSt�|j
d�|jj|tj��}|jj�t|�t�tr�|j
d�|jdt�tS)Nzlogin(forceUpdate=%s) invoked)�timeoutzlogging into up2date serverz?successfully retrieved authentication token from up2date serverz
logininfo:)r	r1r2r/rDrr!rZcapsZheaderFormatZ
add_headerrr-r5Zup2date�login�socketZgetfqdnZcapabilitiesZvalidaterBr=)	ZsystemId�forceUpdaterGr9ZserverZ
headerlistZ
headerName�valuerCrrrrH�s.



rHcCs0tj�}|jd�td|d�ts,tjd��tS)NzupdateLoginInfo() login infoT)rJrGzUnable to authenticate)r	r1r5rHr/rZAuthenticationError)rGr9rrr�updateLoginInfo�s

rLcCs8ytaWntk
r daYnXtr*tSt|d�tS)N)rG)r/�	NameErrorrH)rGrrr�getLoginInfo�s

rN)NFN)N)N)rr6r.rIZup2date_clientr�typesr�ImportError�dictZrhnrrrrrr	r
r/r4rr-r=rDrBrHrLrNrrrr�<module>s2
* ,
%