Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.mindbright.ssh
Class SSHChannelController

    java.lang.Object
      com.mindbright.ssh.SSH
          com.mindbright.ssh.SSHChannelController

All Implemented Interfaces:
  SSHChannelListener

public final class SSHChannelController
extends SSH
implements SSHChannelListener

Field Summary
`protected SSHConnectChannel` | `cnChan`
`protected Queue` | `cnQueue`
`protected SSHConsole` | `console`
`protected java.util.Vector` | `listenChannels`
`protected int` | `nextEmptyChan`
`protected SSHCipher` | `rcvCipher`
`protected SSHCompressor` | `rcvComp`
`protected SSHRxChannel` | `rxChan`
`protected SSHCipher` | `sndCipher`
`protected SSHCompressor` | `sndComp`
`protected SSH` | `sshHook`
`protected int` | `totalTunnels`
`protected java.lang.Object[]` | `tunnels`
`protected SSHTxChannel` | `txChan`
`protected Queue` | `txQueue`

Fields inherited from class com.mindbright.ssh.SSH
`AUTH_CRYPTOCARD, AUTH_DEFAULT, AUTH_HOSTBASED, AUTH_KBDINTERACT, AUTH_KERBEROS, AUTH_NOTSUPPORTED, AUTH_PASSWORD, AUTH_PUBLICKEY, AUTH_RHOSTS, AUTH_RHOSTS_RSA, AUTH_SDI, AUTH_TIS, authTypeDesc, CIPHER_3DES, CIPHER_BLOWFISH, CIPHER_DEFAULT, CIPHER_DES, CIPHER_IDEA, CIPHER_NONE, CIPHER_NOTSUPPORTED, CIPHER_RC4, CIPHER_RESERVED, CIPHER_TSS, cipherClasses, cipherType, CMSG_ACM_ACCESS_DENIED, CMSG_ACM_NEW_PIN, CMSG_ACM_NEW_PIN_ACCEPTED, CMSG_ACM_NEW_PIN_REJECTED, CMSG_ACM_NEW_PIN_REQUIRED, CMSG_ACM_NEXT_CODE, CMSG_ACM_NEXT_CODE_REQUIRED, CMSG_ACM_OK, CMSG_AGENT_REQUEST_FORWARDING, CMSG_AUTH_PASSWORD, CMSG_AUTH_RHOSTS, CMSG_AUTH_RHOSTS_RSA, CMSG_AUTH_RSA, CMSG_AUTH_RSA_RESPONSE, CMSG_AUTH_SDI, CMSG_AUTH_TIS, CMSG_AUTH_TIS_RESPONSE, CMSG_EOF, CMSG_EXEC_CMD, CMSG_EXEC_SHELL, CMSG_EXIT_CONFIRMATION, CMSG_MAX_PACKET_SIZE, CMSG_PORT_FORWARD_REQUEST, CMSG_REQUEST_COMPRESSION, CMSG_REQUEST_PTY, CMSG_SESSION_KEY, CMSG_STDIN_DATA, CMSG_USER, CMSG_WINDOW_SIZE, CMSG_X11_REQUEST_FORWARDING, CONNECT_CHAN_NUM, CVS_DATE, CVS_NAME, DEBUG, DEBUGMORE, DEFAULTPORT, HOST_KEY_LENGTH, IDX_CIPHER_CLASS, IDX_CIPHER_NAME, isAnSSHClient, KNOWN_HOSTS_FILE, LISTEN_CHAN_NUM, MAIN_CHAN_NUM, MSG_ANY, MSG_CHANNEL_CLOSE, MSG_CHANNEL_CLOSE_CONFIRMATION, MSG_CHANNEL_DATA, MSG_CHANNEL_INPUT_EOF, MSG_CHANNEL_OPEN_CONFIRMATION, MSG_CHANNEL_OPEN_FAILURE, MSG_CHANNEL_OUTPUT_CLOSED, MSG_DEBUG, MSG_DISCONNECT, MSG_IGNORE, MSG_NONE, MSG_PORT_OPEN, PASS_KERBEROS_TGT, protocolFlags, PROTOFLAG_HOST_IN_FWD_OPEN, PROTOFLAG_SCREEN_NUMBER, PROXY_HTTP, PROXY_NONE, PROXY_NOTSUPPORTED, PROXY_SOCKS4, PROXY_SOCKS5_DNS, PROXY_SOCKS5_IP, randomSeed, secureRandom, SERVER_KEY_LENGTH, SESSION_KEY_LENGTH, sessionId, sessionKey, SMSG_AGENT_OPEN, SMSG_AUTH_RSA_CHALLENGE, SMSG_AUTH_TIS_CHALLENGE, SMSG_EXITSTATUS, SMSG_FAILURE, SMSG_PUBLIC_KEY, SMSG_STDERR_DATA, SMSG_STDOUT_DATA, SMSG_SUCCESS, SMSG_X11_OPEN, SRV_HOSTKEY_CHANGED, SRV_HOSTKEY_KNOWN, SRV_HOSTKEY_NEW, srvCookie, srvHostKey, srvServerKey, SSH_VER_MAJOR, SSH_VER_MINOR, supportedAuthTypes, supportedCiphers, TTY_OP_END, TTY_OP_ISPEED, TTY_OP_OSPEED, UNKNOWN_CHAN_NUM, VER_MINDTERM, VER_MINDTUNL`

Constructor Summary
`SSHChannelController(SSH sshHook, java.io.InputStream in, java.io.OutputStream out, SSHCipher sndCipher, SSHCompressor sndComp, SSHCipher rcvCipher, SSHCompressor rcvComp, SSHConsole console, boolean haveCnxWatch)`

Method Summary
`void` | `addHostMapPermanent(java.lang.String fromHost, java.lang.String toHost, int toPort)`
`void` | `addHostMapTemporary(java.lang.String fromHost, java.lang.String toHost, int toPort)`
`void` | `addTunnel(SSHTunnel tunnel)`
`void` | `alert(java.lang.String msg)`
`void` | `close(SSHChannel chan)`
`void` | `closeTunnelFromList(int listIdx)`
`void` | `delHostMap(java.lang.String fromHost)`
`SSHTunnel` | `delTunnel(int channelId)`
`void` | `disconnect(java.lang.String reason)`
`Queue` | `getCnQueue()`
`java.util.Vector` | `getHostMap(java.lang.String fromHost)`
`boolean` | `haveHostInFwdOpen()`
`void` | `killAll()`
`void` | `killAllTunnels()`
`void` | `killListenChannel(java.lang.String localHost, int listenPort)`
`void` | `killListenChannels()`
`java.lang.String[]` | `listTunnels()`
`int` | `newChannelId()`
`SSHListenChannel` | `newListenChannel(java.lang.String localHost, int localPort, java.lang.String remoteHost, int remotePort, java.lang.String plugin)`
`SSHPdu` | `prepare(SSHPdu pdu)`
`void` | `receive(SSHPdu pdu)`
`void` | `sendDisconnect(java.lang.String reason)`
`protected SSHClient` | `sshAsClient()`
`void` | `start()`
`void` | `transmit(SSHPdu pdu)`
`void` | `waitForExit()`
`void` | `waitForExit(long msWait)`

Methods inherited from class com.mindbright.ssh.SSH
`getAltAuthName, getAuthName, getAuthType, getAuthTypes, getCipherName, getCipherType, getProxyType, getProxyTypes, getVersionId, haveSecureRandom, initCipher, initClientCipher, initSeedGenerator, initServerCipher, isAuthTypeSupported, isCipherSupported, isProtocolFlagSet, log, logDebug, logExtra, logIgnore, randomSeed, secureRandom`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### txChan

    protected SSHTxChannel txChan

### rxChan

    protected SSHRxChannel rxChan

### cnChan

    protected SSHConnectChannel cnChan

### txQueue

    protected Queue txQueue

### cnQueue

    protected Queue cnQueue

### totalTunnels

    protected int totalTunnels

### nextEmptyChan

    protected int nextEmptyChan

### tunnels

    protected java.lang.Object[] tunnels

### listenChannels

    protected java.util.Vector listenChannels

### sshHook

    protected SSH sshHook

### console

    protected SSHConsole console

### sndCipher

    protected SSHCipher sndCipher

### sndComp

    protected SSHCompressor sndComp

### rcvCipher

    protected SSHCipher rcvCipher

### rcvComp

    protected SSHCompressor rcvComp

Constructor Detail

### SSHChannelController

    public SSHChannelController(SSH sshHook,
                                java.io.InputStream in,
                                java.io.OutputStream out,
                                SSHCipher sndCipher,
                                SSHCompressor sndComp,
                                SSHCipher rcvCipher,
                                SSHCompressor rcvComp,
                                SSHConsole console,
                                boolean haveCnxWatch)

Method Detail

### start

    public void start()

### waitForExit

    public void waitForExit()
                     throws java.lang.InterruptedException

  Throws:
    `java.lang.InterruptedException`

### waitForExit

    public void waitForExit(long msWait)
                     throws java.lang.InterruptedException

  Throws:
    `java.lang.InterruptedException`

### killAll

    public void killAll()

### newChannelId

    public int newChannelId()

### listTunnels

    public java.lang.String[] listTunnels()

### closeTunnelFromList

    public void closeTunnelFromList(int listIdx)

### killAllTunnels

    public void killAllTunnels()

### addTunnel

    public void addTunnel(SSHTunnel tunnel)
                   throws java.io.IOException

  Throws:
    `java.io.IOException`

### delTunnel

    public SSHTunnel delTunnel(int channelId)

### haveHostInFwdOpen

    public boolean haveHostInFwdOpen()

### newListenChannel

    public SSHListenChannel newListenChannel(java.lang.String localHost,
                                             int localPort,
                                             java.lang.String remoteHost,
                                             int remotePort,
                                             java.lang.String plugin)
                                      throws java.io.IOException

  Throws:
    `java.io.IOException`

### killListenChannel

    public void killListenChannel(java.lang.String localHost,
                                  int listenPort)

### killListenChannels

    public void killListenChannels()

### prepare

    public SSHPdu prepare(SSHPdu pdu)

  Specified by:
    `prepare` in interface `SSHChannelListener`

### transmit

    public void transmit(SSHPdu pdu)

  Specified by:
    `transmit` in interface `SSHChannelListener`

### receive

    public void receive(SSHPdu pdu)

  Specified by:
    `receive` in interface `SSHChannelListener`

### close

    public void close(SSHChannel chan)

  Specified by:
    `close` in interface `SSHChannelListener`

### disconnect

    public void disconnect(java.lang.String reason)

### sendDisconnect

    public void sendDisconnect(java.lang.String reason)

### alert

    public void alert(java.lang.String msg)

### sshAsClient

    protected SSHClient sshAsClient()

### getCnQueue

    public Queue getCnQueue()

### addHostMapTemporary

    public void addHostMapTemporary(java.lang.String fromHost,
                                    java.lang.String toHost,
                                    int toPort)

### addHostMapPermanent

    public void addHostMapPermanent(java.lang.String fromHost,
                                    java.lang.String toHost,
                                    int toPort)

### delHostMap

    public void delHostMap(java.lang.String fromHost)

### getHostMap

    public java.util.Vector getHostMap(java.lang.String fromHost)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD