Class ChannelManager

  • All Implemented Interfaces:
    MessageHandler

    public class ChannelManager
    extends java.lang.Object
    implements MessageHandler
    ChannelManager. Please read the comments in Channel.java.

    Besides the crypto part, this is the core of the library.

    • Method Detail

      • registerX11Cookie

        public void registerX11Cookie​(java.lang.String hexFakeCookie,
                                      X11ServerData data)
      • unRegisterX11Cookie

        public void unRegisterX11Cookie​(java.lang.String hexFakeCookie,
                                        boolean killChannels)
      • checkX11Cookie

        public X11ServerData checkX11Cookie​(java.lang.String hexFakeCookie)
      • closeAllChannels

        public void closeAllChannels()
      • closeChannel

        public void closeChannel​(Channel c,
                                 java.lang.String reason,
                                 boolean force)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • sendEOF

        public void sendEOF​(Channel c)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • sendOpenConfirmation

        public void sendOpenConfirmation​(Channel c)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • sendData

        public void sendData​(Channel c,
                             byte[] buffer,
                             int pos,
                             int len)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • requestGlobalForward

        public int requestGlobalForward​(java.lang.String bindAddress,
                                        int bindPort,
                                        java.lang.String targetAddress,
                                        int targetPort)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • requestCancelGlobalForward

        public void requestCancelGlobalForward​(int bindPort)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • registerThread

        public void registerThread​(com.trilead.ssh2.channel.IChannelWorkerThread thr)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • openDirectTCPIPChannel

        public Channel openDirectTCPIPChannel​(java.lang.String host_to_connect,
                                              int port_to_connect,
                                              java.lang.String originator_IP_address,
                                              int originator_port)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • openSessionChannel

        public Channel openSessionChannel()
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • requestGlobalTrileadPing

        public void requestGlobalTrileadPing()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • requestChannelTrileadPing

        public void requestChannelTrileadPing​(Channel c)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • requestPTY

        public void requestPTY​(Channel c,
                               java.lang.String term,
                               int term_width_characters,
                               int term_height_characters,
                               int term_width_pixels,
                               int term_height_pixels,
                               byte[] terminal_modes)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • requestX11

        public void requestX11​(Channel c,
                               boolean singleConnection,
                               java.lang.String x11AuthenticationProtocol,
                               java.lang.String x11AuthenticationCookie,
                               int x11ScreenNumber)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • requestSubSystem

        public void requestSubSystem​(Channel c,
                                     java.lang.String subSystemName)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • requestExecCommand

        public void requestExecCommand​(Channel c,
                                       java.lang.String cmd)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • requestShell

        public void requestShell​(Channel c)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelExtendedData

        public void msgChannelExtendedData​(byte[] msg,
                                           int msglen)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • waitForCondition

        public int waitForCondition​(Channel c,
                                    long timeout,
                                    int condition_mask)
        Wait until for a condition.
        Parameters:
        c - Channel
        timeout - in ms, 0 means no timeout.
        condition_mask - minimum event mask
        Returns:
        all current events
      • getAvailable

        public int getAvailable​(Channel c,
                                boolean extended)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getChannelData

        public int getChannelData​(Channel c,
                                  boolean extended,
                                  byte[] target,
                                  int off,
                                  int len)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelData

        public void msgChannelData​(byte[] msg,
                                   int msglen)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelWindowAdjust

        public void msgChannelWindowAdjust​(byte[] msg,
                                           int msglen)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelOpen

        public void msgChannelOpen​(byte[] msg,
                                   int msglen)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelRequest

        public void msgChannelRequest​(byte[] msg,
                                      int msglen)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelEOF

        public void msgChannelEOF​(byte[] msg,
                                  int msglen)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelClose

        public void msgChannelClose​(byte[] msg,
                                    int msglen)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelSuccess

        public void msgChannelSuccess​(byte[] msg,
                                      int msglen)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelFailure

        public void msgChannelFailure​(byte[] msg,
                                      int msglen)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelOpenConfirmation

        public void msgChannelOpenConfirmation​(byte[] msg,
                                               int msglen)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • msgChannelOpenFailure

        public void msgChannelOpenFailure​(byte[] msg,
                                          int msglen)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • msgGlobalRequest

        public void msgGlobalRequest​(byte[] msg,
                                     int msglen)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • msgGlobalSuccess

        public void msgGlobalSuccess()
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • msgGlobalFailure

        public void msgGlobalFailure()
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • handleMessage

        public void handleMessage​(byte[] msg,
                                  int msglen)
                           throws java.io.IOException
        Specified by:
        handleMessage in interface MessageHandler
        Throws:
        java.io.IOException