|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.maverick.sshd.TransportProtocol
This class implements the SSH Transport Protocol for the SSHD server.
| Field Summary | |
static int |
AUTH_CANCELLED_BY_USER
Disconnect reason: Authentication was cancelled |
static int |
BY_APPLICATION
Disconnect reason: The application disconnected |
static java.lang.String |
CHARSET_ENCODING
Character set encoding. |
static int |
COMPRESSION_ERROR
Disconnect reason: A compression error occurred |
static int |
CONNECTED
Protocol state: The transport protocol is connected and services can be started or may already be active. |
static int |
CONNECTION_LOST
Disconnect reason: The connection was lost |
static int |
DISCONNECTED
Protocol state: The transport protocol has disconnected. |
static int |
HOST_KEY_NOT_VERIFIABLE
Disconnect reason: The host key supplied could not be verified |
static int |
HOST_NOT_ALLOWED
Disconnect reason: The host is not allowed |
static int |
ILLEGAL_USER_NAME
Disconnect reason: The user's name is illegal |
static int |
KEY_EXCHANGE_FAILED
Disconnect reason: Key exchange failed |
static java.lang.Object |
lock
|
static int |
MAC_ERROR
Disconnect reason: An error occurred verifying the MAC |
static int |
NEGOTIATING_PROTOCOL
Protocol state: Negotation of the protocol version |
static int |
NO_MORE_AUTH_METHODS_AVAILABLE
Disconnect reason: No more authentication methods are available |
static int |
numberOfConnections
|
static int |
PERFORMING_KEYEXCHANGE
Protocol state: The protocol is performing key exchange |
static int |
PROTOCOL_ERROR
Disconnect reason: A protocol error occurred |
static int |
PROTOCOL_VERSION_NOT_SUPPORTED
Disconnect reason: The protocol version is not supported |
static int |
RESERVED
Disconnect reason: Reserved |
static int |
SERVICE_NOT_AVAILABLE
Disconnect reason: The requested service is not available |
static int |
TOO_MANY_CONNECTIONS
Disconnect reason: Too many connections, try later |
| Constructor Summary | |
TransportProtocol(SshContext sshContext)
Create a default transport protocol instance in CLIENT_MODE. |
|
| Method Summary | |
void |
addEventListener(TransportProtocolListener listener)
|
void |
disconnect(int reason,
java.lang.String description)
Disconnect from the remote host. |
SshContext |
getContext()
|
java.net.InetAddress |
getLocalAddress()
Returns the local address to which the remote socket is connected. |
int |
getLocalPort()
Returns the local port to which the remote socket is connected. |
java.net.SocketAddress |
getRemoteAddress()
|
java.lang.String |
getRemoteIdentification()
|
int |
getRemotePort()
Returns the remote port of the connected socket. |
java.security.SecureRandom |
getRND()
Gets the secure random number generator for this transport. |
byte[] |
getSessionIdentifier()
|
SocketConnection |
getSocketConnection()
Get the SocketConnection for this connection. |
SshContext |
getSshContext()
|
int |
getState()
|
boolean |
idle()
Called when the selector framework is idle. |
boolean |
isConnected()
Determine if the protocol is still connected |
void |
onSocketClose()
Disconnects everything internally |
void |
onSocketConnect(SocketConnection connection)
The socket is connected and the protocol can now start. |
boolean |
onSocketRead(java.nio.ByteBuffer incomingData)
Called when the socket channel is reported to be ready for reading. |
void |
onSocketWrite(java.nio.ByteBuffer outgoingMessage)
Called when the socket channel is reported to be ready for writing. |
void |
postMessage(SshMessage msg)
|
void |
postMessage(SshMessage msg,
boolean kex)
|
void |
sendMessage(SshMessage msg)
Deprecated. use #postMessage() instead. |
void |
sendNewKeys()
|
boolean |
wantsToWrite()
Determines whether the protocol wants to write to the socket. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static java.lang.String CHARSET_ENCODING
public static final int NEGOTIATING_PROTOCOL
public static final int PERFORMING_KEYEXCHANGE
public static final int CONNECTED
public static final int DISCONNECTED
#getLastError(),
Constant Field Valuespublic static final int HOST_NOT_ALLOWED
public static final int PROTOCOL_ERROR
public static final int KEY_EXCHANGE_FAILED
public static final int RESERVED
public static final int MAC_ERROR
public static final int COMPRESSION_ERROR
public static final int SERVICE_NOT_AVAILABLE
public static final int PROTOCOL_VERSION_NOT_SUPPORTED
public static final int HOST_KEY_NOT_VERIFIABLE
public static final int CONNECTION_LOST
public static final int BY_APPLICATION
public static final int TOO_MANY_CONNECTIONS
public static final int AUTH_CANCELLED_BY_USER
public static final int NO_MORE_AUTH_METHODS_AVAILABLE
public static final int ILLEGAL_USER_NAME
public static int numberOfConnections
public static java.lang.Object lock
| Constructor Detail |
public TransportProtocol(SshContext sshContext)
java.io.IOException| Method Detail |
public SocketConnection getSocketConnection()
ProtocolEngineSocketConnection for this connection.
getSocketConnection in interface ProtocolEnginepublic void addEventListener(TransportProtocolListener listener)
public java.net.SocketAddress getRemoteAddress()
public int getRemotePort()
public SshContext getContext()
public void onSocketConnect(SocketConnection connection)
ProtocolEngine
onSocketConnect in interface ProtocolEngineconnection - SocketConnectionpublic boolean onSocketRead(java.nio.ByteBuffer incomingData)
onSocketRead in interface ProtocolEngineincomingData - ByteBuffer
public boolean isConnected()
isConnected in interface ProtocolEnginepublic boolean wantsToWrite()
ProtocolEngine
wantsToWrite in interface ProtocolEnginepublic boolean idle()
idle in interface IdleStateListenerpublic void sendMessage(SshMessage msg)
#postMessage() instead.
SshMessage.
msg - SshMessagepublic void onSocketWrite(java.nio.ByteBuffer outgoingMessage)
onSocketWrite in interface ProtocolEngineoutgoingMessage - ByteBufferpublic int getState()
public java.net.InetAddress getLocalAddress()
public int getLocalPort()
public java.lang.String getRemoteIdentification()
public byte[] getSessionIdentifier()
public void disconnect(int reason,
java.lang.String description)
disconnect in interface ProtocolEnginereason - description -
java.io.IOExceptionpublic void onSocketClose()
onSocketClose in interface ProtocolEnginepublic java.security.SecureRandom getRND()
public void sendNewKeys()
public SshContext getSshContext()
public void postMessage(SshMessage msg)
public void postMessage(SshMessage msg,
boolean kex)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||