HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/subscription_manager.cpython-39.pyc
a

\��h!�@sJddlmZmZddlZddlmZddlmZmZGdd�dee�Z	dS)�)�
NoOptionError�NoSectionErrorN)�remove)�Plugin�RedHatPluginc@sDeZdZdZdZdZdZdZdZdd�Z	d	d
�Z
dd�Zd
d�ZdS)�SubscriptionManagerz subscription-manager informationZsubscription_manager)�systemZpackagemanagerZsysmgmt)�/etc/rhsm/rhsm.conf)zsubscription-managerZ
rhsm_curl_cfgc	Cs�d}|�dd�}|rL|�dd�}|�dd�}|r8d|}d|�d|�|��}|�dd	�}|r�|r�|�dd
�}|r�|j�|j�|_t|jddd
��&}|�d|�d|���Wd�n1s�0Y|d|j��7}n|d|��7}|S)z4 return curl options --proxy[-user] per RHSM config ��server�proxy_hostname�proxy_scheme�
proxy_port�:z--proxy �://�
proxy_userZproxy_password�wzutf-8)�encodingz
--proxy-user Nz
 --config z --proxy-user )�get�archiveZ	dest_path�curl_config�_curl_cfg_fname�open�write)	�self�config�proxyrr
rrZ
proxy_passZ_f�r�K/usr/lib/python3.9/site-packages/sos/report/plugins/subscription_manager.py�get_proxy_strings(�"z$SubscriptionManager.get_proxy_stringc	Cs`|�dd�dkrdnd}|�dd�}t|�dkr8d|}d	|�d
|�dd��|�|�dd���S)
z- return URL per RHSM config for curl command rZinsecure�1�sr
�portrr�httpr�hostname�prefix)r�len)rrZsecurer"rrr�get_server_url3s
�z"SubscriptionManager.get_server_urlc
CsB|�gd��|jddd�|jddd�|jddd�|jgd	�d
d�|�d|�����t�d
�}|jdd�|D�dd�d}d}d|_z`ddlm}|�}|�|�}|�|�}d|�d|�	dd��d|��}|�	dd�}|r�d|i}Wn>t
ttt
f�y,}	z|�d|	���WYd}	~	n
d}	~	00|j||dd�dS)N)z
/etc/rhsm/z/var/lib/rhsm/z/var/log/rhsm/rhsm.logz/var/log/rhsm/rhsmcertd.logzsubscription-manager identityZsubscription_manager_id)�tagsz$subscription-manager list --consumedZ"subscription_manager_list_consumedz%subscription-manager list --installedZsubscription_manager_installed)z%subscription-manager list --availablez+subscription-manager list --all --availablez#subscription-manager release --showz#subscription-manager release --listzsyspurpose showz&subscription-manager syspurpose --showzsubscription-manager statuszsubscription-manager factsT)Z
cmd_as_tagzFrhsm-debug system --sos --no-archive --no-subscriptions --destination z/etc/pki/product-default/*.pemcSsg|]}d|���qS)z
rct cat-cert r)�.0Zcertrrr�
<listcomp>Y�z-SubscriptionManager.setup.<locals>.<listcomp>Z*subscription_manager_installed_product_idszccurl -vv --cacert /etc/rhsm/ca/redhat-uep.pem https://subscription.rhsm.redhat.com:443/subscriptionr)�get_config_parserz	curl -vv z
 --cacert ZrhsmZrepo_ca_cert� r�no_proxyZNO_PROXYz*Error checking for RHSM cert/proxy issue: �)�env�timeout)Z
add_copy_specZadd_cmd_outputZget_cmd_output_path�globrZrhsm.configr,rr'r�ModuleNotFoundError�ImportErrorrrZ
_log_debug)
rZcertsZcurlcmdr0r,rrZ
server_urlr.�errrrr�setup=sR���
	�
�
�


���&zSubscriptionManager.setupcCsVd}d}|�d||�d}d}|�d||�|jr<t|j�d}d}|�d||�dS)	Nz"(proxy_password(\s)*=(\s)*)(\S+)\nz\1********\nr	z(password(\s)*=(\s)*)(\S+)\nz/var/lib/rhsm/repo_server_val/*z(http(s)?://)\S+:\S+(@.*)z\1******:******\3z*curl*)Zdo_path_regex_subrrZdo_cmd_output_sub)rZ	passwdreg�replZregexpZhttp_proxy_regexpZhttp_proxy_replrrr�postprocqs	
zSubscriptionManager.postprocN)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofiles�filesZpackagesrrr'r6r8rrrrrs
4r)
Zconfigparserrrr2�osrZsos.report.pluginsrrrrrrr�<module>	s