Current File : //proc/353637/root/lib/python3/dist-packages/uaclient/cli/__pycache__/cve.cpython-312.pyc
�

��Jh����ddlZddlZddlmZddlmZmZmZmZm	Z	ddl
mZddlm
Z
mZmZddlmZddlmZddlmZmZmZdd	lmZdd
lmZddlmZedgd
��Zej>ej@��defd��Z!d�Z"d�Z#d�Z$edejJejLe$ejNdeedejP��g��g��Z)y)�N)�
namedtuple)�defaults�
exceptions�messages�system�util)�VulnerabilityData)�CVEInfo�CVEsOptions�_cves)�#query_installed_source_pkg_versions)�cli_util)�ProArgument�ProArgumentGroup�
ProCommand)�Table)�HelpCategory)�UAConfig�AffectedPackage��name�
fix_status�
fix_origin�fix_version)�msg�cfgc�j�	tt�|��}|S#tj$rd}Y|SwxYw)N)�optionsr)rrr�VulnerabilityDataNotFound)�argsr�kwargs�results    �2/usr/lib/python3/dist-packages/uaclient/cli/cve.py�_get_cve_vulnerabilitiesr$s=����{�}�#�6���M���/�/�����M��s��2�2c��g}t�}|jD]�}|j|i�j�}t	|�D]~}|j
j|�}|s�!|jD]O}	|	j|k(s�|jt||	j|	j|	j����~����|S)Nr)
r
�related_packages�get�keys�sorted�packages�cvesr�appendrrrr)
�cve_vulnerabilities�cve_info�cve_name�rows�installed_pkgs_by_source�
source_pkg�binary_pkgs�
binary_pkg�binary_pkg_info�cves
          r#�_get_affected_pkgsr7 s���
�D�B�D���/�/��
�.�2�2�:�r�B�G�G�I�� ��-�	�J�1�:�:�>�>�z�J�O��*�/�/�
�C��x�x�8�+����+�%/�+.�>�>�+.�>�>�,/�O�O�	���
�		��&�K�c�^�g}|D]�}|jdk(r\|jdj|j�|jdj|j�|j
g��n|jdj|j�|jddg���|S)N�fixedz{}:z({})�)rr,�formatrrr)�
affected_pkgs�formatted_rows�affected_pkgs   r#�_format_affected_pkgsr@:s����N�%����"�"�g�-��!�!��L�L��!2�!2�3� �+�+��M�M�,�"9�"9�:� �,�,�	�
�
�!�!��L�L��!2�!2�3� �+�+���	�
��(�r8c�	�|jj�}t||��}|stj��||j
v�rt
|�j�jdi�jdi�j|�}|s�tj�j}ttjj|j|djtj |���t"j$��yt'|dt)j*|d�|d	|d
|d|dg�
�}d}nI|j
|}t-t/|||j��}	t1|	��j3�}tdj|��tdjtj |��tdj|j4j7d���tdj|j8j7d���tdj|j:j7d���tdjt=j>|j@���|jBr$tdj|jB��|jDr$tdj|jD��td�tdjdjGtIjJ|jLtjNdddd�����|jPrNtd�|jPD]4}
ttIjR|
tjNddd d!����6|r/td"�|jU�D]}td|z��ntd#�|jVrj|jVD�cgc]4}|jXr&d$j|jZ|jX���6}
}|
rtd%�|
D]
}t|��yyycc}w)&N)r�security_issuesr+z{}/{})�issue�release�url)�file�description�published_at�ubuntu_priority�notes�
cvss_score�
cvss_severity)rGrH�priorityrJrKrL�related_usnsr;)r0zname:            {}zpublic-url:      {}/{}zpublished-at:    {}z%Y-%m-%dzcve-cache-date:  {}zapt-cache-date:  {}zpriority:        {}zcvss-score:      {}zcvss-severity:   {}zdescription: |z{}�
Fz  )�width�break_long_words�break_on_hyphens�initial_indent�subsequent_indentznotes:z  - z    zaffected_packages:zaffected_packages: []z  {}: {}z
related_usns:).r6�upperr$rrr+r	r'r�get_release_inforD�printr�CLI_CVE_NOT_FOUND_IN_DATAr<r�BASE_SECURITY_URL�sys�stderrr
r�parse_rfc3339_dater@r7r�	to_stringrH�strftime�vulnerability_data_published_at�apt_updated_atr�colorize_priorityrMrKrL�join�textwrap�wraprG�PRINT_WRAP_WIDTHrJ�fill�
splitlinesrN�titler)r rr!r/r-�cve_datarDr.�affected_pkgs_table�affected_pkgs_rows�note�line�usnrN�related_usns               r#�
action_cverpTs����x�x�~�~��H�2�4�S�A����2�2�4�4��*�/�/�/��c�"�
�S�U�
�S�"�B�
'�
�S���_�
�S��]�	���-�-�/�7�7�G���2�2�9�9��(�(�#����x�'A�'A�8�L�:��
�Z�Z�

�
�� ��/��0�0��.�1I�J��/�0��7�#���-�"�?�3��
��!��&�+�+�H�5��2��2�H�d�h�h�G�
��$�);�<�F�F�H��	�
�
&�
&�x�
0�1�	� �'�'��(B�(B�H�M��
��$�$��!�!�*�*�:�6�	
��

��$�$��?�?�H�H��
�	
��
��$�$��.�.�7�7�
�C�	
��

��$�$��&�&�x�'8�'8�9�	
�����
�#�*�*�8�+>�+>�?�@����
�#�*�*�8�+A�+A�B�C�	�
��	�����I�I��
�
��(�(�"�3�3�%*�%*�#'�&*�
�	
�	
�
��~�~�
�h���N�N�
	�D���
�
��"�3�3�%*�%*�#)�&,�
�	
�
	��
�"�#�'�2�2�4�	�D��$��+��	�	�%�&���� �,�,�
���y�y�
���c�h�h��	�	�2�
��
���/�"�+�
#���k�"�
#����
s�$9Rr6T)�help)�	arguments)rqrG�action�
help_category�preserve_description�argument_groups)*rZrc�collectionsr�uaclientrrrrr�+uaclient.api.u.pro.security.cves._common.v1r	�#uaclient.api.u.pro.security.cves.v1r
rr�'uaclient.api.u.pro.security.fix._commonr
�uaclient.clir�uaclient.cli.commandsrrr�uaclient.cli.formatterr�uaclient.cli.parserr�uaclient.configrr�with_spinner�CLI_CVES_SPINNER_MSGr$r7r@rp�CLI_CVE�CLI_CVE_DESC�SECURITY�
CLI_CVE_ISSUE�cve_command�r8r#�<module>r�s���
��"�A�A�I�K�K��"�K�K�(�,�$���J���
����8�8�8�9��8��:���4�4~#�B�	�	�	�	��%�%���'�'�����!�/�/���	
�	��r8