Edit File: crypto.cpython-36.pyc
3 �ft`�������������������@���s<��d�dl�mZ�d�dl�mZ�d�dl�mZ�d�dlmZ�d�dlZd�dlZd�dl Zd�dl Zd�dlZd�dlZd�dl Z d�dlZyd�dlmZ�d�dlmZ�W�n<�ek r����d�dlZG�dd ��d e�ZG�d d��de�ZY�nX�dZejd �Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zejdd���Zdd��Z d"dd�Z!G�d d!��d!e�Z"dS�)#�����)�print_function)�absolute_import)�unicode_literals)�_N)�Context)�Datac���������������@���sV���e�Zd�Zdd��Zdd��Zdd��Zedd���Zejd d���Zd d��Z dd ��Z dd��ZdS�)r���c�������������C���s���t�j��|�jd<�d�S�)N�ctx)�gpgmer����__dict__)�self��r����/usr/lib/python3.6/crypto.py�__init__*���s����zContext.__init__c�������������C���s���|�S�)Nr���)r���r���r���r ���� __enter__-���s����zContext.__enter__c�������������C���s���d�S�)Nr���)r����type�value�tbr���r���r ����__exit__0���s����zContext.__exit__c�������������C���s���|�j�jS�)N)r����armor)r���r���r���r ���r���3���s����z Context.armorc�������������C���s���||�j�_d�S�)N)r���r���)r���r���r���r���r ���r���7���s����c�������������C���s$���t�|t�rtj|�}|�jj|��d�S�)N)� isinstanceZ basestring�io�BytesIOr����import_)r����key_for���r���r ���� op_import;���s���� zContext.op_importc�������������C���s���|�j�j||��d�S�)N)r���Zexport)r����pattern�modeZkeydatar���r���r ���� op_export@���s����zContext.op_exportc�������������C���s���t�|�j|�S�)N)�getattrr���)r����namer���r���r ����__getattr__C���s����zContext.__getattr__N)�__name__� __module__�__qualname__r���r���r����propertyr����setterr���r���r ���r���r���r���r ���r���)���s���r���c���������������@���s4���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��ZdS�)r���c�������������C���s���t�j��|�jd<�d�S�)N�buf)r���r���r ���)r���r���r���r ���r���H���s����z Data.__init__c�������������C���s���|�S�)Nr���)r���r���r���r ���r���K���s����zData.__enter__c�������������C���s���d�S�)Nr���)r���r���r���r���r���r���r ���r���N���s����z Data.__exit__c�������������C���s ���|�j�j��S�)N)r&����getvalue)r���r���r���r ����readQ���s����z Data.readc�������������C���s���t�|�j|�S�)N)r���r&���)r���r���r���r���r ���r ���T���s����zData.__getattr__N)r!���r"���r#���r���r���r���r(���r ���r���r���r���r ���r���G���s ���r���Z GNUPGHOME�dnfc�������������C���s���t�jjdd��|�jD���S�)Nc�������������s���s���|�]}|j�r|V��qd�S�)N)Zcan_sign)�.0�subkeyr���r���r ���� <genexpr>]���s����z*_extract_signing_subkey.<locals>.<genexpr>)r)����util�firstZsubkeys)�keyr���r���r ����_extract_signing_subkey\���s����r0���c����������������s(�����fdd�t�dt���d�D��}dj|�S�)Nc�������������3���s���|�]}��||d����V��qdS�)����Nr���)r*����i)�fpr_hexr���r ���r,���a���s����z)_printable_fingerprint.<locals>.<genexpr>r���r1���� )�range�len�join)r3���Zsegmentsr���)r3���r ����_printable_fingerprint`���s����r8���c�������������C���s����|�j�}t|�}x�|�jD�]x}xrt||��D�]d}|j}||krNtjtd�|�j|��q&|�j j |�s\q&tjj j|j|j|dd��tjtd�|�j|��q&W�qW�d�S�)Nzrepo %s: 0x%s already importedF)�gpgdirZmake_ro_copyzrepo %s: imported key 0x%s.)Z_pubring_dir�keyids_from_pubringZgpgkey�retrieve�id_�logger�debugr����idZ_key_importZ_confirmr)���ZyumZmiscZimport_key_to_pubring�raw_key�short_id)�repor9���Z known_keys�keyurl�keyinfo�keyidr���r���r ����import_repo_keyse���s���� rF���c�������������C���sl���t�jj|��sg�S�t|���J�t���8}g�}x,|j��D�] }t|�}|d�k r0|j|j��q0W�|S�Q�R�X�W�d�Q�R�X�d�S�)N) �os�path�exists�pubring_dirr����keylistr0����appendrE���)r9���r���Zkeyids�kr+���r���r���r ���r:���v���s����r:���c�������������C���s8���t�d�|�j|�jt|�j�|�jjdd�f�}tjd|��d�S�)NzLImporting GPG key 0x%s: Userid : "%s" Fingerprint: %s From : %szfile://��z%s) r���rA����useridr8����fingerprint�url�replacer=����critical)rD����msgr���r���r ����log_key_import����s ����rU���c�������������C���s8���t�|���|tjjjkr&tjtd���ntjtd���d�S�)Nz0Verified using DNS record with DNSSEC signature.zNOT verified using DNS record.)rU���r)���ZdnssecZValidityZVALIDr=���rS���r���)rD���Z dns_resultr���r���r ����log_dns_key_import����s����rV���c�������������c���sF���t�jjtd��}|�t�jt<�z d�V��W�d�|d�kr6t�jt=�n |t�jt<�X�d�S�)N)rG����environ�get�GPG_HOME_ENV)rJ���Zorigr���r���r ���rJ�������s���� rJ���c�������������C���s����t�j��}g�}t|����t����}|j|���x2|j��D�]&}t|�}|d�krHq2|jt||���q2W�d|_ xF|D�]>}t ���.}|j|jd|��|j dtj��|j��|_W�d�Q�R�X�qhW�W�d�Q�R�X�W�d�Q�R�X�tjj|��|S�)NTr���)�tempfileZmkdtemprJ���r���r���rK���r0���rL����Keyr���r���r���r<����seekrG����SEEK_SETr(���r@���r)���r-���Zrm_rf)r���Zpb_dir�keyinfosr���r/���r+����infoZsinkr���r���r ����rawkey2infos����s"���� ,r`���c���������� ���C���sZ���|�j�d�rtjtd�|j|���tjj|�|d��}t|�}W�d�Q�R�X�x|D�] }|�|_ qHW�|S�)Nzhttp:z.retrieving repo key for %s unencrypted from %s)rB���) � startswithr=���Zwarningr���r?���r)���r-���Z_urlopenr`���rQ���)rC���rB���Zhandler^���rD���r���r���r ���r;�������s���� r;���c���������������@���s,���e�Zd�Zdd��Zedd���Zedd���ZdS�)r[���c�������������C���s6���|j�|�_|j|�_d�|�_|j|�_d�|�_|jd�j|�_ d�S�)Nr���) rE���r<���ZfprrP���r@���Z timestamprQ���ZuidsZuidrO���)r���r/���r+���r���r���r ���r�������s����zKey.__init__c�������������C���s&���t�jjrdnd}|�jdd���jd|�S�)N�0����0����i����)r)���ZpycompZPY3r<����rjust)r���Zrjr���r���r ���rA�������s����zKey.short_idc�������������C���s ���|�j�j��S�)N)rA����lower)r���r���r���r ����rpm_id����s����z Key.rpm_idN)r!���r"���r#���r���r$���rA���rg���r���r���r���r ���r[�������s���r[���)N)#Z __future__r���r���r���Zdnf.i18nr���� contextlibZ dnf.pycompr)���Zdnf.utilZdnf.yum.miscr���ZloggingrG���rZ���Zgpgr���r����ImportErrorr ����objectrY���Z getLoggerr=���r0���r8���rF���r:���rU���rV����contextmanagerrJ���r`���r;���r[���r���r���r���r ����<module>���s<���