�
Ϫ�f u � �^ � d Z g d�ZddlZddlmZ ddlmZ ddlmZm Z ddl
mZ ddlm
Z
dd lmZmZ dd
lmZ ddlmZmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 G d� de5� Z6 G d� de� Z7 G d� d� Z8 G d� d e� Z9 G d!� d"e� Z: G d#� d$e� Z; G d%� d&e� Z< e e)� G d'� d(� � Z= G d)� d*� Z> e e7� G d+� d,� � Z? e e7� G d-� d.� � Z@y)/z7
Endpoint implementations of various SSH interactions.
)�AuthenticationFailed�SSHCommandAddress�SSHCommandClientEndpoint� N)�
expanduser)�unpack)� Interface�implementer)�SSHAgentClient)�_KNOWN_HOSTS)� ConsoleUI�KnownHostsFile)�
SSHChannel)�NS�getNS)�
SSHConnection)�Key)�SSHClientTransport)�SSHUserAuthClient)�CancelledError�Deferred�succeed)�TCP4ClientEndpoint�connectProtocol)�ConnectionDone�ProcessTerminated)�IStreamClientEndpoint)�Factory)�Logger)�nativeString�
networkString)�Failure)�FilePathc � � e Zd ZdZy)r z`
An SSH session could not be established because authentication was not
successful.
N)�__name__�
__module__�__qualname__�__doc__� � �9/usr/lib/python3/dist-packages/twisted/conch/endpoints.pyr r % s � �r) r c � � e Zd ZdZd� Zd� Zy)�_ISSHConnectionCreatorzS
An L{_ISSHConnectionCreator} knows how to create SSH connections somehow.
c � � y)z�
Return a new, connected, secured, but not yet authenticated instance of
L{twisted.conch.ssh.transport.SSHServerTransport} or
L{twisted.conch.ssh.transport.SSHClientTransport}.
Nr( r( r) r* �secureConnectionz'_ISSHConnectionCreator.secureConnection2 � � r) c � � y)a�
Perform cleanup necessary for a connection object previously returned
from this creator's C{secureConnection} method.
@param connection: An L{twisted.conch.ssh.transport.SSHServerTransport}
or L{twisted.conch.ssh.transport.SSHClientTransport} returned by a
previous call to C{secureConnection}. It is no longer needed by
the caller of that method and may be closed or otherwise cleaned up
as necessary.
@param immediate: If C{True} don't wait for any network communication,
just close the connection immediately and as aggressively as
necessary.
Nr( )�
connection� immediates r* �cleanupConnectionz(_ISSHConnectionCreator.cleanupConnection9 r/ r) N)r$ r% r& |