Current File : //usr/libexec/kcare/python/kcarectl/__pycache__/platform_utils.cpython-36.pyc
3

��wh��@s"ddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddlmZd	Z
d
d�Ze
jdd
��Zdd�Zd.dd�ZdZddd�Zd/dd�Zdd�Zdd�Zdd�Ze
jd d!��Ze
jd"d#��Ze
jd$d%��Zd&d'�Zd(d)�Zd*d+�Zd,d-�ZdS)0�N�)�	constants)�config)�	log_utils)�utils)�
process_utils)�selinuxz/usr/libexec/kcare/virt-whatcCs2tjdd�dkrtj�Sddl}|jdd�SdS)N���rF)�full_distribution_name)r
r)�sys�version_info�platform�linux_distribution�distro)r�r�4/usr/libexec/kcare/python/kcarectl/platform_utils.py�
get_distrosrcCstj�dS)Nr	)r�unamerrrr�get_system_uname"srcCsdtjdtjdfS)Nz%s.%srr)r
rrrrr�get_python_version'srFc	Cs�t�tjd�}tj�r^tjddddttj	��gdd�\}}}|sN|j
�d}nd	|}||d
<|rltj|�St
|�}d}x |D]}|d|||f7}q~W|j�S)
N)�python_version�
agent_version�psz-Zz--no-headersz--pidT)�catch_stdoutrz	error: %s�selinux_context�z%s: %s
)rr�VERSIONrZis_selinux_enabledr�run_command�str�os�getpid�split�json�dumps�sorted�rstrip)	�is_json�info�rc�stdout�stderrrZ	info_keysZinfo_strZinfo_keyrrr�app_info+s
&

r-z/sys/firmware/efi/efivarsz$8be4df61-93ca-11d2-aa0d-00e098032b8cz$605dab50-e046-4300-abb6-3dd810dd8b23)�global�shim�c	CsFtjjtd||f�}tjj|�s&dSt|d��}|j|�SQRXdS)Nz%s-%s�rb)r!�path�join�EFIVARS_PATH�exists�open�read)�name�vendorZ	max_bytesZvar_path�varrrr�_read_uefi_varLs
r;cCs@y&tdtd�}|r$|dd�dkSWntk
r:YnXdS)N�
SecureBootr.r�F���)r;�EFI_VENDORS�	Exception)Zsecure_boot_varrrr�is_secure_bootUsrAcCsZyt||�}|dkrdSWn.tk
rH}zt|�j�}WYdd}~XnXtjtj|��S)N)r;r@r �encoder�nstr�base64�urlsafe_b64encode)r8r9Zvalue_bytes�errr�_get_uefi_var_encoded`s
rGcCstjd�}|r&t|�dkr&|dd�}|tjjtjjt��d�}|dsL|Sy�tdd�dD��|d	<t	d
d�tj
t�D��}d|i|d
<tddddg�}x<|D]4}|dks�|jd�r�||kr�t
|td
�|d
|<q�WWn.tk
�r}ztj|�WYdd}~XnX|S)Nz
/proc/cmdlinei)�cmdline�has_efirIcss |]}|t|td�fVqdS)r.N)rGr?)�.0r:rrr�	<genexpr>usz#secure_boot_info.<locals>.<genexpr>r<�	SetupModer.cSs4g|],}|jtd�r|dttd�d��qS)r/rr)�endswithr?�len)rJr:rrr�
<listcomp>wsz$secure_boot_info.<locals>.<listcomp>�varsr/Z	MokListRTZ
MokListXRTZMokListTrustedRTZSbatLevelRT�	HSIStatus�MokIgnoreDBZRT)r<rL)rQrR)r�try_to_readrNr!r2r5�dirnamer4�dictr&�listdir�setrMrGr?r@r�logwarn)rHr)Z	shim_varsZshim_exclude_varsr:�errrrr�secure_boot_infoks$

rZcCsrtjrfy&tjtj�ddddtj�dd}Wqntjk
rb}ztj|�t	j
�}WYdd}~XqnXnt	j
�}|S)Nrr
)r�REPORT_FQDN�socket�getaddrinfo�gethostname�AI_CANONNAME�gaierrorr�logerrorr�node)�hostname�gerrr�get_hostname�s&
recCsFtjjd�rBtdd�}|j�}ttt|j�d���}|j	�|SdS)Nz/proc/uptime�rrz-1)
r!r2�isfiler6�readliner �int�floatr#�close)�f�line�resultrrr�
get_uptime�s
rocCs tjjt�rtjtg�j�SdS)Nzno-virt-what)r!r2rg�VIRTWHATr�check_output�striprrrr�get_virt�srscCstjjd�S)Nz/usr/local/cpanel/cpanel)r!r2rgrrrr�	is_cpanel�srtcCstjjd�otjjd�S)Nz/proc/vz/veinfoz/proc/vz/version)r!r2r5rrrr�inside_vz_container�srucCsdtd�j�kS)Nz/lxc/z/proc/1/cgroup)r6r7rrrr�inside_lxc_container�srvcCstjjd�S)Nz/.dockerenv)r!r2rgrrrr�inside_docker_container�srw)F)r0) rDr$r!rr\r
rrrrrrrrpr�cachedrrr-r4r?r;rArGrZrerorsrtrurvrwrrrr�<module>s<	

	
Page not found – Hello World !