com.sshtools.daemon.transport
Class TransportProtocolServer

java.lang.Object
  extended bycom.sshtools.j2ssh.transport.TransportProtocolCommon
      extended bycom.sshtools.daemon.transport.TransportProtocolServer
All Implemented Interfaces:
java.lang.Runnable, TransportProtocol

public class TransportProtocolServer
extends TransportProtocolCommon

DOCUMENT ME!


Field Summary
 
Fields inherited from class com.sshtools.j2ssh.transport.TransportProtocolCommon
algorithmsIn, algorithmsOut, clientIdent, clientKexInit, completeOnNewKeys, EOL_CRLF, EOL_LF, hostKey, hosts, k, kexs, messageStore, properties, PROTOCOL_VERSION, serverIdent, serverKexInit, sessionIdentifier, signature, SOFTWARE_VERSION_COMMENTS, sshIn, sshOut, state
 
Constructor Summary
TransportProtocolServer()
          Creates a new TransportProtocolServer object.
TransportProtocolServer(boolean refuse)
          Creates a new TransportProtocolServer object.
 
Method Summary
 void acceptService(Service service)
          DOCUMENT ME!
protected  SshMsgKexInit createLocalKexInit()
          DOCUMENT ME!
protected  java.lang.String getDecryptionAlgorithm()
          DOCUMENT ME!
protected  java.lang.String getEncryptionAlgorithm()
          DOCUMENT ME!
protected  java.lang.String getInputStreamCompAlgortihm()
          DOCUMENT ME!
protected  java.lang.String getInputStreamMacAlgorithm()
          DOCUMENT ME!
 java.lang.String getLocalId()
          DOCUMENT ME!
protected  SshMsgKexInit getLocalKexInit()
          DOCUMENT ME!
protected  java.lang.String getOutputStreamCompAlgorithm()
          DOCUMENT ME!
protected  java.lang.String getOutputStreamMacAlgorithm()
          DOCUMENT ME!
 java.lang.String getRemoteId()
          DOCUMENT ME!
protected  SshMsgKexInit getRemoteKexInit()
          DOCUMENT ME!
protected  void onDisconnect()
          DOCUMENT ME!
protected  void onMessageReceived(SshMessage msg)
          DOCUMENT ME!
protected  void onStartTransportProtocol()
          DOCUMENT ME!
protected  void performKeyExchange(SshKeyExchange kex)
          DOCUMENT ME!
 void refuseConnection()
          DOCUMENT ME!
 void registerTransportMessages()
          DOCUMENT ME!
protected  void setLocalIdent()
          DOCUMENT ME!
protected  void setLocalKexInit(SshMsgKexInit msg)
          DOCUMENT ME!
protected  void setRemoteIdent(java.lang.String ident)
          DOCUMENT ME!
protected  void setRemoteKexInit(SshMsgKexInit msg)
          DOCUMENT ME!
protected  void setupNewKeys(byte[] encryptCSKey, byte[] encryptCSIV, byte[] encryptSCKey, byte[] encryptSCIV, byte[] macCSKey, byte[] macSCKey)
          DOCUMENT ME!
protected  void startBinaryPacketProtocol()
          DOCUMENT ME!
 
Methods inherited from class com.sshtools.j2ssh.transport.TransportProtocolCommon
addEventHandler, addMessageStore, beginKeyExchange, completeKeyExchange, determineAlgorithm, disconnect, getConnectionId, getEventHandlers, getIncomingByteCount, getKexAlgorithm, getOutgoingByteCount, getProperties, getRemoteEOL, getSessionIdentifier, getState, getUnderlyingProviderDetail, onCorruptMac, processMessages, readMessage, removeMessageStore, run, sendDisconnect, sendDisconnect, sendKeyExchangeInit, sendMessage, sendNewKeys, setKexTimeout, setKexTransferLimit, setSendIgnore, startTransportProtocol, stop, unregisterMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransportProtocolServer

public TransportProtocolServer()
                        throws java.io.IOException
Creates a new TransportProtocolServer object.

Throws:
java.io.IOException - DOCUMENT ME!

TransportProtocolServer

public TransportProtocolServer(boolean refuse)
                        throws java.io.IOException
Creates a new TransportProtocolServer object.

Parameters:
refuse - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!
Method Detail

onDisconnect

protected void onDisconnect()
DOCUMENT ME!

Specified by:
onDisconnect in class TransportProtocolCommon

acceptService

public void acceptService(Service service)
                   throws java.io.IOException
DOCUMENT ME!

Parameters:
service - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!

refuseConnection

public void refuseConnection()
                      throws java.io.IOException
DOCUMENT ME!

Throws:
java.io.IOException - DOCUMENT ME!

registerTransportMessages

public void registerTransportMessages()
                               throws MessageAlreadyRegisteredException
DOCUMENT ME!

Specified by:
registerTransportMessages in class TransportProtocolCommon
Throws:
MessageAlreadyRegisteredException - DOCUMENT ME!

startBinaryPacketProtocol

protected void startBinaryPacketProtocol()
                                  throws java.io.IOException
DOCUMENT ME!

Overrides:
startBinaryPacketProtocol in class TransportProtocolCommon
Throws:
java.io.IOException - DOCUMENT ME!

getDecryptionAlgorithm

protected java.lang.String getDecryptionAlgorithm()
                                           throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getDecryptionAlgorithm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

getEncryptionAlgorithm

protected java.lang.String getEncryptionAlgorithm()
                                           throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getEncryptionAlgorithm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

getInputStreamCompAlgortihm

protected java.lang.String getInputStreamCompAlgortihm()
                                                throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getInputStreamCompAlgortihm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

getInputStreamMacAlgorithm

protected java.lang.String getInputStreamMacAlgorithm()
                                               throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getInputStreamMacAlgorithm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

setLocalIdent

protected void setLocalIdent()
DOCUMENT ME!

Specified by:
setLocalIdent in class TransportProtocolCommon

getLocalId

public java.lang.String getLocalId()
DOCUMENT ME!

Specified by:
getLocalId in class TransportProtocolCommon
Returns:
DOCUMENT ME!

setLocalKexInit

protected void setLocalKexInit(SshMsgKexInit msg)
DOCUMENT ME!

Specified by:
setLocalKexInit in class TransportProtocolCommon
Parameters:
msg - DOCUMENT ME!

getLocalKexInit

protected SshMsgKexInit getLocalKexInit()
DOCUMENT ME!

Specified by:
getLocalKexInit in class TransportProtocolCommon
Returns:
DOCUMENT ME!

getOutputStreamCompAlgorithm

protected java.lang.String getOutputStreamCompAlgorithm()
                                                 throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getOutputStreamCompAlgorithm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

getOutputStreamMacAlgorithm

protected java.lang.String getOutputStreamMacAlgorithm()
                                                throws AlgorithmNotAgreedException
DOCUMENT ME!

Specified by:
getOutputStreamMacAlgorithm in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!

setRemoteIdent

protected void setRemoteIdent(java.lang.String ident)
DOCUMENT ME!

Specified by:
setRemoteIdent in class TransportProtocolCommon
Parameters:
ident - DOCUMENT ME!

getRemoteId

public java.lang.String getRemoteId()
DOCUMENT ME!

Specified by:
getRemoteId in class TransportProtocolCommon
Returns:
DOCUMENT ME!

setRemoteKexInit

protected void setRemoteKexInit(SshMsgKexInit msg)
DOCUMENT ME!

Specified by:
setRemoteKexInit in class TransportProtocolCommon
Parameters:
msg - DOCUMENT ME!

getRemoteKexInit

protected SshMsgKexInit getRemoteKexInit()
DOCUMENT ME!

Specified by:
getRemoteKexInit in class TransportProtocolCommon
Returns:
DOCUMENT ME!

createLocalKexInit

protected SshMsgKexInit createLocalKexInit()
                                    throws java.io.IOException
DOCUMENT ME!

Overrides:
createLocalKexInit in class TransportProtocolCommon
Returns:
DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!
TransportProtocolException - DOCUMENT ME!

onStartTransportProtocol

protected void onStartTransportProtocol()
                                 throws java.io.IOException
DOCUMENT ME!

Specified by:
onStartTransportProtocol in class TransportProtocolCommon
Throws:
java.io.IOException - DOCUMENT ME!

performKeyExchange

protected void performKeyExchange(SshKeyExchange kex)
                           throws java.io.IOException
DOCUMENT ME!

Specified by:
performKeyExchange in class TransportProtocolCommon
Parameters:
kex - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!
KeyExchangeException - DOCUMENT ME!

onMessageReceived

protected void onMessageReceived(SshMessage msg)
                          throws java.io.IOException
DOCUMENT ME!

Specified by:
onMessageReceived in class TransportProtocolCommon
Parameters:
msg - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!

setupNewKeys

protected void setupNewKeys(byte[] encryptCSKey,
                            byte[] encryptCSIV,
                            byte[] encryptSCKey,
                            byte[] encryptSCIV,
                            byte[] macCSKey,
                            byte[] macSCKey)
                     throws AlgorithmNotAgreedException,
                            AlgorithmOperationException,
                            AlgorithmNotSupportedException,
                            AlgorithmInitializationException
DOCUMENT ME!

Specified by:
setupNewKeys in class TransportProtocolCommon
Parameters:
encryptCSKey - DOCUMENT ME!
encryptCSIV - DOCUMENT ME!
encryptSCKey - DOCUMENT ME!
encryptSCIV - DOCUMENT ME!
macCSKey - DOCUMENT ME!
macSCKey - DOCUMENT ME!
Throws:
AlgorithmNotAgreedException - DOCUMENT ME!
AlgorithmOperationException - DOCUMENT ME!
AlgorithmNotSupportedException - DOCUMENT ME!
AlgorithmInitializationException - DOCUMENT ME!