socks
Interface Authentication

All Known Implementing Classes:
AuthenticationNone, UserPasswordAuthentication

public interface Authentication

The Authentication interface provides for performing method specific authentication for SOCKS5 connections.


Method Summary
 java.lang.Object[] doSocksAuthentication(int methodId, java.net.Socket proxySocket)
          This method is called when SOCKS5 server have selected a particular authentication method, for whch an implementaion have been registered.
 

Method Detail

doSocksAuthentication

public java.lang.Object[] doSocksAuthentication(int methodId,
                                                java.net.Socket proxySocket)
                                         throws java.io.IOException
This method is called when SOCKS5 server have selected a particular authentication method, for whch an implementaion have been registered.

This method should return an array {inputstream,outputstream [,UDPEncapsulation]}. The reason for that is that SOCKS5 protocol allows to have method specific encapsulation of data on the socket for purposes of integrity or security. And this encapsulation should be performed by those streams returned from the method. It is also possible to encapsulate datagrams. If authentication method supports such encapsulation an instance of the UDPEncapsulation interface should be returned as third element of the array, otherwise either null should be returned as third element, or array should contain only 2 elements.

Parameters:
methodId - Authentication method selected by the server.
proxySocket - Socket used to conect to the proxy.
Returns:
Two or three element array containing Input/Output streams which should be used on this connection. Third argument is optional and should contain an instance of UDPEncapsulation. It should be provided if the authentication method used requires any encapsulation to be done on the datagrams.