3
0Q=j. @ s d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z d dl
mZ d d lm
Z
mZ y4d dlZd dlZd d
lmZmZmZmZmZmZ W nD ek
r d dljZd dljZeZeZeZe Ze!Ze!Ze"Z#Y nX d dl$Z$e$j%ddd
Z&e'e&ds e&j$e&_(e&j(Z)dZ*dZ+dddddZ,dd e,j- D Z.d dlm/Z/ e/j0 Z1ej2 Z3dd Z4dd Z5dd Z6e e7dd d!Z8e7d"d#d$Z9d6d&d'Z:d7e7d(d)d*Z;d+d, Zd2d3 Z?d4d5 Z@dS )9 N)up2dateUtils)
up2dateErrors)up2dateAuth) rhnserver)
up2dateLog)
statistics)getPlatform)ustrsstr)ListType TupleType
StringTypeUnicodeTypeDictTypeDictionaryTypezrhn-client-toolsT)Zfallbackugettextz/etc/sysconfig/rhnz/etc/sysconfig/rhn/jwt.tokenZ
shared_prosharedsoloadmin)zCloudLinux OS Shared ProzCloudLinux OS SharedzCloudLinux OS SolozCloudLinux OS Adminc C s i | ]\}}||qS r ).0kvr r /usr/lib/python3.6/rhnreg.py
5 s r )configc C s t jtd t jS )NsystemIdPath)osaccesscfgR_OKr r r r
registered= s r! c C s t jj| }t j|t jsdS t jj| rJyt j| | d W n
dS t j| t jt j B t j
B t jB t jB d}yt j
|d}W n tk
r t j| Y nX z|jt| W d|j X dS )z; Write a file to disk that is not readable by other users. Fz.savei wNT)r pathdirnamer W_OKlexistsrenameopenO_WRONLYO_CREAT
O_NOFOLLOWO_EXCL O_CLOEXECfdopen Exceptionclosewriter
)Zsecure_fileZ
file_contentsZdir_namefdZfd_filer r r _write_secure_file@ s*
r3 c C s t td | }|S )Nr )r3 r )systemIdresr r r
writeSystemIdd s r6 )tokenallowTransitionc C sz ddl }ddl}|jjds dS ddg}|r6|jd |j||jd}|j| j d\}}|j dkrvt
jd ||f dS )
zH
Execute binary file which we use as hook for jwt token updates
r Nz /opt/cloudlinux/venv/bin/python3z/usr/sbin/cl-pre-jwt-updatez--new-token-stdinz--allow-transition)stdin)inputz7Pre jwt update hook failed with stdout=%s and stderr=%s)
subprocessr r# existsappendPopenPIPEcommunicateencode
returncodeloglog_me)r7 r8 r; r cmdpstdoutstderrr r r _execute_pre_jwt_update_hooki s
rI )r8 c C sj ddl }ddl}|jjds dS dg}| r4|jd |j|}|j \}}|jdkrftj d||f dS )zH
Execute binary file which we use as hook for jwt token updates
r Nz /opt/cloudlinux/venv/bin/python3z/usr/sbin/cl-post-jwt-updatez--allow-transitionz8Post jwt update hook failed with stdout=%s and stderr=%s)
r; r r# r<