HEX
Server: LiteSpeed
System: Linux node612.namehero.net 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: dfwparty (1186)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/sos/report/plugins/__pycache__/subscription_manager.cpython-36.pyc
3

ܓ�i��@sVddlmZmZddlZddlmZddlmZmZddl	m
Z
Gdd�dee�ZdS)�)�
NoOptionError�NoSectionErrorN)�remove)�Plugin�RedHatPlugin)�sos_parse_versionc@sDeZdZdZdZdZdZdZdZd	d
�Z	dd�Z
d
d�Zdd�ZdS)�SubscriptionManagerz subscription-manager informationZsubscription_manager�system�packagemanager�sysmgmt�/etc/rhsm/rhsm.conf�subscription-managerZ
rhsm_curl_cfgc	Cs�d}|jdd�}|rL|jdd�}|jdd�}|r8d|}d|�d|�|��}|jdd	�}|r�|r�|jdd
�}|r�|jj|j�|_t|jddd
��}|jd|�d|���WdQRX|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 z://�
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�proxyrrrrZ
proxy_passZ_f�r �*/usr/lib/python3.6/subscription_manager.py�get_proxy_strings&z$SubscriptionManager.get_proxy_stringcCs`|jdd�dkrdnd}|jdd�}t|�dkr8d|}d	|�d
|jdd��|�|jdd���S)
z- return URL per RHSM config for curl command rZinsecure�1�sr�portrrZhttpz://Zhostname�prefix)r�len)rrZsecurer%r r r!�get_server_url4s
z"SubscriptionManager.get_server_urlcCs�|jddddg�|jddd�|jdd	d�|jd
ddd
ddgdd�|jjjd�}|dk	r�dj|d�}t|�td�kr�|jdddgdd�|jd|j����tjd�}|jdd�|D�dd�d}d}d|_	ybdd l
m}|�}|j|�}|j
|�}	d!|	�d"|jd#d$��d%|��}|jd&d'�}
|
�r4d(|
i}Wn<ttttfk
�rr}z|jd)|���WYdd}~XnX|j||d*d+�dS),Nz
/etc/rhsm/z/var/lib/rhsm/z/var/log/rhsm/rhsm.logz/var/log/rhsm/rhsmcertd.logzsubscription-manager identityZsubscription_manager_id)Ztagsz%subscription-manager list --installedZsubscription_manager_installedz#subscription-manager release --showz#subscription-manager release --listzsyspurpose showz&subscription-manager syspurpose --showzsubscription-manager statuszsubscription-manager factsT)Z
cmd_as_tagzsubscription-manager�.�versionz1.30.3-1z%subscription-manager list --availablez+subscription-manager list --all --availablez$subscription-manager list --consumedzFrhsm-debug system --sos --no-archive --no-subscriptions --destination z/etc/pki/product-default/*.pemcSsg|]}d|���qS)z
rct cat-cert r )�.0Zcertr r r!�
<listcomp>`sz-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: �)�envZtimeout)Z
add_copy_specZadd_cmd_outputZpolicyZpackage_managerZpkg_by_name�joinrZget_cmd_output_path�globrZrhsm.configr-r"r(r�ModuleNotFoundError�ImportErrorrrZ
_log_debug)rZsmpkgZ
sm_versionZcertsZcurlcmdr1r-rrZ
server_urlr/�errr r r!�setup>s\


"zSubscriptionManager.setupcCsVd}d}|jd||�d}d}|jd||�|jr<t|j�d}d}|jd||�dS)	Nz"(proxy_password(\s)*=(\s)*)(\S+)\nz\1********\nz/etc/rhsm/rhsm.confz(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_replr r r!�postprocxs	
zSubscriptionManager.postprocN)r	r
r)r)r
)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofiles�filesZpackagesrr"r(r7r9r r r r!rs
:r)Zconfigparserrrr3�osrZsos.report.pluginsrrZ
sos.utilitiesrrr r r r!�<module>	s