HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ns3133907 6.8.0-86-generic #87-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 18:03:36 UTC 2025 x86_64
User: cssnetorguk (1024)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: //usr/libexec/kcare/python/kcarectl/__pycache__/platform_utils.cpython-312.pyc
�

p��g�
��:�ddlZddlZddlZddlZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
ddlmZd	Zd
�Z
e	jd��Zd�Zdd
�Zd�Ze	jd��Ze	jd��Ze	jd��Zd�Zd�Zd�Zd�Zy)�N�)�	constants)�config)�	log_utils)�utils)�
process_utils)�selinuxz/usr/libexec/kcare/virt-whatc��tjdddkrtj�Sddl}|jd��S)N�)��rF)�full_distribution_name)�sys�version_info�platform�linux_distribution�distro)rs �4/usr/libexec/kcare/python/kcarectl/platform_utils.py�
get_distrors=��
������f�$��*�*�,�,���(�(��(�F�F�c�0�tj�dS)Nr)r�uname�rr�get_system_unamers���>�>��A��rc�T�tjd�dtjd��S)Nr�.r)rrrrr�get_python_versionr$s#���&�&�q�)�3�+;�+;�A�+>�?�?rc
��t�tjd�}tj�r[tjddddttj��gd��\}}}|s|j�d}nd	|z}||d
<|rtj|�St|�}d}|D]}||�d||�d
�z
}�|j�S)N)�python_version�
agent_version�psz-Zz--no-headersz--pidT)�catch_stdoutrz	error: %s�selinux_context�z: �
)rr�VERSIONr	�is_selinux_enabledr�run_command�str�os�getpid�split�json�dumps�sorted�rstrip)	�is_json�info�rc�stdout�stderrr#�	info_keys�info_str�info_keys	         r�app_infor9(s���,�.�"�*�*��D�
�!�!�#�*�6�6��d�N�T[�]`�ac�aj�aj�al�]m�7n�~B�C���F�F��$�l�l�n�Q�/�O�)�F�2�O�"1��
����z�z�$����t��I��H��<���(�D��N�;�;��<��?�?��rc�R�d}tjj|�sytj|�D]a}|j	d�s�tjj||�}t
|d�5}|j�dddk(cddd�cSy#1swY�nxYw)Nz/sys/firmware/efi/efivars/F�
SecureBoot�rb����)r*�path�exists�listdir�
startswith�join�open�read)�efivars_location�filename�varfile�vfds    r�is_secure_bootrJBs���3��
�7�7�>�>�*�+���J�J�/�0�2�����|�,��g�g�l�l�#3�X�>�G��g�t�$�
2���x�x�z�"�#��'�1�
2�
2�	2��
2�
2�s�9B�B&	c�h�tjrC	tjtj�ddddtj
�dd}|Stj�}|S#tj$r4}tj|�tj�}Yd}~|Sd}~wwxYw)Nrr)r�REPORT_FQDN�socket�getaddrinfo�gethostname�AI_CANONNAME�gaierrorr�logerrorr�node)�hostname�ges  r�get_hostnamerVPs������	'��)�)�&�*<�*<�*>��1�a��F�L_�L_�`�ab�c�de�f�H��O��=�=�?���O�����	'����r�"��}�}��H��O��	'�s�AA*�*B1�=)B,�,B1c��tjjd�r\tdd�}|j	�}tt
t|j�d���}|j�|Sy)Nz/proc/uptime�rrz-1)
r*r?�isfilerD�readliner)�int�floatr,�close)�f�line�results   r�
get_uptimera`sZ��
�w�w�~�~�n�%����%���z�z�|���S��t�z�z�|�A��/�0�1��	���	��
�rc��tjjt�r(t	j
tg�j
�Sy)Nzno-virt-what)r*r?rY�VIRTWHATr�check_output�striprrr�get_virtrfls1��	�w�w�~�~�h���)�)�8�*�5�;�;�=�=�rc�@�tjjd�S)Nz/usr/local/cpanel/cpanel�r*r?rYrrr�	is_cpanelriss��
�7�7�>�>�4�5�5rc��tjjd�xr tjjd�S)Nz/proc/vz/veinfoz/proc/vz/version)r*r?r@rrr�inside_vz_containerrkws,��
�7�7�>�>�+�,�W�R�W�W�^�^�DV�5W�1W�Wrc�8�dtd�j�vS)Nz/lxc/z/proc/1/cgroup)rDrErrr�inside_lxc_containerrm{s���d�+�,�1�1�3�3�3rc�@�tjjd�S)Nz/.dockerenvrhrrr�inside_docker_containerros��
�7�7�>�>�-�(�(r)F)r-r*rrMrr$rrrrrr	rcr�cachedrrr9rJrVrarfrirkrmrorrr�<module>rqs���
�	��
�
�������*��G�������@��4�������������������6�X�4�)r