XylotrechusZ
3
`��g�% � @ s< d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ yd dlm Z W n e
k
rd eZ Y nX d dlm
Z
d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ dadZdd
� Zdd� Zdd� Zdd� Zdd� Zd'dd�Zd(dd�Zd)dd�ZG dd� de�Zdd � 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.pklc C s@ t j� } | d }tj|tj�s"d S t|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�getSystemId s
r c C sB t jjd�rd S tj� } ytjjt� �d d d }W n
dS t j
� }| d oZ||k�r>tj� }|j
jt� |�}| d }|d |jd�� }t j|t j�s�yt j|� W n
dS t j|t j�s�dS t j|t j�� r�|d }yt j||� W n
dS t|d�}|j|� |j� yt j|td d
�� W n Y nX d S )NZLEAPP_IPU_IN_PROGRESSr Z
os_releaseZchannelOverrider �/z.save�w�0600� )r �environ�getr r
r � xmlrpclib�loadsr r
Z
getVersionr � RhnServerZregistrationZupgrade_version�rfindr �W_OK�mkdir�F_OK�renamer �writer �chmod�int) r �idVerZ systemVer�sZnewSystemIdr �dirZsavePathr r r r �maybeUpdateVersion* sB
r/ c C s� t j� } | jd� ts$| jd� dS tj� td�}tjjt�}tj |tj
�s�y tj|� tj|t
dd�� W n | jd| � dS ttd�}tjtt
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� loginInfoZ0700r z'Unable to write pickled loginInfo to %s�wbr r0 zX-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z seconds.T)r �initLog� log_debugr1 r0 r r �dirname�pcklAuthFileNamer r% r&