Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.ajp
Class NegociationHandler  view NegociationHandler download NegociationHandler.java

java.lang.Object
  extended byorg.apache.ajp.AjpHandler
      extended byorg.apache.ajp.NegociationHandler

public class NegociationHandler
extends AjpHandler

Handler for the protocol negotiation. It will authenticate and exchange information about supported messages on each end.


Field Summary
static int AJP14_BAD_KEY_ERR
           
static int AJP14_COMPUTED_KEY_LEN
           
static byte AJP14_CONTEXT_DOWN
           
static int AJP14_CONTEXT_INFO_NEG
           
static byte AJP14_CONTEXT_OK
           
static byte AJP14_CONTEXT_UP
           
static int AJP14_CONTEXT_UPDATE_NEG
           
static int AJP14_DES56_STREAM_NEG
           
static int AJP14_ENGINE_DOWN_ERR
           
static int AJP14_ENTROPY_SEED_LEN
           
static int AJP14_GZIP_STREAM_NEG
           
static int AJP14_PROTO_SUPPORT_AJP14_NEG
           
static int AJP14_PROTO_SUPPORT_AJP15_NEG
           
static int AJP14_PROTO_SUPPORT_AJP16_NEG
           
static int AJP14_PROTO_SUPPORT_AJPXX_NEG
           
static int AJP14_RETRY_LATER_ERR
           
static int AJP14_SHUT_AUTHOR_FAILED_ERR
           
static int AJP14_SSL_VCLIENT_NEG
           
static int AJP14_SSL_VCRYPTO_NEG
           
static int AJP14_SSL_VMISC_NEG
           
static int AJP14_SSL_VSERVER_NEG
           
(package private)  java.lang.String containerSignature
           
private static int debug
           
static byte JK_AJP14_CONTEXT_INFO_CMD
           
static byte JK_AJP14_CONTEXT_QRY_CMD
           
static byte JK_AJP14_CONTEXT_STATE_CMD
           
static byte JK_AJP14_CONTEXT_STATE_REP_CMD
           
static byte JK_AJP14_CONTEXT_UPDATE_CMD
           
static byte JK_AJP14_LOGCOMP_CMD
           
static byte JK_AJP14_LOGINIT_CMD
           
static byte JK_AJP14_LOGNOK_CMD
           
static byte JK_AJP14_LOGOK_CMD
           
static byte JK_AJP14_LOGSEED_CMD
           
static byte JK_AJP14_SHUTDOWN_CMD
           
static byte JK_AJP14_SHUTNOK_CMD
           
static byte JK_AJP14_SHUTOK_CMD
           
static byte JK_AJP14_STATUS_CMD
           
static byte JK_AJP14_UNKNOW_PACKET_CMD
           
private static org.apache.commons.logging.Log log
           
(package private)  java.lang.String password
           
(package private)  java.lang.String seed
           
(package private)  int webserverNegociation
           
 
Fields inherited from class org.apache.ajp.AjpHandler
channel, UNKNOWN
 
Constructor Summary
NegociationHandler()
           
 
Method Summary
private  java.lang.String decodeNegociation(int nego)
          Display Negociation field in human form
 java.lang.String digest(java.lang.String[] credentials, java.lang.String algorithm)
          Compute a digest (MD5 in AJP14) for an array of String
 java.lang.String getPassword()
          Get the secret password
private  int getProtocolFlags(int wanted)
          Compute the Protocol Negociation Flags Depending the protocol fatures implemented on servet-engine, we'll drop requested features which could be asked by web-server Hopefully this functions could be overrided by decendants
 java.lang.String getSeed()
          Get the original entropy seed
 int handleAjpMessage(int type, Ajp13 ch, Ajp13Packet hBuf, org.apache.tomcat.util.http.BaseRequest req)
          Execute the callback
private  int handleContextQuery(Ajp13 ch, Ajp13Packet msg, Ajp13Packet outBuf)
           
private  int handleContextState(Ajp13Packet msg, Ajp13Packet outBuf)
           
private  int handleLogComp(Ajp13 ch, Ajp13Packet msg, Ajp13Packet outBuf)
          Handle the Second Phase of Login (accreditation) Get the MD5 digest of entropy + secret password If the authentification is valid send back LogOk If the authentification failed send back LogNok
private  int handleLogInit(Ajp13 ch, Ajp13Packet msg, Ajp13Packet outBuf)
          Handle the Initial Login Message from Web-Server Get the requested Negociation Flags Get also the Web-Server Name Send Login Seed (MD5 of seed)
private  int handleShutdown(Ajp13Packet msg, Ajp13Packet outBuf)
           
private  int handleStatus(Ajp13Packet msg, Ajp13Packet outBuf)
           
private  int handleUnknowPacket(Ajp13Packet msg, Ajp13Packet outBuf)
           
 void init(Ajp13 ajp14)
           
(package private)  void log(java.lang.String s)
           
 void setContainerSignature(java.lang.String s)
           
 void setPassword(java.lang.String ppwd)
          Set the secret password
 void setSeed(java.lang.String pseed)
          Set the original entropy seed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.commons.logging.Log log

JK_AJP14_LOGINIT_CMD

public static final byte JK_AJP14_LOGINIT_CMD
See Also:
Constant Field Values

JK_AJP14_LOGSEED_CMD

public static final byte JK_AJP14_LOGSEED_CMD
See Also:
Constant Field Values

JK_AJP14_LOGCOMP_CMD

public static final byte JK_AJP14_LOGCOMP_CMD
See Also:
Constant Field Values

JK_AJP14_LOGOK_CMD

public static final byte JK_AJP14_LOGOK_CMD
See Also:
Constant Field Values

JK_AJP14_LOGNOK_CMD

public static final byte JK_AJP14_LOGNOK_CMD
See Also:
Constant Field Values

JK_AJP14_CONTEXT_QRY_CMD

public static final byte JK_AJP14_CONTEXT_QRY_CMD
See Also:
Constant Field Values

JK_AJP14_CONTEXT_INFO_CMD

public static final byte JK_AJP14_CONTEXT_INFO_CMD
See Also:
Constant Field Values

JK_AJP14_CONTEXT_UPDATE_CMD

public static final byte JK_AJP14_CONTEXT_UPDATE_CMD
See Also:
Constant Field Values

JK_AJP14_STATUS_CMD

public static final byte JK_AJP14_STATUS_CMD
See Also:
Constant Field Values

JK_AJP14_SHUTDOWN_CMD

public static final byte JK_AJP14_SHUTDOWN_CMD
See Also:
Constant Field Values

JK_AJP14_SHUTOK_CMD

public static final byte JK_AJP14_SHUTOK_CMD
See Also:
Constant Field Values

JK_AJP14_SHUTNOK_CMD

public static final byte JK_AJP14_SHUTNOK_CMD
See Also:
Constant Field Values

JK_AJP14_CONTEXT_STATE_CMD

public static final byte JK_AJP14_CONTEXT_STATE_CMD
See Also:
Constant Field Values

JK_AJP14_CONTEXT_STATE_REP_CMD

public static final byte JK_AJP14_CONTEXT_STATE_REP_CMD
See Also:
Constant Field Values

JK_AJP14_UNKNOW_PACKET_CMD

public static final byte JK_AJP14_UNKNOW_PACKET_CMD
See Also:
Constant Field Values

AJP14_ENTROPY_SEED_LEN

public static final int AJP14_ENTROPY_SEED_LEN
See Also:
Constant Field Values

AJP14_COMPUTED_KEY_LEN

public static final int AJP14_COMPUTED_KEY_LEN
See Also:
Constant Field Values

AJP14_CONTEXT_INFO_NEG

public static final int AJP14_CONTEXT_INFO_NEG
See Also:
Constant Field Values

AJP14_CONTEXT_UPDATE_NEG

public static final int AJP14_CONTEXT_UPDATE_NEG
See Also:
Constant Field Values

AJP14_GZIP_STREAM_NEG

public static final int AJP14_GZIP_STREAM_NEG
See Also:
Constant Field Values

AJP14_DES56_STREAM_NEG

public static final int AJP14_DES56_STREAM_NEG
See Also:
Constant Field Values

AJP14_SSL_VSERVER_NEG

public static final int AJP14_SSL_VSERVER_NEG
See Also:
Constant Field Values

AJP14_SSL_VCLIENT_NEG

public static final int AJP14_SSL_VCLIENT_NEG
See Also:
Constant Field Values

AJP14_SSL_VCRYPTO_NEG

public static final int AJP14_SSL_VCRYPTO_NEG
See Also:
Constant Field Values

AJP14_SSL_VMISC_NEG

public static final int AJP14_SSL_VMISC_NEG
See Also:
Constant Field Values

AJP14_PROTO_SUPPORT_AJPXX_NEG

public static final int AJP14_PROTO_SUPPORT_AJPXX_NEG
See Also:
Constant Field Values

AJP14_PROTO_SUPPORT_AJP14_NEG

public static final int AJP14_PROTO_SUPPORT_AJP14_NEG
See Also:
Constant Field Values

AJP14_PROTO_SUPPORT_AJP15_NEG

public static final int AJP14_PROTO_SUPPORT_AJP15_NEG
See Also:
Constant Field Values

AJP14_PROTO_SUPPORT_AJP16_NEG

public static final int AJP14_PROTO_SUPPORT_AJP16_NEG
See Also:
Constant Field Values

AJP14_BAD_KEY_ERR

public static final int AJP14_BAD_KEY_ERR
See Also:
Constant Field Values

AJP14_ENGINE_DOWN_ERR

public static final int AJP14_ENGINE_DOWN_ERR
See Also:
Constant Field Values

AJP14_RETRY_LATER_ERR

public static final int AJP14_RETRY_LATER_ERR
See Also:
Constant Field Values

AJP14_SHUT_AUTHOR_FAILED_ERR

public static final int AJP14_SHUT_AUTHOR_FAILED_ERR
See Also:
Constant Field Values

AJP14_CONTEXT_DOWN

public static final byte AJP14_CONTEXT_DOWN
See Also:
Constant Field Values

AJP14_CONTEXT_UP

public static final byte AJP14_CONTEXT_UP
See Also:
Constant Field Values

AJP14_CONTEXT_OK

public static final byte AJP14_CONTEXT_OK
See Also:
Constant Field Values

containerSignature

java.lang.String containerSignature

seed

java.lang.String seed

password

java.lang.String password

webserverNegociation

int webserverNegociation

debug

private static int debug
Constructor Detail

NegociationHandler

public NegociationHandler()
Method Detail

setContainerSignature

public void setContainerSignature(java.lang.String s)

setSeed

public void setSeed(java.lang.String pseed)
Set the original entropy seed


getSeed

public java.lang.String getSeed()
Get the original entropy seed


setPassword

public void setPassword(java.lang.String ppwd)
Set the secret password


getPassword

public java.lang.String getPassword()
Get the secret password


init

public void init(Ajp13 ajp14)
Overrides:
init in class AjpHandler

handleAjpMessage

public int handleAjpMessage(int type,
                            Ajp13 ch,
                            Ajp13Packet hBuf,
                            org.apache.tomcat.util.http.BaseRequest req)
                     throws java.io.IOException
Description copied from class: AjpHandler
Execute the callback

Overrides:
handleAjpMessage in class AjpHandler

handleLogInit

private int handleLogInit(Ajp13 ch,
                          Ajp13Packet msg,
                          Ajp13Packet outBuf)
                   throws java.io.IOException
Handle the Initial Login Message from Web-Server Get the requested Negociation Flags Get also the Web-Server Name Send Login Seed (MD5 of seed)


handleLogComp

private int handleLogComp(Ajp13 ch,
                          Ajp13Packet msg,
                          Ajp13Packet outBuf)
                   throws java.io.IOException
Handle the Second Phase of Login (accreditation) Get the MD5 digest of entropy + secret password If the authentification is valid send back LogOk If the authentification failed send back LogNok


handleContextQuery

private int handleContextQuery(Ajp13 ch,
                               Ajp13Packet msg,
                               Ajp13Packet outBuf)
                        throws java.io.IOException

handleStatus

private int handleStatus(Ajp13Packet msg,
                         Ajp13Packet outBuf)
                  throws java.io.IOException

handleShutdown

private int handleShutdown(Ajp13Packet msg,
                           Ajp13Packet outBuf)
                    throws java.io.IOException

handleContextState

private int handleContextState(Ajp13Packet msg,
                               Ajp13Packet outBuf)
                        throws java.io.IOException

handleUnknowPacket

private int handleUnknowPacket(Ajp13Packet msg,
                               Ajp13Packet outBuf)
                        throws java.io.IOException

getProtocolFlags

private int getProtocolFlags(int wanted)
Compute the Protocol Negociation Flags Depending the protocol fatures implemented on servet-engine, we'll drop requested features which could be asked by web-server Hopefully this functions could be overrided by decendants


digest

public final java.lang.String digest(java.lang.String[] credentials,
                                     java.lang.String algorithm)
Compute a digest (MD5 in AJP14) for an array of String


decodeNegociation

private java.lang.String decodeNegociation(int nego)
Display Negociation field in human form


log

void log(java.lang.String s)