MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/lib/python3.12/site-packages/dnf/rpm/__pycache__/miscutils.cpython-312.pyc
�

�jE���ddlmZmZmZddlZddlZddlZddlmZddl	m
Z
ejd�Zda
d�Zd�Zd�Zd	�Zy)
�)�print_function�absolute_import�unicode_literalsN)�which)�_�dnfc�v�t�.td�atjt	d�t�tS)N�rpmkeysz3Using rpmkeys executable at %s to verify signatures)�_rpmkeys_binaryr�_logger�debugr���6/usr/lib/python3.12/site-packages/dnf/rpm/miscutils.py�_find_rpmkeys_binaryrs/�����	�*���
�
�a�M�N�%�	'��rc�N�t|�dks
|ddk7s|dryd\}}}}|ddD]o}d|vry|jd	�rd
}�|jd�rd
}�1|jd�rd
}�E|jd
�rd|vrd
}�]|jd
�r�oy|ry|s|ry|ryy)N�rs-:����)FFFF�s: BADs: NOKEYTs: NOTTRUSTEDs
: NOTFOUNDs: OKs	ignature,�)�len�endswith)�data�trusted_sig�missing_key�not_trusted�
not_signed�is      r�_process_rpm_outputr $s����4�y�1�}��Q��5�(�D��H��8R�5�K��k�:�
�!�B�Z���q�=��
�Z�Z�
�
#��K�
�Z�Z��
(��K�
�Z�Z�
�
&��J�
�Z�Z��
 �\�Q�%6��K����G�$�����
�[��	��rc�6�t�}|�tjj|�stjt
d��yddd|dddd	f}ttj�}d
|d<tj|||tjd|�
�5}|j�d}ddd�j}t|�turt!d��|dk\s|dkryt#j%d��}|r|S|rdSdS#1swY�`xYw)Nz4Cannot find rpmkeys executable to verify signatures.rr
z
--checksigz--rootz	--verbosez#--define=_pkgverify_level signaturez--define=_pkgverify_flags 0x0�-�C�LC_ALL�/)�args�
executable�env�stdout�cwd�stdinrz Popen set return code to non-int�
)r�os�path�isfiler�criticalr�dict�environ�
subprocess�Popen�PIPE�communicate�
returncode�type�int�AssertionErrorr �split)	�package�installroot�rpmkeys_binaryr&r(�prr7�rets	         r�_verifyPackageUsingRpmkeysrACs��)�+�N���R�W�W�^�^�N�%C�����Q�R�S��
�|�X�{�K�1�3R���D��r�z�z�
�C��C��M�	�	�	��%���?�?���

� ��}�}��q�!��
����J��J��s�"��?�@�@��Q��*�q�.��
�d�j�j��/�
0�C�
��
��1�!��!�%
�
�s�D�Dc�2�tj|tjtjztjz�}	t||jj�}tj|�|S#tj|�wxYw)a
Takes a transaction set and a package, check it's sigs,
    return 0 if they are all fine
    return 1 if the gpg key can't be found
    return 2 if the header is in someway damaged
    return 3 if the key is not trusted
    return 4 if the pkg is not gpg or pgp signed)	r-�open�O_RDONLY�O_NOCTTY�	O_CLOEXECrA�ts�rootDir�close)rGr<�fdno�values    r�checkSigrLdsb���7�7�7�B�K�K����3�B�L�L�@�A�D��*�4������?��
������L��	�����s� A?�?B)�
__future__rrrr-r3�logging�shutilr�dnf.i18nr�	getLoggerrrrr rArLrrr�<module>rRsI�� I�H�	�����
�'�
�
�E�
"�����
�>"�B
r