ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/up2date_client/__pycache__/hardware.cpython-36.pyc
3

c8hD@sJdZddlmZmZmZmZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	mZddl
mZyeWnek
reZYnXyddlZdZWnek
rd	ZYnXyddlZddlZdZWnek
rd	ZYnXddlZejd
ddZeedseje_ejZddlZejd
dgddl Z WdQRXddl	m!Z!yddl"m#Z#m$Z$dZ%Wn^ek
ryddl&m#Z#m$Z$dZ%Wn.ek
rddl'm(Z(m)Z)m*Z*dZ%YnXYnXyddl+Z+Wnek
rdZ+YnXej,j-dyddl.m/Z0dZ1Wnek
r*d	Z1YnXda2da3ddZ4e4Z5e5rfe j6e!j7Z8e8j9de5ddZ:ddZ;ddZ<ddZ=d d!Z>d"d#Z?d$d%Z@d&d'ZAd(d)ZBd*d+ZCd,d-ZDd.d/ZEd0d1ZFd2d3ZGd4d5ZHd6d7ZId8d9ZJd:d;ZKd<d=Z/eLd>krFx<e/D]2ZMx&eMjND]ZOePd?eOeMeOfqWePqWdS)@z1Used to read hardware info from kudzu, /proc, etc)gethostnamegetaddrinfoAF_INETAF_INET6N)config)	rhnserver)up2dateUtils)ustrTFzrhn-client-tools)ZfallbackugettextzFailed to save log entryzSMBIOS.*: entry point at)
up2dateLog)get_devicesget_computer_info)check_hal_dbus_statusget_hal_computerread_halz/usr/share/rhsm)HardwarecCsttdsdStjS)Nget_warnings)hasattr	dmidecoderrr/usr/lib/python3.6/hardware.pydmi_warnings[s
rz.Warnings collected during dmidecode import: %sc	CstdkrtrdStj}|jtjy6|jd}t}|rXtjt	j
}|jd|Wn dat}|rxtjdS|jatS)z= Initialize _dmi_data unless it already exist and returns it Nallzdmidecode warnings: %sr)
	_dmi_data_dmi_not_availablerZdmidecodeXMLZ
SetResultTypeZ
DMIXML_DOCZQuerySectionrclear_warningsrinitLog	log_debugZxpathNewContext)Zdmixmldatadmi_warnlogrrr_initialize_dmi_datags(
r"cCs6t}|dkrdS|j|}|gkr.|djSdSdS)z Fetch DMI data from given section using given path.
        If data could not be retrieved, returns empty string.
        General method and should not be used outside of this module.
    Nr)r"Z	xpathEvalZcontent)pathZdmi_datarrrrget_dmi_datas

r%cCstdS)zt Return Vendor from dmidecode bios information.
        If this value could not be fetch, returns empty string.
    z/dmidecode/BIOSinfo/Vendor)r%rrrr
dmi_vendorsr&cCstd}|sd}|S)zt Return UUID from dmidecode system information.
        If this value could not be fetch, returns empty string.
    z7/dmidecode/SystemInfo/SystemUUID[not(@unavailable='1')]r#)r%)Zuuidrrrdmi_system_uuidsr'cCstjdtjsiStddj}i}d|d<x`|D]X}t|s@q2|jd}t|dkrXq2|dj}||d<dj|ddj||d<q2W|S)	Nz/etc/sysconfig/installinforZINSTALLINFOclass=rrr#)	osaccessR_OKopen	readlineslensplitstripjoin)ZinstallinfoZinstalldictinfovalsZstrippedstringrrrread_installinfos

"r6csHytjd}Wntk
r&g}YnXtjdtfdd|DS)z returns number of CPU in system

    Beware that it can be different from number of active CPU (e.g. on s390x architecture
    z/sys/devices/system/cpu/z^cpu[0-9]+$csg|]}j|r|qSr)match).0i)re_cpurr
<listcomp>szcpu_count.<locals>.<listcomp>)r+listdirOSErrorrecompiler0)Zcpu_dirr)r:r	cpu_counts

r@cCsytrtjdSWnYnXd}tjdtjry^tjdj}d}x6|D].}|jdr`qPt	|j
dd}||krP|}qPW|dkrd|SWnYnXtjd	tjr$ydtd	d
j}t
}x4|D],}d|krt	|j
ddj}|j|qWt|dkrt|SWnYnXtjd
tjryFtjdj}d}x |D]}d|krN|d7}qNW|dkrx|SWnYnXdS)Nzcpu.cpu_socket(s)rz/usr/bin/lscpuz/usr/bin/lscpu -pr#,z
/proc/cpuinfor(zphysical id:z/usr/sbin/dmidecodez /usr/sbin/dmidecode -t processorzProcessor InformationrE)subscription_manager_availableSubManHardwareZ
getCpuInfor+r,X_OKpopenr/
startswithintr1r-r.setr2addr0)number_socketslinesZmax_socket_indexlineZsocket_indexZ
socket_idscountrrr__get_number_socketssX





rRc
Csxdd}dd}tjdtjs"iStr4tjtjdtddj}tjdj	}t
}d	d
d}|dd
kr~|dFddks|dkrz||}|dkrd|d<nd|d<||d<||d|d<||d|d<||d|d<||d|d<||d|d<||d|d<||d|d<||d |d!<||d"}|d#kr:d$}yttt
|d%|d&<Wntk
rtdG|d&<YnXn||dHkrp||}d'|d<||d)|d<||d*|d<||d+|d<||d,|d<d-||d.||d/f|d0<||d1|d<d#|d<||d|d<||d2|d!<||d3}|j}y ttt
|dd4|d&<Wntk
rjdI|d&<YnXn|dJkr.||}||d<||d<||d6|d<||d7|d<||d8|d<||d9|d<||d|d<|d"}yttt
|d%|d&<Wntk
rdK|d&<YnX||d:|d!<n|dLkr||}||d<||d<||d*|d<||d9|d<||d|d<||d<|d<||d=ddM}yttt
|d%|d&<Wntk
rdN|d&<YnXn|dOkri}xH|jdAD]:}	|	jdB}
t|
dkrq|
d%j||
dj<qW||d<||d|d<||d<||d<||dC|d<d#|d<d#|d<d#|d<d#|d<||d:|d!<d|d&<nX||d<||d<||d<||d<d#|d<d#|d<d#|d<d#|d<d#|d<d#|d!<d|d&<|ds
d%|d<n@yt|d|d<Wnd%|d<YnX|ddkrJd%|d<tj}|jjdDrtt}|rt||dE<|S)PNcSs|j}||krdS||S)Nr#)lower)aentryerrr	get_entryszread_cpuinfo.<locals>.get_entrycSsd}i}x|jdD]|}t|s"q|d}|dkr4PxZ|jdD]L}t|sNq@|jd}t|dkrfq@|dj|dj}}|||j<q@WqW|S)Nrz

r
rDrC)r1r0r2rS)cpulistrQtmpdictcpuZcpu_attrr5namevaluerrrget_cpulist_as_dicts"
z)read_cpuinfo.<locals>.get_cpulist_as_dictz
/proc/cpuinfoCr(ZCPUZ	Processor)r)Zdescrr9rC86x86_64platformZi386rQZ	vendor_idtypez
model nameZmodelz
cpu familyZmodel_numberZ	model_verZsteppingZ	model_revz
cache sizecacheZbogomipsflagsotherzcpu mhzr#z-1rZspeedalphaalphaev6z
cpus detectedr[z	cpu modelz
cpu variationz%s/%szsystem typezsystem variationZ
model_versionzcpu revisionzplatform stringzcycle frequency [Hz]i@Bia64vendorfamilyZarchrevZrevisionZfeaturesppc64machineZclocks390s390xrXz: zbogomips per cpuZcpu_socketsZsocket_countrE)rhrirE)rjrE)rmrE)rprq)r+r,r-locale	setlocale
LC_NUMERICr.readunamerSr@rKroundfloat
ValueErrorr1r0r2rZ	RhnServerZcapabilitiesZ
hasCapabilityrR)
rWr^rYrxrQZhwdictrZZ	mhz_speedZhz_speedr[r5srNrrrread_cpuinfos	&





 






r}cCs@tj}|d}|dddkr&tS|dddkr<tSdS)NrCroz2.6z2.4)r+rxread_memory_2_6read_memory_2_4)ZunZkernelrrrread_memorysrcCstjdtjsiStddj}|jd}|d}|j}i}d|d<tt|dd}|dkrt|d	|d	}n|d
|d
}t||d<|d}|j}tt|dd}t||d
<|S)Nz
/proc/meminfor(rXrMEMORYr)i r`ramrCswapii)	r+r,r-r.rwr1rKlongstr)meminforOZcurlineZmemlistmemdictmegsrrrrs$
rcCstjdtjsiStddj}|jd}i}xB|D]:}|jdd}|d}t|dkrZq4|dj}|||<q4Wi}d|d<|d	}|jd
}	t|	d}
t|
d}|d}|jd
}	t|	d}
t|
d}t	||d
<t	||d<|S)Nz
/proc/meminfor(rXrDrrrr)ZMemTotal iZ	SwapTotalrr)
r+r,r-r.rwr1r0r2rr)rrOZmeminfo_dictrPZblobskeyr]rZ	total_strZblipsZtotal_krZswap_strZswap_kZ	swap_megsrrrr~s2



r~cCsBtj}tj}ddd}d}d}d}x|D]}|jdd}|jdd}||}	xttfD]}
ytj|
}Wntjk
rwbYnX|d	rtj}|jd\}}	t	|	}	yR|j
d
|j||	f|jd}
|
tkr|
}n|
}tj
|
}||
kr|}Wn"tjk
r(|jwbYnX|jqbWq.Wtjjdrtjdtjrtddj}x|D]}t|s~ql|j}qlWntjjd
r tjd
tjr td
dj}xd|D]\}t|sҐq|jd}t|dkrq|djdkrdj|ddjd}PqW|dks4|dkr8d}|||fS)z returns [hostname, intf, intf6]

        Where hostname is you FQDN of this machine.
        And intf is numeric IPv4 address. And intf6 is IPv6 address.
    iP)ZhttpsZhttpN/rCrDrZenableProxyz
/etc/hostnamer(z/etc/sysconfig/networkr*rZHOSTNAMEr#z"' 	
zlocalhost.localdomainunknown)rinitUp2dateConfigZgetServerURLr1rrsocketerrorZgetProxySettingrKZ
settimeoutZconnectZgetsocknamegetfqdncloser+r$isfiler,r-r.r/r0r2r3)cfgZslsthostnameZintfZintf6Z	serverUrlZserverZ
servertypeZportrlr|Zserver_portZintf_tmpZhostname_tmpZhostnameinfor4Znetworkinfor5rrrfindHostByRoutesj








rc	Csd}ytd|d}Wn
|Sd}xV|jD]J}|rT|jddkrT|jd}P|jddkr0|jd	}||kr0d
}q0W|j|S)
Nr#z/proc/net/bonding/%sr(FzPermanent HW addr: rrozSlave Interface: rCTrErE)r.r/findr1r)masterZslavehwaddrZbondingZslave_foundrPZifnamerrrget_slave_hwaddrFs rcCs.i}d|d<t\|d<|d<|d<|ddkrRt|d<d|dkrRtj|d<|ddkry4t|dd}tdd	|}|d
dd
|d<Wnd|d<YnX|ddkry4t|dd}td
d	|}|d
dd
|d<Wnd|d<YnX|ddkrd|d<|ddkr*d|d<|S)NZNETINFOr)ripaddrZip6addrr.cSs|dtjkS)Nr)rr)xrrr<lambda>iszread_network.<locals>.<lambda>rr`z	127.0.0.1cSs|dtjkS)Nr)rr)rrrrrrsz::1r#)rrrrrfilter)ZnetdictZ
list_of_addrsZ
ipv4_addrsZ
ipv6_addrsrrrread_network[s4
rc4Csi}d|d<tr(tr(tjjd|StrFtttjtj	}nt
j}x6|D],}y,trntj|}nt
j
|t
jdd}Wnd}YnXytjd|}Wnd}YnX|rtjj|}t||}y@trtj|}n,td|d	}|jjd
dj}|jWn |dkr0d
}nd}YnXy.trNtj|}nt
j
|t
jdd}Wnd}YnXy.trtj|}	nt
j
|t
jdd}	Wnd}	YnXy.trtj|}
nt
j
|t
jdd}
Wnd}
YnXg}tr`tj|}xL|D]D}
x<|
jD]0}|j }|dkr:d}|j!||j"|j#dq"WqWnyxt
j
|t
j$D]}|djdd}t%j&|}|j'rd}n(|j(rd}n|j)rd}n|j*rd}|d}d}xd|jdD]V}|sPnF|j+dkr|d7}n.|dt,t-|jdddddj.d7}qW|j!|||dqtWWnt/k
rlYnX|||	|
||d||<qVW|S)NZ
NETINTERFACESr)zWWarning: information about network interfaces could not be retrieved on this platform.
raddrr#z/sys/class/net/%s/masterz/sys/class/net/%s/device/ueventr(r*rloZloopbackZUnknownnetmask	broadcastglobalZuniverse)scoperr%linkhostZsiterDZffffrrrC1)rrrrmoduleZipv6)0ethtool_presentnetifaces_presentsysstderrwritelistrLethtoolrZget_active_devices	netifaces
interfacesZ
get_hwaddrZifaddressesZAF_LINKr+readlinkr$basenamerZ
get_moduler.readliner1r2rZ
get_ipaddrrZget_netmaskZ
get_broadcastZget_interfaces_infoZget_ipv6_addressesrappendZaddressrr	ipaddressZIPv6AddressZ	is_globalZ
is_link_localZis_loopbackZ
is_site_localrSbinrKrindexKeyError)ZintDictrZ	interfacerrZmaster_interfacerZdriver_filerrrZip6_listZdev_infor4Zip6rZip6_addrZ
scope_infoZip6_netmaskZnetmask_bitsZ
two_octetsrrrread_network_interfaces~s












4rc	CsBi}d|d<tjdj}|ddko6|dddkrH|dkrH|St}|rZ||d	<td
}|rn||d<td}|r|d
|}||d<td|d<td}|r||d<td}|r||d<td}|r||d<td}td}td}	td}
dd|d|d|	d|
f|d<x*t|jD]}||dkr ||=q W|S)NZDMIr)r`rr9rCrarbrkz!/dmidecode/SystemInfo/ProductNameproductz/dmidecode/SystemInfo/Versionrsystemz%/dmidecode/BaseBoardInfo/ManufacturerZboardz/dmidecode/BIOSinfo/VendorZbios_vendorz/dmidecode/BIOSinfo/VersionZbios_versionz/dmidecode/BIOSinfo/ReleaseDateZbios_releasez#/dmidecode/ChassisInfo/SerialNumberz/dmidecode/ChassisInfo/AssetTagz%/dmidecode/BaseBoardInfo/SerialNumberz"/dmidecode/SystemInfo/SerialNumberz#(%s: %s) (%s: %s) (%s: %s) (%s: %s)ZchassisZassetrr)r+rxrSr&r%rkeys)ZdmidictrxrkrversionrreleaseZchassis_serialZchassis_tagZboard_serialZ
system_serialkrrrread_dmisJ(rc
Csytrt}nt}|j}Wn6tk
rTtj}dtjd}|j	|iSXi}x*|D]"}|j
dr`t|||t|<q`W|jt
|S)Nz0Error reading system and smbios information: %s
rr)using_gudevr
rZGetAllProperties	Exceptionrrrexc_inforrJr	update
get_smbios)ZpropsZcomputerr!msgZsystem_and_smbiosrrrrget_hal_system_and_smbios;s 


rc	CsDttriStttdtdtdtdtdtddSdS)	a
 Returns dictionary with values we are interested for.
        For historical reason it is in format, which use HAL.
        Currently in dictionary are keys:
        smbios.system.uuid, smbios.bios.vendor, smbios.system.serial,
        smbios.system.manufacturer.
    z"/dmidecode/SystemInfo/SerialNumberz"/dmidecode/SystemInfo/Manufacturerz!/dmidecode/SystemInfo/ProductNamez/dmidecode/SystemInfo/SKUnumberz/dmidecode/SystemInfo/Familyz/dmidecode/SystemInfo/Version)zsmbios.system.uuidzsmbios.bios.vendorzsmbios.system.serialzsmbios.system.manufacturerzsmbios.system.productzsmbios.system.skunumberzsmbios.system.familyzsmbios.system.versionN)r"rr'r&r%rrrrrPsrc.Cs"trt}nzt\}}d}|s"|r<tj}d}|j|d}g}|ryt}|rT|}Wn.tj}dtjd}|j|YnXyt	}|r|j
|Wn"ttdtjdYnXyt
}|r|j
|Wn"ttdtjdYnXtj}|dsNyt}|r(|j
|Wn"ttdtjdYnXyt}|rf|j
|Wn.tj}d	tjd}|j|YnXyt}|r|j
|Wn"ttd
tjdYnX|dsyt}|r|j
|Wn"ttdtjdYnX|S)NrzaWarning: haldaemon or messagebus service not running. Cannot probe hardware and DMI information.
rz'Error reading hardware information: %s
zError reading cpu information:z(Error reading system memory information:ZskipNetworkz%Error reading networking information:z"Error reading DMI information: %s
z)Error reading install method information:z,Error reading network interface information:)rrrrrZlog_merrrr}rprint_rrrrrr6r)ZallhwZ
hal_statusZdbus_statusZhwdaemonr!rretrrrrrgsz



r__main__z'%s' : '%s')Q__doc__rrrrrr>r+rZup2date_clientrrrZrhn.i18nr	r	NameErrorrKrrImportErrorrrrgettextZtranslationtrr
rZdbusZsuppress_errorsrrZup2date_client.hardware_udevrr
rZup2date_client.hardware_gudevZup2date_client.hardware_halrrrrtr$rZsubscription_manager.hwproberrGrFrrrr rrr!rr"r%r&r'r6r@rRr}rrr~rrrrrrr__name__Zhwrrrrrrr<module>s





7B!K#:]