관리-도구
편집 파일: auth.cpython-39.pyc
a d4hz/ � @ s> d dl Z d dlZd dlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm Z dd lmZm Z mZmZ dZdZd Zdd� Zdd� Zdd� Ze jdd� �Zdd� Zdd� Zd5dd�Zdd� Zdd � Zd6d!d"�Ze jd#d$� �Zd%d&� Zd'd(� Z d)d*� Z!d+d,� Z"d-d.� Z#d/d0� Z$d7d1d2�Z%d3d4� Z&dS )8� N� )�errors)�config)� constants)� http_utils)� log_utils)�platform_utils)�utils)� urlencode�json_loads_nstr�URLError� HTTPErrorz/etc/sysconfig/kcare/systemidz&/etc/sysconfig/kcare/systemid.almacarez/var/imunify360/license.jsonc C s� t j�t�sd S ttd��`} | D ]J}|�d�\}}}|�� dkrZ|�� W d � S t�d� t���q W d � n1 s�0 Y d S )N�r�=� server_idzUnable to parse {0}.) �os�path�exists�SYSTEMID�open� partition�stripr � KcareError�format)�fd�line�param�_�value� r �*/usr/libexec/kcare/python/kcarectl/auth.py� _systemid s r! c C sJ t j�t�sd S ttd��} | �� �� W d � S 1 s<0 Y d S )Nr )r r r � ALMA_SYSTEMIDr �readliner )�fr r r �_alma_systemid$ s r% c C sr t j�t�sd S i } tt��<}|�� }|rJzt|�} W n tyH Y n0 W d � n1 s^0 Y | �d�S )N�id) r r r �IM360_LICENSE_FILEr �readr � Exception�get)�datar$ �contentr r r �_im360_systemid+ s $r- c C s t � pt� pt� S )zqGet server_id or None if not present. Lookup order: SYSTEMID then IM360_LICENSE_FILE then ALMA_SYSTEMID )r! r- r% r r r r �get_serverid: s r. c C s t �t� d S �N)r �unlinkr r r r r �_rm_serveridC s r1 c C s t �td�| �� d S )Nzserver_id={0} )r �atomic_writer r �r r r r �_set_server_idG s r4 Fc C s� d }z�t � }|d u r(| s"t�d� W d S tjd�|� }t�|�}t� |� � �}t�|�}|d dkr|t� | s�t� d� n | s�t�|� t�d|d � W n4 ty� } z| s�t�||� W Y d }~n d }~0 0 d S )Nz1Error unregistering server: cannot find server idz&/unregister_server.plain?server_id={0}�success�truezServer was unregisteredzError unregistering server: �message)r. r �logerrorr �REGISTRATION_URLr r �urlopenr �nstrr( �data_as_dictr1 �loginfor �print_cln_http_error)Zsilent�urlr �responser, �res�er r r � unregisterK s* rC c C s� t d� t�� }|dkrd S t�� t�� }dd l}|dkrF|�d� |j�� tdd�}tdd�}t� |� � |j� � � t� |� � |j� � � t� |� � |j� � � t �d� t| �\}}}|dkr�|r�t|� t|� |�d� q�d S )NzHRegister auto-retry has been enabled, the system can be registered laterr z /dev/nullr za+i )�printr �fork�setsid�sys�exit�stdout�flushr �dup2�fileno�stdin�stderr�time�sleep� _try_registerr4 �_set_auth_token)r? �pidrG �si�so�coder � auth_tokenr r r �_register_retryc s* rX c C s� zHt �| �}|j�tjd �}t�t�|� � ��}t |d �|�d�|fW S ttfy~ } zt �|| � W Y d }~dS d }~0 ty� t j�d| � Y dS 0 d S )NrV r )NNNz)Exception while trying to register URL %s)r r: �headersr* r �AUTH_TOKEN_HEADERr r<