a c8hÀ*ã@sBddlZddlZddlZddlZddlZddlZddlmZzddlm Z Wne ybe Z Yn0ddl m Z ddlmZddlmZddlmZddlmZdd lmZdd lmZdad Zd 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)Ú clientCaps)Úconfig)Ú rhnserver)Ú up2dateErrors)Ú up2dateLog)Ú up2dateUtilsz /var/spool/up2date/loginAuth.pklcCs@t ¡}|d}t |tj¡s"dSt|dƒ}| ¡}| ¡|S)NÚ systemIdPathÚr)rÚinitUp2dateConfigÚosÚaccessÚR_OKÚopenÚreadÚclose)ÚcfgÚpathÚfÚret©rú>/usr/lib/python3.9/site-packages/up2date_client/up2dateAuth.pyÚ getSystemIds rcCs”t ¡}tƒ}d}|dur|SzFtj |¡dd}| dd¡}|dvrN|}n| d||f¡|WStyŽ| d¡|j t   ¡ŽYn0|S)z Extract the preferred_interface parameter from system_id XML Returns 'IPv4' or 'IPv6' if specified, otherwise 'IPv4' as default ÚIPv4NrÚpreferred_interface)rZIPv6zGInvalid preferred_interface value '%s' in system_id, defaulting to '%s'zGFailed to parse system_id XML, preferred_interface defaulting to 'IPv4') r ÚinitLogrrÚ xmlrpclibÚloadsÚgetÚlog_meÚ ExceptionÚ log_exceptionÚsysÚexc_info)ÚlogÚsystemIdrÚparamsZ cfg_interfacerrrÚgetPreferredInterface(s( ÿÿ  r)c CsNtj d¡rdSt ¡}ztj tƒ¡ddd}WnYdS0t   ¡}|dsJ||krJt   ¡}|j  tƒ|¡}|d}|d| d¡…}t |tj¡sÀzt |¡WnYdS0t |tj¡sÒdSt |tj¡r |d}zt ||¡WnYdS0t|dƒ}| |¡| ¡zt |td d ƒ¡Wn Yn0dS) NZLEAPP_IPU_IN_PROGRESSrZ os_releaseZchannelOverrider ú/z.saveÚwÚ0600é)rÚenvironr rr rrrrr Z getVersionrZRegistrationRhnServerZ registrationZupgrade_versionÚrfindrÚW_OKÚmkdirÚF_OKÚrenamerÚwriterÚchmodÚint) rÚidVerZ systemVerÚsZ newSystemIdrÚdirZsavePathrrrrÚmaybeUpdateVersionLsB   r:cCsèt ¡}| d¡ts$| d¡dSt ¡tdœ}tj t¡}t  |tj ¡sŠz t  |¡t  |t ddƒ¡Wn| d|¡YdS0ttdƒ}t  tt d dƒ¡t ||¡| ¡|d ttd ƒ}| d |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;úX-RHN-Auth-Expire-OffsetzWrote pickled loginInfo at z with expiration of z seconds.T)r rÚ log_debugr<r;rrÚdirnameÚpcklAuthFileNamerr0r1r5r6r!rÚpickleÚdumprÚfloat)r&ÚdataZpcklDirÚpcklAuthÚ expireTimerrrÚwriteCachedLoginzs2  ÿ    ÿrHc CsVt ¡}| d¡t ttj¡s2| dt¡dSttdƒ}zt  |¡}Wn*t t fyt| d¡|  ¡YdS0|  ¡zNt j tƒ¡ddd}d|d d }||krÊ| d ||f¡WdSWn Yn0|d }|d }t ¡}|t|d ƒ}| d|d|dt|d ƒ¡||kr>| d||f¡dSt|ƒ| d|¡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;r>z(Checking pickled loginInfo, currentTime=z , createTime=z, expire-offset=z9Pickled loginInfo has expired, created = %s, expire = %s.zsB           $. , %