| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!--NewPage--> |
| <HTML> |
| <HEAD> |
| <!-- Generated by javadoc (build 1.5.0_12) on Tue Apr 01 14:48:48 CEST 2008 --> |
| <TITLE> |
| Connection |
| </TITLE> |
| |
| <META NAME="keywords" CONTENT="com.trilead.ssh2.Connection class"> |
| |
| <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> |
| |
| <SCRIPT type="text/javascript"> |
| function windowTitle() |
| { |
| parent.document.title="Connection"; |
| } |
| </SCRIPT> |
| <NOSCRIPT> |
| </NOSCRIPT> |
| |
| </HEAD> |
| |
| <BODY BGCOLOR="white" onload="windowTitle();"> |
| |
| |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <A NAME="navbar_top"><!-- --></A> |
| <A HREF="#skip-navbar_top" title="Skip navigation links"></A> |
| <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> |
| <TR> |
| <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> |
| <A NAME="navbar_top_firstrow"><!-- --></A> |
| <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> |
| <TR ALIGN="center" VALIGN="top"> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../com/trilead/ssh2/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Connection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
| </TR> |
| </TABLE> |
| </TD> |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
| Trilead SSH-2 for Java</EM> |
| </TD> |
| </TR> |
| |
| <TR> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../com/trilead/ssh2/ChannelCondition.html" title="interface in com.trilead.ssh2"><B>PREV CLASS</B></A> |
| <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><B>NEXT CLASS</B></A></FONT></TD> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../index.html?com/trilead/ssh2/Connection.html" target="_top"><B>FRAMES</B></A> |
| <A HREF="Connection.html" target="_top"><B>NO FRAMES</B></A> |
| <SCRIPT type="text/javascript"> |
| <!-- |
| if(window==top) { |
| document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); |
| } |
| //--> |
| </SCRIPT> |
| <NOSCRIPT> |
| <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> |
| </NOSCRIPT> |
| |
| |
| </FONT></TD> |
| </TR> |
| <TR> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> |
| </TR> |
| </TABLE> |
| <A NAME="skip-navbar_top"></A> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| |
| <HR> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <H2> |
| <FONT SIZE="-1"> |
| com.trilead.ssh2</FONT> |
| <BR> |
| Class Connection</H2> |
| <PRE> |
| java.lang.Object |
| <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.trilead.ssh2.Connection</B> |
| </PRE> |
| <HR> |
| <DL> |
| <DT><PRE>public class <B>Connection</B><DT>extends java.lang.Object</DL> |
| </PRE> |
| |
| <P> |
| A <code>Connection</code> is used to establish an encrypted TCP/IP |
| connection to a SSH-2 server. |
| <p> |
| Typically, one |
| <ol> |
| <li>creates a <A HREF="../../../com/trilead/ssh2/Connection.html#Connection(java.lang.String)"><CODE>Connection</CODE></A> object.</li> |
| <li>calls the <A HREF="../../../com/trilead/ssh2/Connection.html#connect()"><CODE>connect()</CODE></A> method.</li> |
| <li>calls some of the authentication methods (e.g., |
| <A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPublicKey(java.lang.String, java.io.File, java.lang.String)"><CODE>authenticateWithPublicKey()</CODE></A>).</li> |
| <li>calls one or several times the <A HREF="../../../com/trilead/ssh2/Connection.html#openSession()"><CODE>openSession()</CODE></A> |
| method.</li> |
| <li>finally, one must close the connection and release resources with the |
| <A HREF="../../../com/trilead/ssh2/Connection.html#close()"><CODE>close()</CODE></A> method.</li> |
| </ol> |
| <P> |
| |
| <P> |
| <DL> |
| <DT><B>Version:</B></DT> |
| <DD>$Id: Connection.java,v 1.3 2008/04/01 12:38:09 cplattne Exp $</DD> |
| <DT><B>Author:</B></DT> |
| <DD>Christian Plattner, plattner@trilead.com</DD> |
| </DL> |
| <HR> |
| |
| <P> |
| <!-- =========== FIELD SUMMARY =========== --> |
| |
| <A NAME="field_summary"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> |
| <B>Field Summary</B></FONT></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE>static java.lang.String</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#identification">identification</A></B></CODE> |
| |
| <BR> |
| The identifier presented to the SSH-2 server.</TD> |
| </TR> |
| </TABLE> |
| |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| |
| <A NAME="constructor_summary"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> |
| <B>Constructor Summary</B></FONT></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#Connection(java.lang.String)">Connection</A></B>(java.lang.String hostname)</CODE> |
| |
| <BR> |
| Prepares a fresh <code>Connection</code> object which can then be used |
| to establish a connection to the specified SSH-2 server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#Connection(java.lang.String, int)">Connection</A></B>(java.lang.String hostname, |
| int port)</CODE> |
| |
| <BR> |
| Prepares a fresh <code>Connection</code> object which can then be used |
| to establish a connection to the specified SSH-2 server.</TD> |
| </TR> |
| </TABLE> |
| |
| <!-- ========== METHOD SUMMARY =========== --> |
| |
| <A NAME="method_summary"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> |
| <B>Method Summary</B></FONT></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#addConnectionMonitor(com.trilead.ssh2.ConnectionMonitor)">addConnectionMonitor</A></B>(<A HREF="../../../com/trilead/ssh2/ConnectionMonitor.html" title="interface in com.trilead.ssh2">ConnectionMonitor</A> cmon)</CODE> |
| |
| <BR> |
| Add a <A HREF="../../../com/trilead/ssh2/ConnectionMonitor.html" title="interface in com.trilead.ssh2"><CODE>ConnectionMonitor</CODE></A> to this connection.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithDSA(java.lang.String, java.lang.String, java.lang.String)">authenticateWithDSA</A></B>(java.lang.String user, |
| java.lang.String pem, |
| java.lang.String password)</CODE> |
| |
| <BR> |
| <B>Deprecated.</B> <I>You should use one of the |
| <A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPublicKey(java.lang.String, java.io.File, java.lang.String)"><CODE>authenticateWithPublicKey()</CODE></A> |
| methods, this method is just a wrapper for it and will |
| disappear in future builds.</I></TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithKeyboardInteractive(java.lang.String, com.trilead.ssh2.InteractiveCallback)">authenticateWithKeyboardInteractive</A></B>(java.lang.String user, |
| <A HREF="../../../com/trilead/ssh2/InteractiveCallback.html" title="interface in com.trilead.ssh2">InteractiveCallback</A> cb)</CODE> |
| |
| <BR> |
| A wrapper that calls |
| <A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithKeyboardInteractive(java.lang.String, java.lang.String[], com.trilead.ssh2.InteractiveCallback)"><CODE>authenticateWithKeyboardInteractivewith</CODE></A> a <code>null</code> submethod |
| list.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithKeyboardInteractive(java.lang.String, java.lang.String[], com.trilead.ssh2.InteractiveCallback)">authenticateWithKeyboardInteractive</A></B>(java.lang.String user, |
| java.lang.String[] submethods, |
| <A HREF="../../../com/trilead/ssh2/InteractiveCallback.html" title="interface in com.trilead.ssh2">InteractiveCallback</A> cb)</CODE> |
| |
| <BR> |
| After a successful connect, one has to authenticate oneself.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithNone(java.lang.String)">authenticateWithNone</A></B>(java.lang.String user)</CODE> |
| |
| <BR> |
| After a successful connect, one has to authenticate oneself.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPassword(java.lang.String, java.lang.String)">authenticateWithPassword</A></B>(java.lang.String user, |
| java.lang.String password)</CODE> |
| |
| <BR> |
| After a successful connect, one has to authenticate oneself.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPublicKey(java.lang.String, char[], java.lang.String)">authenticateWithPublicKey</A></B>(java.lang.String user, |
| char[] pemPrivateKey, |
| java.lang.String password)</CODE> |
| |
| <BR> |
| After a successful connect, one has to authenticate oneself.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPublicKey(java.lang.String, java.io.File, java.lang.String)">authenticateWithPublicKey</A></B>(java.lang.String user, |
| java.io.File pemFile, |
| java.lang.String password)</CODE> |
| |
| <BR> |
| A convenience wrapper function which reads in a private key (PEM format, |
| either DSA or RSA) and then calls |
| <code>authenticateWithPublicKey(String, char[], String)</code>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#cancelRemotePortForwarding(int)">cancelRemotePortForwarding</A></B>(int bindPort)</CODE> |
| |
| <BR> |
| Cancel an earlier requested remote port forwarding.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#close()">close</A></B>()</CODE> |
| |
| <BR> |
| Close the connection to the SSH-2 server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#connect()">connect</A></B>()</CODE> |
| |
| <BR> |
| Same as |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(null, 0, 0)</CODE></A>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier)">connect</A></B>(<A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html" title="interface in com.trilead.ssh2">ServerHostKeyVerifier</A> verifier)</CODE> |
| |
| <BR> |
| Same as |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(verifier, 0, 0)</CODE></A>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)">connect</A></B>(<A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html" title="interface in com.trilead.ssh2">ServerHostKeyVerifier</A> verifier, |
| int connectTimeout, |
| int kexTimeout)</CODE> |
| |
| <BR> |
| Connect to the SSH-2 server and, as soon as the server has presented its |
| host key, use the |
| <A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html#verifyServerHostKey(java.lang.String, int, java.lang.String, byte[])"><CODE>ServerHostKeyVerifier.verifyServerHostKey()</CODE></A> method of the |
| <code>verifier</code> to ask for permission to proceed.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2">LocalPortForwarder</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#createLocalPortForwarder(java.net.InetSocketAddress, java.lang.String, int)">createLocalPortForwarder</A></B>(java.net.InetSocketAddress addr, |
| java.lang.String host_to_connect, |
| int port_to_connect)</CODE> |
| |
| <BR> |
| Creates a new <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2">LocalPortForwarder</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#createLocalPortForwarder(int, java.lang.String, int)">createLocalPortForwarder</A></B>(int local_port, |
| java.lang.String host_to_connect, |
| int port_to_connect)</CODE> |
| |
| <BR> |
| Creates a new <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/LocalStreamForwarder.html" title="class in com.trilead.ssh2">LocalStreamForwarder</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#createLocalStreamForwarder(java.lang.String, int)">createLocalStreamForwarder</A></B>(java.lang.String host_to_connect, |
| int port_to_connect)</CODE> |
| |
| <BR> |
| Creates a new <A HREF="../../../com/trilead/ssh2/LocalStreamForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalStreamForwarder</CODE></A>.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/SCPClient.html" title="class in com.trilead.ssh2">SCPClient</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#createSCPClient()">createSCPClient</A></B>()</CODE> |
| |
| <BR> |
| Create a very basic <A HREF="../../../com/trilead/ssh2/SCPClient.html" title="class in com.trilead.ssh2"><CODE>SCPClient</CODE></A> that can be used to copy files |
| from/to the SSH-2 server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#enableDebugging(boolean, com.trilead.ssh2.DebugLogger)">enableDebugging</A></B>(boolean enable, |
| <A HREF="../../../com/trilead/ssh2/DebugLogger.html" title="interface in com.trilead.ssh2">DebugLogger</A> logger)</CODE> |
| |
| <BR> |
| Enable/disable debug logging.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#forceKeyExchange()">forceKeyExchange</A></B>()</CODE> |
| |
| <BR> |
| Force an asynchronous key re-exchange (the call does not block).</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE>static java.lang.String[]</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getAvailableCiphers()">getAvailableCiphers</A></B>()</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE>static java.lang.String[]</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getAvailableMACs()">getAvailableMACs</A></B>()</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE>static java.lang.String[]</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getAvailableServerHostKeyAlgorithms()">getAvailableServerHostKeyAlgorithms</A></B>()</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getConnectionInfo()">getConnectionInfo</A></B>()</CODE> |
| |
| <BR> |
| Returns a <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><CODE>ConnectionInfo</CODE></A> object containing the details of the |
| connection.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> java.lang.String</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getHostname()">getHostname</A></B>()</CODE> |
| |
| <BR> |
| Returns the hostname that was passed to the constructor.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> int</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getPort()">getPort</A></B>()</CODE> |
| |
| <BR> |
| Returns the port that was passed to the constructor.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> java.lang.String[]</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#getRemainingAuthMethods(java.lang.String)">getRemainingAuthMethods</A></B>(java.lang.String user)</CODE> |
| |
| <BR> |
| After a successful connect, one has to authenticate oneself.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#isAuthenticationComplete()">isAuthenticationComplete</A></B>()</CODE> |
| |
| <BR> |
| Determines if the authentication phase is complete.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#isAuthenticationPartialSuccess()">isAuthenticationPartialSuccess</A></B>()</CODE> |
| |
| <BR> |
| Returns true if there was at least one failed authentication request and |
| the last failed authentication request was marked with "partial success" |
| by the server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> boolean</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#isAuthMethodAvailable(java.lang.String, java.lang.String)">isAuthMethodAvailable</A></B>(java.lang.String user, |
| java.lang.String method)</CODE> |
| |
| <BR> |
| Checks if a specified authentication method is available.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> <A HREF="../../../com/trilead/ssh2/Session.html" title="class in com.trilead.ssh2">Session</A></CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#openSession()">openSession</A></B>()</CODE> |
| |
| <BR> |
| Open a new <A HREF="../../../com/trilead/ssh2/Session.html" title="class in com.trilead.ssh2"><CODE>Session</CODE></A> on this connection.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#ping()">ping</A></B>()</CODE> |
| |
| <BR> |
| This method can be used to perform end-to-end connection testing.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#requestRemotePortForwarding(java.lang.String, int, java.lang.String, int)">requestRemotePortForwarding</A></B>(java.lang.String bindAddress, |
| int bindPort, |
| java.lang.String targetAddress, |
| int targetPort)</CODE> |
| |
| <BR> |
| Request a remote port forwarding.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#sendIgnorePacket()">sendIgnorePacket</A></B>()</CODE> |
| |
| <BR> |
| Send an SSH_MSG_IGNORE packet.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#sendIgnorePacket(byte[])">sendIgnorePacket</A></B>(byte[] data)</CODE> |
| |
| <BR> |
| Send an SSH_MSG_IGNORE packet with the given data attribute.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setClient2ServerCiphers(java.lang.String[])">setClient2ServerCiphers</A></B>(java.lang.String[] ciphers)</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setClient2ServerMACs(java.lang.String[])">setClient2ServerMACs</A></B>(java.lang.String[] macs)</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setDHGexParameters(com.trilead.ssh2.DHGexParameters)">setDHGexParameters</A></B>(<A HREF="../../../com/trilead/ssh2/DHGexParameters.html" title="class in com.trilead.ssh2">DHGexParameters</A> dgp)</CODE> |
| |
| <BR> |
| Sets the parameters for the diffie-hellman group exchange.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setProxyData(com.trilead.ssh2.ProxyData)">setProxyData</A></B>(<A HREF="../../../com/trilead/ssh2/ProxyData.html" title="interface in com.trilead.ssh2">ProxyData</A> proxyData)</CODE> |
| |
| <BR> |
| Used to tell the library that the connection shall be established through |
| a proxy server.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setSecureRandom(java.security.SecureRandom)">setSecureRandom</A></B>(java.security.SecureRandom rnd)</CODE> |
| |
| <BR> |
| Provide your own instance of SecureRandom.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setServer2ClientCiphers(java.lang.String[])">setServer2ClientCiphers</A></B>(java.lang.String[] ciphers)</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setServer2ClientMACs(java.lang.String[])">setServer2ClientMACs</A></B>(java.lang.String[] macs)</CODE> |
| |
| <BR> |
| Unless you know what you are doing, you will never need this.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setServerHostKeyAlgorithms(java.lang.String[])">setServerHostKeyAlgorithms</A></B>(java.lang.String[] algos)</CODE> |
| |
| <BR> |
| Define the set of allowed server host key algorithms to be used for the |
| following key exchange operations.</TD> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> |
| <CODE> void</CODE></FONT></TD> |
| <TD><CODE><B><A HREF="../../../com/trilead/ssh2/Connection.html#setTCPNoDelay(boolean)">setTCPNoDelay</A></B>(boolean enable)</CODE> |
| |
| <BR> |
| Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm) on the |
| underlying socket.</TD> |
| </TR> |
| </TABLE> |
| <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> |
| <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> |
| </TR> |
| <TR BGCOLOR="white" CLASS="TableRowColor"> |
| <TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> |
| </TR> |
| </TABLE> |
| |
| <P> |
| |
| <!-- ============ FIELD DETAIL =========== --> |
| |
| <A NAME="field_detail"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> |
| <B>Field Detail</B></FONT></TH> |
| </TR> |
| </TABLE> |
| |
| <A NAME="identification"><!-- --></A><H3> |
| identification</H3> |
| <PRE> |
| public static final java.lang.String <B>identification</B></PRE> |
| <DL> |
| <DD>The identifier presented to the SSH-2 server. |
| <P> |
| <DL> |
| <DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.trilead.ssh2.Connection.identification">Constant Field Values</A></DL> |
| </DL> |
| |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| |
| <A NAME="constructor_detail"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> |
| <B>Constructor Detail</B></FONT></TH> |
| </TR> |
| </TABLE> |
| |
| <A NAME="Connection(java.lang.String)"><!-- --></A><H3> |
| Connection</H3> |
| <PRE> |
| public <B>Connection</B>(java.lang.String hostname)</PRE> |
| <DL> |
| <DD>Prepares a fresh <code>Connection</code> object which can then be used |
| to establish a connection to the specified SSH-2 server. |
| <p> |
| Same as <A HREF="../../../com/trilead/ssh2/Connection.html#Connection(java.lang.String, int)"><CODE>Connection(hostname, 22)</CODE></A>. |
| <P> |
| <DL> |
| <DT><B>Parameters:</B><DD><CODE>hostname</CODE> - the hostname of the SSH-2 server.</DL> |
| </DL> |
| <HR> |
| |
| <A NAME="Connection(java.lang.String, int)"><!-- --></A><H3> |
| Connection</H3> |
| <PRE> |
| public <B>Connection</B>(java.lang.String hostname, |
| int port)</PRE> |
| <DL> |
| <DD>Prepares a fresh <code>Connection</code> object which can then be used |
| to establish a connection to the specified SSH-2 server. |
| <P> |
| <DL> |
| <DT><B>Parameters:</B><DD><CODE>hostname</CODE> - the host where we later want to connect to.<DD><CODE>port</CODE> - port on the server, normally 22.</DL> |
| </DL> |
| |
| <!-- ============ METHOD DETAIL ========== --> |
| |
| <A NAME="method_detail"><!-- --></A> |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> |
| <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> |
| <B>Method Detail</B></FONT></TH> |
| </TR> |
| </TABLE> |
| |
| <A NAME="getAvailableCiphers()"><!-- --></A><H3> |
| getAvailableCiphers</H3> |
| <PRE> |
| public static java.lang.String[] <B>getAvailableCiphers</B>()</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>The list of supported cipher algorithms by this implementation.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getAvailableMACs()"><!-- --></A><H3> |
| getAvailableMACs</H3> |
| <PRE> |
| public static java.lang.String[] <B>getAvailableMACs</B>()</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>The list of supported MAC algorthims by this implementation.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getAvailableServerHostKeyAlgorithms()"><!-- --></A><H3> |
| getAvailableServerHostKeyAlgorithms</H3> |
| <PRE> |
| public static java.lang.String[] <B>getAvailableServerHostKeyAlgorithms</B>()</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>The list of supported server host key algorthims by this |
| implementation.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithDSA(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> |
| authenticateWithDSA</H3> |
| <PRE> |
| public boolean <B>authenticateWithDSA</B>(java.lang.String user, |
| java.lang.String pem, |
| java.lang.String password) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD><B>Deprecated.</B> <I>You should use one of the |
| <A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithPublicKey(java.lang.String, java.io.File, java.lang.String)"><CODE>authenticateWithPublicKey()</CODE></A> |
| methods, this method is just a wrapper for it and will |
| disappear in future builds.</I> |
| <P> |
| <DD>After a successful connect, one has to authenticate oneself. This method |
| is based on DSA (it uses DSA to sign a challenge sent by the server). |
| <p> |
| If the authentication phase is complete, <code>true</code> will be |
| returned. If the server does not accept the request (or if further |
| authentication steps are needed), <code>false</code> is returned and |
| one can retry either by using this or any other authentication method |
| (use the <code>getRemainingAuthMethods</code> method to get a list of |
| the remaining possible methods). |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>pem</CODE> - A <code>String</code> containing the DSA private key of the |
| user in OpenSSH key format (PEM, you can't miss the |
| "-----BEGIN DSA PRIVATE KEY-----" tag). The string may contain |
| linefeeds.<DD><CODE>password</CODE> - If the PEM string is 3DES encrypted ("DES-EDE3-CBC"), then you |
| must specify the password. Otherwise, this argument will be |
| ignored and can be set to <code>null</code>. |
| <DT><B>Returns:</B><DD>whether the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithKeyboardInteractive(java.lang.String, com.trilead.ssh2.InteractiveCallback)"><!-- --></A><H3> |
| authenticateWithKeyboardInteractive</H3> |
| <PRE> |
| public boolean <B>authenticateWithKeyboardInteractive</B>(java.lang.String user, |
| <A HREF="../../../com/trilead/ssh2/InteractiveCallback.html" title="interface in com.trilead.ssh2">InteractiveCallback</A> cb) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>A wrapper that calls |
| <A HREF="../../../com/trilead/ssh2/Connection.html#authenticateWithKeyboardInteractive(java.lang.String, java.lang.String[], com.trilead.ssh2.InteractiveCallback)"><CODE>authenticateWithKeyboardInteractivewith</CODE></A> a <code>null</code> submethod |
| list. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>cb</CODE> - An <code>InteractiveCallback</code> which will be used to |
| determine the responses to the questions asked by the server. |
| <DT><B>Returns:</B><DD>whether the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithKeyboardInteractive(java.lang.String, java.lang.String[], com.trilead.ssh2.InteractiveCallback)"><!-- --></A><H3> |
| authenticateWithKeyboardInteractive</H3> |
| <PRE> |
| public boolean <B>authenticateWithKeyboardInteractive</B>(java.lang.String user, |
| java.lang.String[] submethods, |
| <A HREF="../../../com/trilead/ssh2/InteractiveCallback.html" title="interface in com.trilead.ssh2">InteractiveCallback</A> cb) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>After a successful connect, one has to authenticate oneself. This method |
| is based on "keyboard-interactive", specified in |
| draft-ietf-secsh-auth-kbdinteract-XX. Basically, you have to define a |
| callback object which will be feeded with challenges generated by the |
| server. Answers are then sent back to the server. It is possible that the |
| callback will be called several times during the invocation of this |
| method (e.g., if the server replies to the callback's answer(s) with |
| another challenge...) |
| <p> |
| If the authentication phase is complete, <code>true</code> will be |
| returned. If the server does not accept the request (or if further |
| authentication steps are needed), <code>false</code> is returned and |
| one can retry either by using this or any other authentication method |
| (use the <code>getRemainingAuthMethods</code> method to get a list of |
| the remaining possible methods). |
| <p> |
| Note: some SSH servers advertise "keyboard-interactive", however, any |
| interactive request will be denied (without having sent any challenge to |
| the client). |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>submethods</CODE> - An array of submethod names, see |
| draft-ietf-secsh-auth-kbdinteract-XX. May be <code>null</code> |
| to indicate an empty list.<DD><CODE>cb</CODE> - An <code>InteractiveCallback</code> which will be used to |
| determine the responses to the questions asked by the server. |
| <DT><B>Returns:</B><DD>whether the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithPassword(java.lang.String, java.lang.String)"><!-- --></A><H3> |
| authenticateWithPassword</H3> |
| <PRE> |
| public boolean <B>authenticateWithPassword</B>(java.lang.String user, |
| java.lang.String password) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>After a successful connect, one has to authenticate oneself. This method |
| sends username and password to the server. |
| <p> |
| If the authentication phase is complete, <code>true</code> will be |
| returned. If the server does not accept the request (or if further |
| authentication steps are needed), <code>false</code> is returned and |
| one can retry either by using this or any other authentication method |
| (use the <code>getRemainingAuthMethods</code> method to get a list of |
| the remaining possible methods). |
| <p> |
| Note: if this method fails, then please double-check that it is actually |
| offered by the server (use |
| <A HREF="../../../com/trilead/ssh2/Connection.html#getRemainingAuthMethods(java.lang.String)"><CODE>getRemainingAuthMethods()</CODE></A>. |
| <p> |
| Often, password authentication is disabled, but users are not aware of |
| it. Many servers only offer "publickey" and "keyboard-interactive". |
| However, even though "keyboard-interactive" *feels* like password |
| authentication (e.g., when using the putty or openssh clients) it is |
| *not* the same mechanism. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - <DD><CODE>password</CODE> - |
| <DT><B>Returns:</B><DD>if the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithNone(java.lang.String)"><!-- --></A><H3> |
| authenticateWithNone</H3> |
| <PRE> |
| public boolean <B>authenticateWithNone</B>(java.lang.String user) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>After a successful connect, one has to authenticate oneself. This method |
| can be used to explicitly use the special "none" authentication method |
| (where only a username has to be specified). |
| <p> |
| Note 1: The "none" method may always be tried by clients, however as by |
| the specs, the server will not explicitly announce it. In other words, |
| the "none" token will never show up in the list returned by |
| <A HREF="../../../com/trilead/ssh2/Connection.html#getRemainingAuthMethods(java.lang.String)"><CODE>getRemainingAuthMethods(String)</CODE></A>. |
| <p> |
| Note 2: no matter which one of the authenticateWithXXX() methods you |
| call, the library will always issue exactly one initial "none" |
| authentication request to retrieve the initially allowed list of |
| authentication methods by the server. Please read RFC 4252 for the |
| details. |
| <p> |
| If the authentication phase is complete, <code>true</code> will be |
| returned. If further authentication steps are needed, <code>false</code> |
| is returned and one can retry by any other authentication method (use the |
| <code>getRemainingAuthMethods</code> method to get a list of the |
| remaining possible methods). |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - |
| <DT><B>Returns:</B><DD>if the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithPublicKey(java.lang.String, char[], java.lang.String)"><!-- --></A><H3> |
| authenticateWithPublicKey</H3> |
| <PRE> |
| public boolean <B>authenticateWithPublicKey</B>(java.lang.String user, |
| char[] pemPrivateKey, |
| java.lang.String password) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>After a successful connect, one has to authenticate oneself. The |
| authentication method "publickey" works by signing a challenge sent by |
| the server. The signature is either DSA or RSA based - it just depends on |
| the type of private key you specify, either a DSA or RSA private key in |
| PEM format. And yes, this is may seem to be a little confusing, the |
| method is called "publickey" in the SSH-2 protocol specification, however |
| since we need to generate a signature, you actually have to supply a |
| private key =). |
| <p> |
| The private key contained in the PEM file may also be encrypted |
| ("Proc-Type: 4,ENCRYPTED"). The library supports DES-CBC and DES-EDE3-CBC |
| encryption, as well as the more exotic PEM encrpytions AES-128-CBC, |
| AES-192-CBC and AES-256-CBC. |
| <p> |
| If the authentication phase is complete, <code>true</code> will be |
| returned. If the server does not accept the request (or if further |
| authentication steps are needed), <code>false</code> is returned and |
| one can retry either by using this or any other authentication method |
| (use the <code>getRemainingAuthMethods</code> method to get a list of |
| the remaining possible methods). |
| <p> |
| NOTE PUTTY USERS: Event though your key file may start with |
| "-----BEGIN..." it is not in the expected format. You have to convert it |
| to the OpenSSH key format by using the "puttygen" tool (can be downloaded |
| from the Putty website). Simply load your key and then use the |
| "Conversions/Export OpenSSH key" functionality to get a proper PEM file. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>pemPrivateKey</CODE> - A <code>char[]</code> containing a DSA or RSA private key of |
| the user in OpenSSH key format (PEM, you can't miss the |
| "-----BEGIN DSA PRIVATE KEY-----" or "-----BEGIN RSA PRIVATE |
| KEY-----" tag). The char array may contain |
| linebreaks/linefeeds.<DD><CODE>password</CODE> - If the PEM structure is encrypted ("Proc-Type: 4,ENCRYPTED") |
| then you must specify a password. Otherwise, this argument |
| will be ignored and can be set to <code>null</code>. |
| <DT><B>Returns:</B><DD>whether the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="authenticateWithPublicKey(java.lang.String, java.io.File, java.lang.String)"><!-- --></A><H3> |
| authenticateWithPublicKey</H3> |
| <PRE> |
| public boolean <B>authenticateWithPublicKey</B>(java.lang.String user, |
| java.io.File pemFile, |
| java.lang.String password) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>A convenience wrapper function which reads in a private key (PEM format, |
| either DSA or RSA) and then calls |
| <code>authenticateWithPublicKey(String, char[], String)</code>. |
| <p> |
| NOTE PUTTY USERS: Event though your key file may start with |
| "-----BEGIN..." it is not in the expected format. You have to convert it |
| to the OpenSSH key format by using the "puttygen" tool (can be downloaded |
| from the Putty website). Simply load your key and then use the |
| "Conversions/Export OpenSSH key" functionality to get a proper PEM file. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>pemFile</CODE> - A <code>File</code> object pointing to a file containing a |
| DSA or RSA private key of the user in OpenSSH key format (PEM, |
| you can't miss the "-----BEGIN DSA PRIVATE KEY-----" or |
| "-----BEGIN RSA PRIVATE KEY-----" tag).<DD><CODE>password</CODE> - If the PEM file is encrypted then you must specify the |
| password. Otherwise, this argument will be ignored and can be |
| set to <code>null</code>. |
| <DT><B>Returns:</B><DD>whether the connection is now authenticated. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="addConnectionMonitor(com.trilead.ssh2.ConnectionMonitor)"><!-- --></A><H3> |
| addConnectionMonitor</H3> |
| <PRE> |
| public void <B>addConnectionMonitor</B>(<A HREF="../../../com/trilead/ssh2/ConnectionMonitor.html" title="interface in com.trilead.ssh2">ConnectionMonitor</A> cmon)</PRE> |
| <DL> |
| <DD>Add a <A HREF="../../../com/trilead/ssh2/ConnectionMonitor.html" title="interface in com.trilead.ssh2"><CODE>ConnectionMonitor</CODE></A> to this connection. Can be invoked at any |
| time, but it is best to add connection monitors before invoking |
| <code>connect()</code> to avoid glitches (e.g., you add a connection |
| monitor after a successful connect(), but the connection has died in the |
| mean time. Then, your connection monitor won't be notified.) |
| <p> |
| You can add as many monitors as you like. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>cmon</CODE> - An object implementing the <code>ConnectionMonitor</code> |
| interface.<DT><B>See Also:</B><DD><A HREF="../../../com/trilead/ssh2/ConnectionMonitor.html" title="interface in com.trilead.ssh2"><CODE>ConnectionMonitor</CODE></A></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="close()"><!-- --></A><H3> |
| close</H3> |
| <PRE> |
| public void <B>close</B>()</PRE> |
| <DL> |
| <DD>Close the connection to the SSH-2 server. All assigned sessions will be |
| closed, too. Can be called at any time. Don't forget to call this once |
| you don't need a connection anymore - otherwise the receiver thread may |
| run forever. |
| <P> |
| <DD><DL> |
| </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="connect()"><!-- --></A><H3> |
| connect</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A> <B>connect</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Same as |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(null, 0, 0)</CODE></A>. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>see comments for the |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(ServerHostKeyVerifier, int, int)</CODE></A> |
| method. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="connect(com.trilead.ssh2.ServerHostKeyVerifier)"><!-- --></A><H3> |
| connect</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A> <B>connect</B>(<A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html" title="interface in com.trilead.ssh2">ServerHostKeyVerifier</A> verifier) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Same as |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(verifier, 0, 0)</CODE></A>. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>see comments for the |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><CODE>connect(ServerHostKeyVerifier, int, int)</CODE></A> |
| method. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="connect(com.trilead.ssh2.ServerHostKeyVerifier, int, int)"><!-- --></A><H3> |
| connect</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A> <B>connect</B>(<A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html" title="interface in com.trilead.ssh2">ServerHostKeyVerifier</A> verifier, |
| int connectTimeout, |
| int kexTimeout) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Connect to the SSH-2 server and, as soon as the server has presented its |
| host key, use the |
| <A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html#verifyServerHostKey(java.lang.String, int, java.lang.String, byte[])"><CODE>ServerHostKeyVerifier.verifyServerHostKey()</CODE></A> method of the |
| <code>verifier</code> to ask for permission to proceed. If |
| <code>verifier</code> is <code>null</code>, then any host key will |
| be accepted - this is NOT recommended, since it makes man-in-the-middle |
| attackes VERY easy (somebody could put a proxy SSH server between you and |
| the real server). |
| <p> |
| Note: The verifier will be called before doing any crypto calculations |
| (i.e., diffie-hellman). Therefore, if you don't like the presented host |
| key then no CPU cycles are wasted (and the evil server has less |
| information about us). |
| <p> |
| However, it is still possible that the server presented a fake host key: |
| the server cheated (typically a sign for a man-in-the-middle attack) and |
| is not able to generate a signature that matches its host key. Don't |
| worry, the library will detect such a scenario later when checking the |
| signature (the signature cannot be checked before having completed the |
| diffie-hellman exchange). |
| <p> |
| Note 2: The <A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html#verifyServerHostKey(java.lang.String, int, java.lang.String, byte[])"><CODE>ServerHostKeyVerifier.verifyServerHostKey()</CODE></A> method will |
| *NOT* be called from the current thread, the call is being made from a |
| background thread (there is a background dispatcher thread for every |
| established connection). |
| <p> |
| Note 3: This method will block as long as the key exchange of the |
| underlying connection has not been completed (and you have not specified |
| any timeouts). |
| <p> |
| Note 4: If you want to re-use a connection object that was successfully |
| connected, then you must call the <A HREF="../../../com/trilead/ssh2/Connection.html#close()"><CODE>close()</CODE></A> method before invoking |
| <code>connect()</code> again. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>verifier</CODE> - An object that implements the <A HREF="../../../com/trilead/ssh2/ServerHostKeyVerifier.html" title="interface in com.trilead.ssh2"><CODE>ServerHostKeyVerifier</CODE></A> |
| interface. Pass <code>null</code> to accept any server host |
| key - NOT recommended.<DD><CODE>connectTimeout</CODE> - Connect the underlying TCP socket to the server with the given |
| timeout value (non-negative, in milliseconds). Zero means no |
| timeout. If a proxy is being used (see |
| <A HREF="../../../com/trilead/ssh2/Connection.html#setProxyData(com.trilead.ssh2.ProxyData)"><CODE>setProxyData(ProxyData)</CODE></A>), then this timeout is used |
| for the connection establishment to the proxy.<DD><CODE>kexTimeout</CODE> - Timeout for complete connection establishment (non-negative, |
| in milliseconds). Zero means no timeout. The timeout counts |
| from the moment you invoke the connect() method and is |
| cancelled as soon as the first key-exchange round has |
| finished. It is possible that the timeout event will be fired |
| during the invocation of the <code>verifier</code> callback, |
| but it will only have an effect after the |
| <code>verifier</code> returns. |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><CODE>ConnectionInfo</CODE></A> object containing the details of the |
| established connection. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE> - If any problem occurs, e.g., the server's host key is not |
| accepted by the <code>verifier</code> or there is problem |
| during the initial crypto setup (e.g., the signature sent by |
| the server is wrong). |
| <p> |
| In case of a timeout (either connectTimeout or kexTimeout) a |
| SocketTimeoutException is thrown. |
| <p> |
| An exception may also be thrown if the connection was already |
| successfully connected (no matter if the connection broke in |
| the mean time) and you invoke <code>connect()</code> again |
| without having called <A HREF="../../../com/trilead/ssh2/Connection.html#close()"><CODE>close()</CODE></A> first. |
| <p> |
| If a HTTP proxy is being used and the proxy refuses the |
| connection, then a <A HREF="../../../com/trilead/ssh2/HTTPProxyException.html" title="class in com.trilead.ssh2"><CODE>HTTPProxyException</CODE></A> may be thrown, |
| which contains the details returned by the proxy. If the |
| proxy is buggy and does not return a proper HTTP response, |
| then a normal IOException is thrown instead.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="createLocalPortForwarder(int, java.lang.String, int)"><!-- --></A><H3> |
| createLocalPortForwarder</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2">LocalPortForwarder</A> <B>createLocalPortForwarder</B>(int local_port, |
| java.lang.String host_to_connect, |
| int port_to_connect) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Creates a new <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A>. A |
| <code>LocalPortForwarder</code> forwards TCP/IP connections that arrive |
| at a local port via the secure tunnel to another host (which may or may |
| not be identical to the remote SSH-2 server). |
| <p> |
| This method must only be called after one has passed successfully the |
| authentication step. There is no limit on the number of concurrent |
| forwardings. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>local_port</CODE> - the local port the LocalPortForwarder shall bind to.<DD><CODE>host_to_connect</CODE> - target address (IP or hostname)<DD><CODE>port_to_connect</CODE> - target port |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="createLocalPortForwarder(java.net.InetSocketAddress, java.lang.String, int)"><!-- --></A><H3> |
| createLocalPortForwarder</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2">LocalPortForwarder</A> <B>createLocalPortForwarder</B>(java.net.InetSocketAddress addr, |
| java.lang.String host_to_connect, |
| int port_to_connect) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Creates a new <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A>. A |
| <code>LocalPortForwarder</code> forwards TCP/IP connections that arrive |
| at a local port via the secure tunnel to another host (which may or may |
| not be identical to the remote SSH-2 server). |
| <p> |
| This method must only be called after one has passed successfully the |
| authentication step. There is no limit on the number of concurrent |
| forwardings. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>addr</CODE> - specifies the InetSocketAddress where the local socket shall |
| be bound to.<DD><CODE>host_to_connect</CODE> - target address (IP or hostname)<DD><CODE>port_to_connect</CODE> - target port |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/LocalPortForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalPortForwarder</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="createLocalStreamForwarder(java.lang.String, int)"><!-- --></A><H3> |
| createLocalStreamForwarder</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/LocalStreamForwarder.html" title="class in com.trilead.ssh2">LocalStreamForwarder</A> <B>createLocalStreamForwarder</B>(java.lang.String host_to_connect, |
| int port_to_connect) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Creates a new <A HREF="../../../com/trilead/ssh2/LocalStreamForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalStreamForwarder</CODE></A>. A |
| <code>LocalStreamForwarder</code> manages an Input/Outputstream pair |
| that is being forwarded via the secure tunnel into a TCP/IP connection to |
| another host (which may or may not be identical to the remote SSH-2 |
| server). |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>host_to_connect</CODE> - <DD><CODE>port_to_connect</CODE> - |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/LocalStreamForwarder.html" title="class in com.trilead.ssh2"><CODE>LocalStreamForwarder</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="createSCPClient()"><!-- --></A><H3> |
| createSCPClient</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/SCPClient.html" title="class in com.trilead.ssh2">SCPClient</A> <B>createSCPClient</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Create a very basic <A HREF="../../../com/trilead/ssh2/SCPClient.html" title="class in com.trilead.ssh2"><CODE>SCPClient</CODE></A> that can be used to copy files |
| from/to the SSH-2 server. |
| <p> |
| Works only after one has passed successfully the authentication step. |
| There is no limit on the number of concurrent SCP clients. |
| <p> |
| Note: This factory method will probably disappear in the future. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/SCPClient.html" title="class in com.trilead.ssh2"><CODE>SCPClient</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="forceKeyExchange()"><!-- --></A><H3> |
| forceKeyExchange</H3> |
| <PRE> |
| public void <B>forceKeyExchange</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Force an asynchronous key re-exchange (the call does not block). The |
| latest values set for MAC, Cipher and DH group exchange parameters will |
| be used. If a key exchange is currently in progress, then this method has |
| the only effect that the so far specified parameters will be used for the |
| next (server driven) key exchange. |
| <p> |
| Note: This implementation will never start a key exchange (other than the |
| initial one) unless you or the SSH-2 server ask for it. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE> - In case of any failure behind the scenes.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getHostname()"><!-- --></A><H3> |
| getHostname</H3> |
| <PRE> |
| public java.lang.String <B>getHostname</B>()</PRE> |
| <DL> |
| <DD>Returns the hostname that was passed to the constructor. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>the hostname</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getPort()"><!-- --></A><H3> |
| getPort</H3> |
| <PRE> |
| public int <B>getPort</B>()</PRE> |
| <DL> |
| <DD>Returns the port that was passed to the constructor. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>the TCP port</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getConnectionInfo()"><!-- --></A><H3> |
| getConnectionInfo</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2">ConnectionInfo</A> <B>getConnectionInfo</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Returns a <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><CODE>ConnectionInfo</CODE></A> object containing the details of the |
| connection. Can be called as soon as the connection has been established |
| (successfully connected). |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><CODE>ConnectionInfo</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE> - In case of any failure behind the scenes.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="getRemainingAuthMethods(java.lang.String)"><!-- --></A><H3> |
| getRemainingAuthMethods</H3> |
| <PRE> |
| public java.lang.String[] <B>getRemainingAuthMethods</B>(java.lang.String user) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>After a successful connect, one has to authenticate oneself. This method |
| can be used to tell which authentication methods are supported by the |
| server at a certain stage of the authentication process (for the given |
| username). |
| <p> |
| Note 1: the username will only be used if no authentication step was done |
| so far (it will be used to ask the server for a list of possible |
| authentication methods by sending the initial "none" request). Otherwise, |
| this method ignores the user name and returns a cached method list (which |
| is based on the information contained in the last negative server |
| response). |
| <p> |
| Note 2: the server may return method names that are not supported by this |
| implementation. |
| <p> |
| After a successful authentication, this method must not be called |
| anymore. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username. |
| <DT><B>Returns:</B><DD>a (possibly emtpy) array holding authentication method names. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="isAuthenticationComplete()"><!-- --></A><H3> |
| isAuthenticationComplete</H3> |
| <PRE> |
| public boolean <B>isAuthenticationComplete</B>()</PRE> |
| <DL> |
| <DD>Determines if the authentication phase is complete. Can be called at any |
| time. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD><code>true</code> if no further authentication steps are |
| needed.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="isAuthenticationPartialSuccess()"><!-- --></A><H3> |
| isAuthenticationPartialSuccess</H3> |
| <PRE> |
| public boolean <B>isAuthenticationPartialSuccess</B>()</PRE> |
| <DL> |
| <DD>Returns true if there was at least one failed authentication request and |
| the last failed authentication request was marked with "partial success" |
| by the server. This is only needed in the rare case of SSH-2 server |
| setups that cannot be satisfied with a single successful authentication |
| request (i.e., multiple authentication steps are needed.) |
| <p> |
| If you are interested in the details, then have a look at RFC4252. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>if the there was a failed authentication step and the last one |
| was marked as a "partial success".</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="isAuthMethodAvailable(java.lang.String, java.lang.String)"><!-- --></A><H3> |
| isAuthMethodAvailable</H3> |
| <PRE> |
| public boolean <B>isAuthMethodAvailable</B>(java.lang.String user, |
| java.lang.String method) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Checks if a specified authentication method is available. This method is |
| actually just a wrapper for <A HREF="../../../com/trilead/ssh2/Connection.html#getRemainingAuthMethods(java.lang.String)"><CODE>getRemainingAuthMethods()</CODE></A>. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>user</CODE> - A <code>String</code> holding the username.<DD><CODE>method</CODE> - An authentication method name (e.g., "publickey", "password", |
| "keyboard-interactive") as specified by the SSH-2 standard. |
| <DT><B>Returns:</B><DD>if the specified authentication method is currently available. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="openSession()"><!-- --></A><H3> |
| openSession</H3> |
| <PRE> |
| public <A HREF="../../../com/trilead/ssh2/Session.html" title="class in com.trilead.ssh2">Session</A> <B>openSession</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Open a new <A HREF="../../../com/trilead/ssh2/Session.html" title="class in com.trilead.ssh2"><CODE>Session</CODE></A> on this connection. Works only after one has |
| passed successfully the authentication step. There is no limit on the |
| number of concurrent sessions. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Returns:</B><DD>A <A HREF="../../../com/trilead/ssh2/Session.html" title="class in com.trilead.ssh2"><CODE>Session</CODE></A> object. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="sendIgnorePacket()"><!-- --></A><H3> |
| sendIgnorePacket</H3> |
| <PRE> |
| public void <B>sendIgnorePacket</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Send an SSH_MSG_IGNORE packet. This method will generate a random data |
| attribute (length between 0 (invlusive) and 16 (exclusive) bytes, |
| contents are random bytes). |
| <p> |
| This method must only be called once the connection is established. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="sendIgnorePacket(byte[])"><!-- --></A><H3> |
| sendIgnorePacket</H3> |
| <PRE> |
| public void <B>sendIgnorePacket</B>(byte[] data) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Send an SSH_MSG_IGNORE packet with the given data attribute. |
| <p> |
| This method must only be called once the connection is established. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setClient2ServerCiphers(java.lang.String[])"><!-- --></A><H3> |
| setClient2ServerCiphers</H3> |
| <PRE> |
| public void <B>setClient2ServerCiphers</B>(java.lang.String[] ciphers)</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>ciphers</CODE> - </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setClient2ServerMACs(java.lang.String[])"><!-- --></A><H3> |
| setClient2ServerMACs</H3> |
| <PRE> |
| public void <B>setClient2ServerMACs</B>(java.lang.String[] macs)</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>macs</CODE> - </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setDHGexParameters(com.trilead.ssh2.DHGexParameters)"><!-- --></A><H3> |
| setDHGexParameters</H3> |
| <PRE> |
| public void <B>setDHGexParameters</B>(<A HREF="../../../com/trilead/ssh2/DHGexParameters.html" title="class in com.trilead.ssh2">DHGexParameters</A> dgp)</PRE> |
| <DL> |
| <DD>Sets the parameters for the diffie-hellman group exchange. Unless you |
| know what you are doing, you will never need this. Default values are |
| defined in the <A HREF="../../../com/trilead/ssh2/DHGexParameters.html" title="class in com.trilead.ssh2"><CODE>DHGexParameters</CODE></A> class. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>dgp</CODE> - <A HREF="../../../com/trilead/ssh2/DHGexParameters.html" title="class in com.trilead.ssh2"><CODE>DHGexParameters</CODE></A>, non null.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setServer2ClientCiphers(java.lang.String[])"><!-- --></A><H3> |
| setServer2ClientCiphers</H3> |
| <PRE> |
| public void <B>setServer2ClientCiphers</B>(java.lang.String[] ciphers)</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>ciphers</CODE> - </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setServer2ClientMACs(java.lang.String[])"><!-- --></A><H3> |
| setServer2ClientMACs</H3> |
| <PRE> |
| public void <B>setServer2ClientMACs</B>(java.lang.String[] macs)</PRE> |
| <DL> |
| <DD>Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>macs</CODE> - </DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setServerHostKeyAlgorithms(java.lang.String[])"><!-- --></A><H3> |
| setServerHostKeyAlgorithms</H3> |
| <PRE> |
| public void <B>setServerHostKeyAlgorithms</B>(java.lang.String[] algos)</PRE> |
| <DL> |
| <DD>Define the set of allowed server host key algorithms to be used for the |
| following key exchange operations. |
| <p> |
| Unless you know what you are doing, you will never need this. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>algos</CODE> - An array of allowed server host key algorithms. SSH-2 defines |
| <code>ssh-dss</code> and <code>ssh-rsa</code>. The |
| entries of the array must be ordered after preference, i.e., |
| the entry at index 0 is the most preferred one. You must |
| specify at least one entry.</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setTCPNoDelay(boolean)"><!-- --></A><H3> |
| setTCPNoDelay</H3> |
| <PRE> |
| public void <B>setTCPNoDelay</B>(boolean enable) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm) on the |
| underlying socket. |
| <p> |
| Can be called at any time. If the connection has not yet been established |
| then the passed value will be stored and set after the socket has been |
| set up. The default value that will be used is <code>false</code>. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>enable</CODE> - the argument passed to the <code>Socket.setTCPNoDelay()</code> |
| method. |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setProxyData(com.trilead.ssh2.ProxyData)"><!-- --></A><H3> |
| setProxyData</H3> |
| <PRE> |
| public void <B>setProxyData</B>(<A HREF="../../../com/trilead/ssh2/ProxyData.html" title="interface in com.trilead.ssh2">ProxyData</A> proxyData)</PRE> |
| <DL> |
| <DD>Used to tell the library that the connection shall be established through |
| a proxy server. It only makes sense to call this method before calling |
| the <A HREF="../../../com/trilead/ssh2/Connection.html#connect()"><CODE>connect()</CODE></A> method. |
| <p> |
| At the moment, only HTTP proxies are supported. |
| <p> |
| Note: This method can be called any number of times. The |
| <A HREF="../../../com/trilead/ssh2/Connection.html#connect()"><CODE>connect()</CODE></A> method will use the value set in the last |
| preceding invocation of this method. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>proxyData</CODE> - Connection information about the proxy. If <code>null</code>, |
| then no proxy will be used (non surprisingly, this is also the |
| default).<DT><B>See Also:</B><DD><A HREF="../../../com/trilead/ssh2/HTTPProxyData.html" title="class in com.trilead.ssh2"><CODE>HTTPProxyData</CODE></A></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="requestRemotePortForwarding(java.lang.String, int, java.lang.String, int)"><!-- --></A><H3> |
| requestRemotePortForwarding</H3> |
| <PRE> |
| public void <B>requestRemotePortForwarding</B>(java.lang.String bindAddress, |
| int bindPort, |
| java.lang.String targetAddress, |
| int targetPort) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Request a remote port forwarding. If successful, then forwarded |
| connections will be redirected to the given target address. You can |
| cancle a requested remote port forwarding by calling |
| <A HREF="../../../com/trilead/ssh2/Connection.html#cancelRemotePortForwarding(int)"><CODE>cancelRemotePortForwarding()</CODE></A>. |
| <p> |
| A call of this method will block until the peer either agreed or |
| disagreed to your request- |
| <p> |
| Note 1: this method typically fails if you |
| <ul> |
| <li>pass a port number for which the used remote user has not enough |
| permissions (i.e., port < 1024)</li> |
| <li>or pass a port number that is already in use on the remote server</li> |
| <li>or if remote port forwarding is disabled on the server.</li> |
| </ul> |
| <p> |
| Note 2: (from the openssh man page): By default, the listening socket on |
| the server will be bound to the loopback interface only. This may be |
| overriden by specifying a bind address. Specifying a remote bind address |
| will only succeed if the server's <b>GatewayPorts</b> option is enabled |
| (see sshd_config(5)). |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>bindAddress</CODE> - address to bind to on the server: |
| <ul> |
| <li>"" means that connections are to be accepted on all |
| protocol families supported by the SSH implementation</li> |
| <li>"0.0.0.0" means to listen on all IPv4 addresses</li> |
| <li>"::" means to listen on all IPv6 addresses</li> |
| <li>"localhost" means to listen on all protocol families |
| supported by the SSH implementation on loopback addresses |
| only, [RFC3330] and RFC3513]</li> |
| <li>"127.0.0.1" and "::1" indicate listening on the loopback |
| interfaces for IPv4 and IPv6 respectively</li> |
| </ul><DD><CODE>bindPort</CODE> - port number to bind on the server (must be > 0)<DD><CODE>targetAddress</CODE> - the target address (IP or hostname)<DD><CODE>targetPort</CODE> - the target port |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="cancelRemotePortForwarding(int)"><!-- --></A><H3> |
| cancelRemotePortForwarding</H3> |
| <PRE> |
| public void <B>cancelRemotePortForwarding</B>(int bindPort) |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>Cancel an earlier requested remote port forwarding. Currently active |
| forwardings will not be affected (e.g., disrupted). Note that further |
| connection forwarding requests may be received until this method has |
| returned. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>bindPort</CODE> - the allocated port number on the server |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE> - if the remote side refuses the cancel request or another low |
| level error occurs (e.g., the underlying connection is |
| closed)</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="setSecureRandom(java.security.SecureRandom)"><!-- --></A><H3> |
| setSecureRandom</H3> |
| <PRE> |
| public void <B>setSecureRandom</B>(java.security.SecureRandom rnd)</PRE> |
| <DL> |
| <DD>Provide your own instance of SecureRandom. Can be used, e.g., if you want |
| to seed the used SecureRandom generator manually. |
| <p> |
| The SecureRandom instance is used during key exchanges, public key |
| authentication, x11 cookie generation and the like. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>rnd</CODE> - a SecureRandom instance</DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="enableDebugging(boolean, com.trilead.ssh2.DebugLogger)"><!-- --></A><H3> |
| enableDebugging</H3> |
| <PRE> |
| public void <B>enableDebugging</B>(boolean enable, |
| <A HREF="../../../com/trilead/ssh2/DebugLogger.html" title="interface in com.trilead.ssh2">DebugLogger</A> logger)</PRE> |
| <DL> |
| <DD>Enable/disable debug logging. <b>Only do this when requested by Trilead |
| support.</b> |
| <p> |
| For speed reasons, some static variables used to check whether debugging |
| is enabled are not protected with locks. In other words, if you |
| dynamicaly enable/disable debug logging, then some threads may still use |
| the old setting. To be on the safe side, enable debugging before doing |
| the <code>connect()</code> call. |
| <P> |
| <DD><DL> |
| <DT><B>Parameters:</B><DD><CODE>enable</CODE> - on/off<DD><CODE>logger</CODE> - a <A HREF="../../../com/trilead/ssh2/DebugLogger.html" title="interface in com.trilead.ssh2"><CODE>DebugLogger</CODE></A> instance, <code>null</code> |
| means logging using the simple logger which logs all messages |
| to to stderr. Ignored if enabled is <code>false</code></DL> |
| </DD> |
| </DL> |
| <HR> |
| |
| <A NAME="ping()"><!-- --></A><H3> |
| ping</H3> |
| <PRE> |
| public void <B>ping</B>() |
| throws java.io.IOException</PRE> |
| <DL> |
| <DD>This method can be used to perform end-to-end connection testing. It |
| sends a 'ping' message to the server and waits for the 'pong' from the |
| server. |
| <p> |
| When this method throws an exception, then you can assume that the |
| connection should be abandoned. |
| <p> |
| Note: Works only after one has passed successfully the authentication |
| step. |
| <p> |
| Implementation details: this method sends a SSH_MSG_GLOBAL_REQUEST |
| request ('trilead-ping') to the server and waits for the |
| SSH_MSG_REQUEST_FAILURE reply packet from the server. |
| <P> |
| <DD><DL> |
| |
| <DT><B>Throws:</B> |
| <DD><CODE>java.io.IOException</CODE> - in case of any problem</DL> |
| </DD> |
| </DL> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <HR> |
| |
| |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <A NAME="navbar_bottom"><!-- --></A> |
| <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> |
| <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> |
| <TR> |
| <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> |
| <A NAME="navbar_bottom_firstrow"><!-- --></A> |
| <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> |
| <TR ALIGN="center" VALIGN="top"> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../com/trilead/ssh2/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Connection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> |
| </TR> |
| </TABLE> |
| </TD> |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> |
| Trilead SSH-2 for Java</EM> |
| </TD> |
| </TR> |
| |
| <TR> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../com/trilead/ssh2/ChannelCondition.html" title="interface in com.trilead.ssh2"><B>PREV CLASS</B></A> |
| <A HREF="../../../com/trilead/ssh2/ConnectionInfo.html" title="class in com.trilead.ssh2"><B>NEXT CLASS</B></A></FONT></TD> |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> |
| <A HREF="../../../index.html?com/trilead/ssh2/Connection.html" target="_top"><B>FRAMES</B></A> |
| <A HREF="Connection.html" target="_top"><B>NO FRAMES</B></A> |
| <SCRIPT type="text/javascript"> |
| <!-- |
| if(window==top) { |
| document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); |
| } |
| //--> |
| </SCRIPT> |
| <NOSCRIPT> |
| <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> |
| </NOSCRIPT> |
| |
| |
| </FONT></TD> |
| </TR> |
| <TR> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> |
| DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> |
| </TR> |
| </TABLE> |
| <A NAME="skip-navbar_bottom"></A> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| |
| <HR> |
| |
| </BODY> |
| </HTML> |