Edit File: up2dateAuth.cpython-36.opt-1.pyc
3 ��cg������������������@���s����d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�yd�dlmZ�W�n�ek rT���e ZY�nX�d�dl mZ�d�dlmZ�d�dlm Z �d�dlmZ�d�dlmZ�d�d lmZ�d�d lmZ�dadZdd ��Zdd��Zdd��Zdd��Zdd��Zddd�Zddd�Zddd�ZdS�) �����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���s&��t�j��}�ytjjt���d�d�d�}W�n ���dS�tj��}||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|tdd���W�n���Y�nX�d�S�) Nr���Z os_releaser����/z.save�w�0600����)r���r ���r���� xmlrpclib�loadsr���r ���Z getVersionr���� RhnServerZregistrationZupgrade_version�rfindr���r����W_OK�mkdir�F_OK�renamer����writer����chmod�int) r����idVerZ systemVer�sZnewSystemIdr����dirZsavePathr���r���r���r����maybeUpdateVersion(���s>���� 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���r.���zX-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z seconds.T)r ����initLog� log_debugr/���r.���r���r����dirname�pcklAuthFileNamer���r#���r$���r(���r)����log_mer����pickle�dumpr����float)�log�dataZpcklDir�pcklAuth� expireTimer���r���r����writeCachedLoginR���s.���� r=���c�������� ������C���sT��t�j��}�|�jd��tjttj�s2|�jdt���dS�ttd�}ytj |�}W�n*�t tfk rt���|�jd��|j���dS�X�|j���yLt jjt���d�d�d�}d|d �d ��}||kr�|�jd||f���dS�W�n���Y�nX�|d�}|d �}tj��}|t|d ���}|�jd|d|dt|d ����||k�r<|�jd||f���dS�t|��|�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 filer���Z 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 ���r1���r2���r���r���r4���r���r���r6����load�EOFError� ValueErrorr���r���r���r ���r���r.���r8����_updateLoginInfo) r9���r;���r:���r*���ZcidVerZcreatedTime�liZcurrentTimer<���r���r���r����readCachedLoginr���sH���� rD���c�������������C���s2���t�|��tkr*t�t�tkr$tj|���q.|�andadS�)z, Update the global var, "loginInfo" N)�typer���r/����update)rC���r���r���r���rB�������s ����rB���Fc������� ������C���s����t�j��}|jd|���|�r,t�r,t��r,tS�tj|d�}tjj ��}x|D�]\}}|j ||��qHW�|�d�krnt��}�|�svd�S�t���|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 ���r1���r2���r/���rD���r���r!���r���ZcapsZheaderFormatZ add_headerr���r-���r5���Zup2date�login�socketZgetfqdnZcapabilitiesZvalidaterB���r=���) ZsystemId�forceUpdaterG���r9���ZserverZ headerlistZ headerName�valuerC���r���r���r���rH�������s.���� rH���c�������������C���s0���t�j��}|jd��td|�d��ts,tjd��tS�)NzupdateLoginInfo() login infoT)rJ���rG���zUnable to authenticate)r ���r1���r5���rH���r/���r���ZAuthenticationError)rG���r9���r���r���r����updateLoginInfo����s���� rL���c�������������C���s8���yt�a�W�n�tk r ���d�a�Y�nX�t�r*t�S�t|�d��t�S�)N)rG���)r/���� NameErrorrH���)rG���r���r���r����getLoginInfo����s���� rN���)NFN)N)N)r���r6���r.���rI���Zup2date_clientr����typesr����ImportError�dictZrhnr���r���r���r���r���r ���r ���r/���r4���r���r-���r=���rD���rB���rH���rL���rN���r���r���r���r����<module>���s2��� * , %