HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/twisted/conch/openssh_compat/__pycache__/factory.cpython-310.pyc
o

�b�	�@sVdZddlZddlZddlmZddlmZmZmZddl	m
Z
Gdd�dej�ZdS)z^
Factory for reading openssh configuration files: public keys, private keys, and
moduli file.
�N)�primes)�common�factory�keys)�runAsEffectiveUserc@s,eZdZdZdZdd�Zdd�Zdd�ZdS)	�OpenSSHFactoryz/usr/local/etccCs�i}t�|j�D]I}|dd�dkrQ|dd�dkrQztj�tj�|j|��}t�	|�
��d}|||<WqtyP}z|jj
d||d�WYd}~qd}~wwq|S)	z0
        Return the server public keys.
        N�	�	ssh_host_i����z_key.pubr�'bad public key file {filename}: {error}��filename�error)�os�listdir�dataRootr�Key�fromFile�path�joinr�getNS�blob�	Exception�_logr
)�self�ksr�k�t�e�r�F/usr/lib/python3/dist-packages/twisted/conch/openssh_compat/factory.py�
getPublicKeyss" ����zOpenSSHFactory.getPublicKeyscCs�i}t�|j�D]l}|dd�dkrt|dd�dkrttj�|j|�}ztj�|�}WnCtyS}z|j	t	j
krHtddtjj|�}|||��<n�WYd}~qd}~wt
ym}z|jjd||d�WYd}~qd}~ww|||��<q|S)	z1
        Return the server private keys.
        Nrr	����_keyrr
r)rrrrrrrr�OSError�errno�EACCESr�sshTyperrr
)r�privateKeysr�fullPath�keyrrrr�getPrivateKeys*s0 ������zOpenSSHFactory.getPrivateKeyscCs(z	t�|jd�WStyYdSw)Nz/moduli)r�parseModuliFile�
moduliRootr#)rrrr�	getPrimesEs
�zOpenSSHFactory.getPrimesN)�__name__�
__module__�__qualname__rr,r r*r-rrrrrsr)
�__doc__r$r�twisted.conch.openssh_compatr�twisted.conch.sshrrr�twisted.python.utilr�
SSHFactoryrrrrr�<module>s