Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/twisted/conch/ssh/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/twisted/conch/ssh/__pycache__/factory.cpython-310.pyc
o

�b��@s^dZddlZddlmZddlmZmZmZmZddl	m
Z
ddlmZGdd�de
j
�ZdS)	z�
A Factory for SSH servers.

See also L{twisted.conch.openssh_compat.factory} for OpenSSH compatibility.

Maintainer: Paul Swartz
�N)�error)�_kex�
connection�	transport�userauth)�protocol)�Loggerc@sbeZdZdZe�ZejZe	j
ejd�Z
dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)�
SSHFactoryz$
    A Factory for SSH servers.
    )�ssh-userauthsssh-connectioncCsZt|d�s
|��|_t|d�s|��|_|jr|jst�d��t|d�s+|��|_dSdS)z4
        Check for public and private keys.
        �
publicKeys�privateKeyszno host keys, failing�primesN)	�hasattr�
getPublicKeysr�getPrivateKeysrr�
ConchError�	getPrimesr
��self�r�;/usr/lib/python3/dist-packages/twisted/conch/ssh/factory.py�startFactory"s





�zSSHFactory.startFactorycCsBtj�||�}|j��|_|js|j�d�dd�|j	D�|_	|S)a=
        Create an instance of the server side of the SSH protocol.

        @type addr: L{twisted.internet.interfaces.IAddress} provider
        @param addr: The address at which the server will listen.

        @rtype: L{twisted.conch.ssh.transport.SSHServerTransport}
        @return: The built transport.
        zTdisabling non-fixed-group key exchange algorithms because we cannot find moduli filecSs$g|]}t�|�st�|�r|�qSr)r�isFixedGroup�isEllipticCurve)�.0�kexAlgorithmrrr�
<listcomp>@s���z,SSHFactory.buildProtocol.<locals>.<listcomp>)
r�Factory�
buildProtocolr�keys�supportedPublicKeysr
�_log�info�supportedKeyExchanges)r�addr�trrrr/s
��zSSHFactory.buildProtocolcC�td��)z�
        Called when the factory is started to get the public portions of the
        servers host keys.  Returns a dictionary mapping SSH key types to
        public key strings.

        @rtype: L{dict}
        zgetPublicKeys unimplemented��NotImplementedErrorrrrrrG�zSSHFactory.getPublicKeyscCr&)z�
        Called when the factory is started to get the  private portions of the
        servers host keys.  Returns a dictionary mapping SSH key types to
        L{twisted.conch.ssh.keys.Key} objects.

        @rtype: L{dict}
        zgetPrivateKeys unimplementedr'rrrrrQr)zSSHFactory.getPrivateKeyscCsdS)z�
        Called when the factory is started to get Diffie-Hellman generators and
        primes to use.  Returns a dictionary mapping number of bits to lists
        of tuple of (generator, prime).

        @rtype: L{dict}
        Nrrrrrr[szSSHFactory.getPrimescs2t|j���fdd�d�}|d}t�|j|�S)z�
        Return a tuple of (g, p) for a Diffe-Hellman process, with p being as
        close to bits bits as possible.

        @type bits: L{int}
        @rtype:     L{tuple}
        cst|��S)N)�abs)�i��bitsrr�<lambda>lsz'SSHFactory.getDHPrime.<locals>.<lambda>)�keyr)�sortedr
r�random�choice)rr-�
primesKeys�realBitsrr,r�
getDHPrimedszSSHFactory.getDHPrimecCs |dks	t|d�r|j|SdS)z�
        Return a class to use as a service for the given transport.

        @type transport:    L{transport.SSHServerTransport}
        @type service:      L{bytes}
        @rtype:             subclass of L{service.SSHService}
        r
�avatarN)r�services)rr�servicerrr�
getServiceps
�zSSHFactory.getServiceN)�__name__�
__module__�__qualname__�__doc__rr!r�SSHServerTransportrr�SSHUserAuthServerr�
SSHConnectionr7rrrrrr5r9rrrrr	s�


	r	)r=r1�
twisted.conchr�twisted.conch.sshrrrr�twisted.internetr�twisted.loggerrrr	rrrr�<module>s	

Spamworldpro Mini