org.apache.mina.proxy.handlers.socks
Class Socks5LogicHandler

java.lang.Object
  extended by org.apache.mina.proxy.AbstractProxyLogicHandler
      extended by org.apache.mina.proxy.handlers.socks.AbstractSocksLogicHandler
          extended by org.apache.mina.proxy.handlers.socks.Socks5LogicHandler
All Implemented Interfaces:
ProxyLogicHandler

public class Socks5LogicHandler
extends AbstractSocksLogicHandler

Socks5LogicHandler.java - SOCKS5 authentication mechanisms logic handler.

Since:
MINA 2.0.0-M3
Author:
Apache MINA Project

Field Summary
 
Fields inherited from class org.apache.mina.proxy.handlers.socks.AbstractSocksLogicHandler
request
 
Constructor Summary
Socks5LogicHandler(ProxyIoSession proxyIoSession)
          
 
Method Summary
protected  void closeSession(java.lang.String message)
          Closes the session.
 void doHandshake(IoFilter.NextFilter nextFilter)
          Performs the handshake process.
protected  void handleResponse(IoFilter.NextFilter nextFilter, IoBuffer buf, int step)
          Handle a SOCKS v5 response from the proxy server.
 void messageReceived(IoFilter.NextFilter nextFilter, IoBuffer buf)
          Handles incoming data during the handshake process.
 
Methods inherited from class org.apache.mina.proxy.AbstractProxyLogicHandler
closeSession, enqueueWriteRequest, flushPendingWriteRequests, getProxyFilter, getProxyIoSession, getSession, isHandshakeComplete, setHandshakeComplete, writeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Socks5LogicHandler

public Socks5LogicHandler(ProxyIoSession proxyIoSession)

Method Detail

doHandshake

public void doHandshake(IoFilter.NextFilter nextFilter)
Performs the handshake process.

Parameters:
nextFilter - the next filter

messageReceived

public void messageReceived(IoFilter.NextFilter nextFilter,
                            IoBuffer buf)
Handles incoming data during the handshake process. Should consume only the handshake data from the buffer, leaving any extra data in place.

Parameters:
nextFilter - the next filter
buf - the buffered data received

handleResponse

protected void handleResponse(IoFilter.NextFilter nextFilter,
                              IoBuffer buf,
                              int step)
                       throws java.lang.Exception
Handle a SOCKS v5 response from the proxy server.

Parameters:
nextFilter - the next filter
buf - the buffered data received
step - the current step in the authentication process
Throws:
java.lang.Exception

closeSession

protected void closeSession(java.lang.String message)
Closes the session. If any GSSContext is present in the session then it is closed.

Overrides:
closeSession in class AbstractProxyLogicHandler
Parameters:
message - the error message