https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/hgext/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/hgext/__pycache__/gpg.cpython-310.pyc
o

�]Lb,�@s�dZddlmZddlZddlZddlmZddlmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZddlmZmZiZe�e�ZdZiZe�e�Zed	d
d	d�ed	ddd�ed	d
ddd�d	Zej�ej�ejj�e�deje<Gdd�de �Z!dd�Z"dd�Z#dd�Z$edged�ed�dd��Z%edged�ed�d d!��Z&d"d#�Z'ed$d%d&ded'�fd(d)ded*�fd+d,ded-�fd.dd+ed/�ed0�fd1d2d+ed3�ed4�fd5d6d7ed8�fgej(ed9�ed�d:d;��Z)d<d=�Z*d>d?�Z+d@dA�Z,dS)Bz&commands to sign and verify changesets�)�absolute_importN)�_)�bin�hex�short)�cmdutil�error�help�match�pycompat�	registrar)�dateutil�procutilsships-with-hg-core�gpg�cmd)�default�keys.*T)r�genericsSigning changes (GPG)c@s&eZdZddd�Zdd�Zdd�ZdS)	�gpgNcCs||_|r	d|p
d|_dS)Ns --local-user "%s"�)�path�key)�selfrr�r�+/usr/lib/python3/dist-packages/hgext/gpg.py�__init__Eszgpg.__init__cCsd|j|jf}t�||�S)Ns%s --sign --detach-sign%s)rrr�filter)r�data�gpgcmdrrr�signIszgpg.signcCs�d}}zYtjddd�\}}t�|d�}|�|�|��tjddd�\}}t�|d�}|�|�|��d|j||f}t�d|�}W||fD]}	z	|	rRt�	|	�WqHt
y\YqHwn||fD]}	z	|	rlt�	|	�Wqbt
yvYqbwwg}
d	\}}|��D]Y}
|
�d
�s�q�|
dd�}
|
�d�r�|
�
�d
}q�|
�d�r�|
�
dd�dd�}|�d�d}q�|
�d�s�|
�d�s�|
�d�s�|
�d�r�|dur�|
�||g�|
�
dd�}d}q�|dur�|
�||g�|
S)z&returns of the good and bad signaturesNshg-gpg-s.sig)�prefix�suffix�wbs.txts1%s --logger-fd 1 --status-fd 1 --verify "%s" "%s"r)NNs[GNUPG:]�	sVALIDSIG�
�ERRSIG� ��sGOODSIG�EXPSIG�	EXPKEYSIG�BADSIG)r�mkstemp�os�fdopen�write�closerrr�unlink�OSError�
splitlines�
startswith�split�append)rr�sig�sigfile�datafile�fd�fpr�ret�f�keysr�fingerprint�lrrr�verifyMs~

���
���
���



�����z
gpg.verify)N)�__name__�
__module__�__qualname__rrrArrrrrDs
rcKs0|�dd�}|�d�}|s|�dd�}t||�S)zcreate a new gpg instancerrrr)�config�getr)�ui�opts�gpgpath�gpgkeyrrr�newgpg�s


rKccs��dd�}|�d�}t|���D]}dt|�}||�|���|�D]}|Vq"qzd}||�|�|�D]}|Vq4WdStyFYdSw)zb
    walk over every sigs, yields a couple
    ((node, version, sig), (filename, linenumber))
    css8�d}|D]}|s
q|�dd�||ffV|d7}qdS)N�r&r()r5)�fileiter�context�lnr@rrr�	parsefile�s�
�zsigwalk.<locals>.parsefile�.hgsigss
.hgsigs|%s�	localsigsN)�file�reversed�headsr�readr3�vfs�IOError)�reporP�fl�r�fn�itemrrr�sigwalk�s �
	���r^cCs|\}}|\}}}	d||f}
t|�}t|||�}t�|	�}	|�||	�}g}
|D]_}|ddkr>|�td�|
|df�q(|ddkrR|�td�|
|df�q(|dd	krf|�td
�|
|df�n|ddkry|�td�|
|df�|
�|d|d|d
f�q(|
S)zget the keys who signed a datas%s:%drr%s%s Unknown key ID "%s"
rLr+s%s Bad signature from "%s"
r(r)s1%s Note: Signature has expired (signed by: "%s")
r*s0%s Note: This key has expired (signed by: "%s")
r')r�node2txt�binascii�
a2b_base64rAr/rr6)rGrY�mygpg�sigdatarNr\rO�node�versionr7r rr>�	validkeysrrrr�getkeys�s:


��
��rgssigsshg sigs)�helpcategoryc	Cs�t|�}i}t|�D]G\}}|\}}}|\}	}
z|�|�}Wnty2|�td�|	|
f�Yq
w|j�|�}t|||||�}
|
sDq
|�	|g�||�
|
�q
t|dd�D]!}||D]}d|t|j�
|��f}|�dt||�|f�q^qXdS)zlist signed changesetss%s:%d node does not exist
T)�reverses%5d:%ss	%-30s %s
N)rKr^�lookup�KeyError�warnr�	changelog�revrg�
setdefault�extend�sortedrrdr/�keystr)rGrYrb�revsrrNrdrer7r\rO�nr[r>rn�krrr�sigs�s.
���rvssigcheckshg sigcheck REVc
Cs�t|�}|�|�}t|�}g}t|�D]\}}|\}}	}
||kr/t|||||�}|r/|�|�q|s?|�td�t|��dS|�td�t|��|D]}|�dt	||��qLdS)z@verify all the signatures there may be for a particular revisionsno valid signature for %s
Ns%s is signed by:
s %s
)
rKrjrr^rgrpr/rrrr)
rGrYrnrb�hexrevr>rrNrdrer7rurrrr�sigcheck�s$


��rxcCs*|\}}}|�d|�}|rd||fS|S)z/associate a string to a key (username, comment)rs%s (%s))rE)rGr�keyid�userr?�commentrrrrrs

rrssign�l�localsmake the signature local�f�forces$sign even if the sigfile is modifiedrs	no-commits'do not commit the sigfile after signing�ksthe key id to sign withsID�m�messagesuse text as commit messagesTEXT�eseditFs invoke editor on commit messagesshg sign [OPTION]... [REV]...cOsD|���t||g|�Ri|��Wd�S1swYdS)atadd a signature for the current or given revision

    If no revision is given, the parent of the working directory is used,
    or tip if no revision is checked out.

    The ``gpg.cmd`` config setting can be used to specify the command
    to run. A default key can be specified with ``gpg.key``.

    See :hg:`help dates` for a list of formats valid for -d/--date.
    N)�wlock�_dosign)rGrYrsrHrrrr
s
$�rc
s@t|fi|��}t�|�}d}d}|�d�}|rt�|�|d<|r+�fdd�|D�}n!�fdd��j��D�}t|�dkrDt	�
td���|sL�j�
�g}|D]?}	t|	�}
|�td	��j�|	�t|	�f�t�|	|�}|�|�}|syt	�
td
���t�|�}|�dd�}|d|
||f7}qN|d
r��j�d|�dS|ds�t�dg�}
t�j|
ddd��r�t	j
td�td�d����dd�}|�|�|��d�jvrֈd�dg�|dr�dS|d}|s�d� dd�|D��}zt!j"dddit�#|���}�j$||d|d|
|d�WdSt%�y}zt	�
t�&|���d}~ww)N�0rsdatecsg|]}��|��qSr)rj��.0rt�rYrr�
<listcomp>:sz_dosign.<locals>.<listcomp>csg|]	}|�jkr|�qSr)�nullid)r�rdr�rrr�<srLs6uncommitted merge - please provide a specific revisionssigning %d:%s
serror while signing�
s	%s %s %s
r}rRrrQT)r
�unknown�ignoreds#working copy of .hgsigs is changed splease commit .hgsigs manually)�hintsabs	no_commitr�cSsg|]}dt|��qS)s Added signature for changeset %s)rr�rrrr�ms�editformsgpg.signsuser)r
�editorr)'rKr�byteskwargsrFr
�	parsedate�dirstate�parents�lenr�Abortrrm�tiprr/rnrr_rr`�
b2a_base64�replacerWr6r
�exact�any�status�wvfsr0�add�joinr�getcommiteditor�	strkwargs�commit�
ValueError�bytestr)rGrYrsrHrb�sigver�
sigmessage�date�nodesrt�hexnoderr7�msigs�sigsfile�messager��instrr�rr�/s~


��"

�

������r�cCs"|dkr
dt|�St�td���)zmap a manifest into some textr�s%s
sunknown signature version)rrr�r)rYrd�verrrrr_zsr_cCs&tj�tj�tj�t�dtjt<dS)NsGPG signing)r	�CATEGORY_ORDER�insert�index�command�CATEGORY_MAINTENANCE�_HELP_CATEGORY�CATEGORY_NAMES)rGrrr�extsetup�s�r�)-�__doc__�
__future__rr`r-�mercurial.i18nr�mercurial.noderrr�	mercurialrrr	r
rr�mercurial.utilsr
r�cmdtabler��
testedwith�configtable�
configitemr�r�r�r��
CATEGORY_HELPr��objectrrKr^rgrvrxrr�commitopts2rr�r_r�rrrr�<module>s� 

����
D	"


��
��
K

https://t.me/RX1948 - 2025