403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cloudinit/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cloudinit/__pycache__/dmi.cpython-39.pyc
a

�½b��@sddlZddlmZddlmZddlmZddlmZm	Z	e�
e�ZdZ
eddd	g�Zd
ej_edd�ed
d�edd�edd�edd�edd�edd�edd�edd�edd�edd �ed!d"�ed#d$�ed%d&�ed'd(�ed)d*�ed+d,�d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�ZdS)6�N)�
namedtuple)�log)�subp)�is_container�
is_FreeBSDz/sys/class/dmi/idZKernelNames�linux�freebsd)NNZboard_asset_tagzsmbios.planar.tagZboard_vendorzsmbios.planar.makerZ
board_namezsmbios.planar.productZboard_serialzsmbios.planar.serialZ
board_versionzsmbios.planar.versionZ	bios_datezsmbios.bios.reldateZbios_vendorzsmbios.bios.vendorZbios_versionzsmbios.bios.versionZchassis_asset_tagzsmbios.chassis.tagZchassis_vendorzsmbios.chassis.makerZchassis_serialzsmbios.chassis.serialZchassis_versionzsmbios.chassis.versionZ
sys_vendorzsmbios.system.makerZproduct_namezsmbios.system.productZproduct_serialzsmbios.system.serialZproduct_uuidzsmbios.system.uuidZproduct_versionzsmbios.system.version)zbaseboard-asset-tagzbaseboard-manufacturerzbaseboard-product-namezbaseboard-serial-numberzbaseboard-versionzbios-release-datezbios-vendorzbios-versionzchassis-asset-tagzchassis-manufacturerzchassis-serial-numberzchassis-versionzsystem-manufacturerzsystem-product-namezsystem-serial-numberzsystem-uuidzsystem-versionc
Cst�|�}|dus|jdur dSd�t|j�}t�d|�tj�	|�sVt�d|�dSz6t
|d��}|��}Wd�n1s�0YWn ty�t�d|�YdS0|dt
|�dd	kr�d
}z|�d���WSt�y}zt�d|||�WYd}~n
d}~00dS)
z/
    Reads dmi data from /sys/class/dmi/id
    Nz{0}/{1}�querying dmi data %szdid not find %s�rbzCould not read %s����
��utf8z-utf-8 decode of content (%s) in %s failed: %s)�DMIDECODE_TO_KERNEL�getr�format�DMI_SYS_PATH�LOG�debug�os�path�exists�open�read�PermissionError�len�decode�strip�UnicodeDecodeError�error)�key�kmapZdmi_key_path�fpZkey_data�e�r%�1/usr/lib/python3.9/site-packages/cloudinit/dmi.py�_read_dmi_syspath+s4
*�r'c
Cs�t�|�}|dus|jdur dSt�d|j�z8dd|jg}t�|�\}}|��}t�d||j�|WStjy�}zt�d||�WYd}~dSd}~00dS)z/
    Reads dmi data from FreeBSD's kenv(1)
    Nr	Zkenvz-qzkenv returned '%s' for '%s'zfailed kenv cmd: %s
%s)rrrrrrr�ProcessExecutionError)r!r"�cmd�result�_errr$r%r%r&�
_read_kenvQs
r,c
Cs�zJ|d|g}t�|�\}}|��}t�d||�|�dd�dkrFWdS|WStjy�}zt�d||�WYd}~dSd}~00dS)z
    Calls out to dmidecode to get the data out. This is mostly for supporting
    OS's without /sys/class/dmi/id support.
    z--stringz dmidecode returned '%s' for '%s'�.�zfailed dmidecode cmd: %s
%sN)rrrr�replacer()r!�dmidecode_pathr)r*r+r$r%r%r&�_call_dmidecodehs
r1cCs�t�r
dSt�rt|�St|�}|dur,|Sdd�}t��d}||�s`|dvs`t�d|�dSt�	d�}|rxt
||�St�dt�dS)	a�
    Wrapper for reading DMI data.

    If running in a container return None.  This is because DMI data is
    assumed to be not useful in a container as it does not represent the
    container but rather the host.

    This will do the following (returning the first that produces a
    result):
        1) Use a mapping to translate `key` from dmidecode naming to
           sysfs naming and look in /sys/class/dmi/... for a value.
        2) Use `key` as a sysfs key directly and look in /sys/class/dmi/...
        3) Fall-back to passing `key` to `dmidecode --string`.

    If all of the above fail to find a value, None will be returned.
    NcSs$|dkp"|ddko"|dd�dkS)NZx86_64r�i�Z86r%)Zarchr%r%r&�is_x86�szread_dmi_data.<locals>.is_x86�)Zaarch64Zamd64zdmidata is not supported on %sZ	dmidecodez0did not find either path %s or dmidecode command)rrr,r'r�unamerrrZwhichr1r)r!Z
syspath_valuer4Z
uname_archr0r%r%r&�
read_dmi_datazs"

r7)r�collectionsrZ	cloudinitrZloggingrZcloudinit.utilrrZ	getLogger�__name__rrZkdmi�__new__Z
defaults__rr'r,r1r7r%r%r%r&�<module>s<
�&

Youez - 2016 - github.com/yon3zu
LinuXploit