File: //lib/python3.6/site-packages/up2date_client/__pycache__/up2dateAuth.cpython-36.pyc
3
/V)j�0 � @ sD 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� Zdd� Zd)dd�Zd*dd�Zd+dd�ZG dd � 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.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 s� t j� } t� }d}|dkr|S yDtjj|�d d }|jdd�}|dkrN|}n| jd||f � |S tk
r� | jd� | j t
j� � Y nX |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')r r )r �initLogr r � xmlrpclib�loads�get�log_me� Exception�
log_exception�sys�exc_info)�log�systemIdr ZparamsZ
cfg_interfacer r r �getPreferredInterface( s$
r) c
$ C sv t jjd�rd S tj� } ytjjt� �d d d }W n
dS t j
� }| d oZ||k�rrtj� }|j
jt� |�}| d }|d |jd�� }t j|t j�s�yt j|� W n
dS t j|t j�s�dS t jj|�� r�|d }yt j||� W n
dS t j|t jt jB t jB t jB t jB d�}yt j|d �} W n" tk
�rV t j|� � Y nX z| j|� W d | j� X d S )
NZLEAPP_IPU_IN_PROGRESSr Z
os_releaseZchannelOverrider �/z.savei� �w) r �environr! r r
r r r r r Z
getVersionr ZRegistrationRhnServerZregistrationZupgrade_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�fdr r r r �maybeUpdateVersionL sF (
r= c ! C sD t j� } | jd� ts$| jd� dS tj� td�}tjjt�}tj |tj
�svytj|d� W n | jd| � dS yztj
ttjtjB tjB d�}ytj|d� tj|d�}W n tk
r� tj|� � Y nX |� tj||� W d Q R X W n$ tk
�r | jd
t � dS X |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� loginInfoi� z'Unable to write pickled loginInfo to %si� r+ NzUnable to write loginInfo to %sr>