You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2005/04/28 01:05:01 UTC

svn commit: r165063 - /directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java

Author: elecharny
Date: Wed Apr 27 16:05:00 2005
New Revision: 165063

URL: http://svn.apache.org/viewcvs?rev=165063&view=rev
Log:
Added some states, but still more to add.

Modified:
    directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java

Modified: directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java
URL: http://svn.apache.org/viewcvs/directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java?rev=165063&r1=165062&r2=165063&view=diff
==============================================================================
--- directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java (original)
+++ directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoStatesEnum.java Wed Apr 27 16:05:00 2005
@@ -18,14 +18,25 @@
 
 import org.apache.asn1.ber.grammar.IStates;
 
+
 /**
+ * DOCUMENT ME!
+ * 
+ *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class SpnegoStatesEnum implements IStates {
-    // LdapMessage ------------------------------------------------------------
+public class SpnegoStatesEnum implements IStates
+{
+    // SPNEGO ------------------------------------------------------------
+
+    //~ Static fields/initializers -----------------------------------------------------------------
+
     /** Initiate the counter to 0 */
     private static final int SPNEGO_START_STATE = 0;
 
+    //====================================================================
+    // NegTokenInit state
+    //====================================================================
     /** SPNEGO neg token init Tag */
     public static final int SPNEGO_NEG_TOKEN_INIT_TAG = 0;
 
@@ -34,7 +45,10 @@
 
     /** SPNEGO neg token init Value */
     public static final int SPNEGO_NEG_TOKEN_INIT_VALUE = 2;
-    
+
+    //--------------------------------------------------------------------
+    // negTokenInit state (the SEQUENCE)
+    //--------------------------------------------------------------------
     /** SPNEGO neg token init SEQUENCE Tag */
     public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_TAG = 3;
 
@@ -43,54 +57,127 @@
 
     /** SPNEGO neg token init SEQUENCE Value */
     public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE = 5;
-    
+
+    //--------------------------------------------------------------------
+    // As the next element is optional, we need to use a special
+    // transition to fork to the good state
+    //--------------------------------------------------------------------
     /** SPNEGO neg token init SEQUENCE Value next tag */
-    public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG = 6;
-    
+    public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG = 6;
+
+    //--------------------------------------------------------------------
+    // MechTypes state
+    //--------------------------------------------------------------------
     /** SPNEGO mech types length */
     public static final int SPNEGO_MECH_TYPES_LENGTH = 7;
-    
+
     /** SPNEGO mech types value */
     public static final int SPNEGO_MECH_TYPES_VALUE = 8;
-    
+
+    //--------------------------------------------------------------------
+    // MechTypes List state
+    //--------------------------------------------------------------------
     /** SPNEGO mech types list tag */
     public static final int SPNEGO_MECH_TYPES_LIST_TAG = 9;
-    
+
     /** SPNEGO mech types list length */
     public static final int SPNEGO_MECH_TYPES_LIST_LENGTH = 10;
-    
+
     /** SPNEGO mech types list value */
     public static final int SPNEGO_MECH_TYPES_LIST_VALUE = 11;
-    
+
+    //--------------------------------------------------------------------
+    // MechType state
+    //--------------------------------------------------------------------
     /** SPNEGO mech type tag */
     public static final int SPNEGO_MECH_TYPE_TAG = 12;
-    
+
     /** SPNEGO mech type length */
     public static final int SPNEGO_MECH_TYPE_LENGTH = 13;
-    
+
     /** SPNEGO mech type value */
     public static final int SPNEGO_MECH_TYPE_VALUE = 14;
-    
+
+    //--------------------------------------------------------------------
+    // The next tag could be either
+    // - a mech type
+    // - a reqFlags
+    // - a mechToken
+    // - a mechListMIC
+    // - the end of the grammar
+    //--------------------------------------------------------------------
     /** SPNEGO mech type following tag */
-    public static final int SPNEGO_MECH_TYPE_FOLLOW_TAG = 15;
-    
-    
-    
-    
-
-    /** SPNEGO req flags tag */
-    public static final int SPNEGO_REQ_FLAGS_TAG = 9;
-    
-    /** SPNEGO req flags length */
-    public static final int SPNEGO_REQ_FLAGS_LENGTH = 10;
-    
+    public static final int SPNEGO_MECH_TYPE_FOLLOWING_TAG = 15;
+
+    //--------------------------------------------------------------------
+    // reqFlags state
+    //--------------------------------------------------------------------
+    /** SPNEGO mech types length */
+    public static final int SPNEGO_REQ_FLAGS_LENGTH = 16;
+
+    /** SPNEGO mech types value */
+    public static final int SPNEGO_REQ_FLAGS_VALUE = 17;
+
+    /** SPNEGO mech types length */
+    public static final int SPNEGO_REQ_FLAGS_BIT_STRING_TAG = 18;
+
+    /** SPNEGO mech types value */
+    public static final int SPNEGO_REQ_FLAGS_BIT_STRING_LENGTH = 19;
 
+    /** SPNEGO mech types value */
+    public static final int SPNEGO_REQ_FLAGS_BIT_STRING_VALUE = 20;
+
+    //--------------------------------------------------------------------
+    // The next tag could be either
+    // - a mechToken
+    // - a mechListMIC
+    // - the end of the grammar
+    //--------------------------------------------------------------------
+    /** SPNEGO req flags following tag */
+    public static final int SPNEGO_REQ_FLAGS_FOLLOWING_TAG = 21;
+
+    //--------------------------------------------------------------------
+    // mechToken state
+    //--------------------------------------------------------------------
     /** SPNEGO mech token length */
-    public static final int SPNEGO_MECH_TOKEN_LENGTH = 7;
+    public static final int SPNEGO_MECH_TOKEN_LENGTH = 22;
+
+    /** SPNEGO mech token value */
+    public static final int SPNEGO_MECH_TOKEN_VALUE = 23;
+
+    /** SPNEGO mech token length */
+    public static final int SPNEGO_MECH_TOKEN_OCTET_STRING_TAG = 24;
+
+    /** SPNEGO mech token length */
+    public static final int SPNEGO_MECH_TOKEN_OCTET_STRING_LENGTH = 25;
+
+    /** SPNEGO mech token value */
+    public static final int SPNEGO_MECH_TOKEN_OCTET_STRING_VALUE = 26;
+
+    //--------------------------------------------------------------------
+    // mechListMIC state
+    //--------------------------------------------------------------------
+    /** SPNEGO mech list MIC tag */
+    public static final int SPNEGO_MECH_LIST_MIC_TAG = 27;
+
+    /** SPNEGO mech list MIC length */
+    public static final int SPNEGO_MECH_LIST_MIC_LENGTH = 28;
+
+    /** SPNEGO mech list MIC value */
+    public static final int SPNEGO_MECH_LIST_MIC_VALUE = 29;
 
+    /** SPNEGO mech list MIC tag */
+    public static final int SPNEGO_MECH_LIST_MIC_OCTET_STRING_TAG = 30;
 
     /** SPNEGO mech list MIC length */
-    public static final int SPNEGO_MECH_LIST_MIC_LENGTH = 7;
+    public static final int SPNEGO_MECH_LIST_MIC_OCTET_STRING_LENGTH = 31;
+
+    /** SPNEGO mech list MIC value */
+    public static final int SPNEGO_MECH_LIST_MIC_OCTET_STRING_VALUE = 32;
+
+    //====================================================================
+    // NegTokenTarg state
+    //====================================================================
 
 
     /** SPNEGO neg token targ Tag */
@@ -101,28 +188,13 @@
 
     /** SPNEGO neg token targ Value */
     public static final int SPNEGO_NEG_TOKEN_TARG_VALUE = 8;
-    
+
     /** SPNEGO last state */
-    public static final int LAST_SPNEGO_STATE = 16;
+    public static final int LAST_SPNEGO_STATE = 33;
 
     /** SPNEGO Grammar */
     public static final int SPNEGO_GRAMMAR = 0;
 
-    /** A string representation of all the states */
-    private static String[] SpnegoMessageString =
-        new String[]
-        {
-            "LDAP_MESSAGE_TAG", 
-            "LDAP_MESSAGE_LENGTH", 
-            "LDAP_MESSAGE_VALUE", 
-            "LDAP_MESSAGE_ID_TAG",
-            "LDAP_MESSAGE_ID_LENGTH", 
-            "LDAP_MESSAGE_ID_VALUE", 
-            "PROTOCOL_OP_TAG",
-            "PROTOCOL_OP_LENGTH", 
-            "PROTOCOL_OP_VALUE"
-        };
-
     /** The instance */
     private static SpnegoStatesEnum instance = new SpnegoStatesEnum();
 
@@ -136,6 +208,8 @@
     {
     }
 
+    //~ Methods ------------------------------------------------------------------------------------
+
     /**
      * Get an instance of this class
      * @return An instance on this class
@@ -155,31 +229,98 @@
     public String getState( int grammar, int state )
     {
 
-        if (grammar == SPNEGO_GRAMMAR)
+        if ( grammar == SPNEGO_GRAMMAR )
         {
-            if  ( state == -1 ) 
+
+            if ( state == -1 )
             {
                 return "END_STATE";
             }
             else
             {
-                switch (state)
+
+                switch ( state )
                 {
-                    case SPNEGO_NEG_TOKEN_INIT_TAG : return "SPNEGO_NEG_TOKEN_INIT_TAG";
-                    case SPNEGO_NEG_TOKEN_INIT_LENGTH : return "SPNEGO_NEG_TOKEN_INIT_LENGTH"; 
-                    case SPNEGO_NEG_TOKEN_INIT_VALUE : return "SPNEGO_NEG_TOKEN_INIT_VALUE";
-                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_TAG : return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_TAG";
-                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_LENGTH : return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_LENGTH";
-                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE : return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE";
-                    case SPNEGO_NEG_TOKEN_TARG_TAG : return "SPNEGO_NEG_TOKEN_TARG_TAG";
-                    case SPNEGO_NEG_TOKEN_TARG_LENGTH : return "SPNEGO_NEG_TOKEN_TARG_LENGTH";
-                    case SPNEGO_NEG_TOKEN_TARG_VALUE : return "SPNEGO_NEG_TOKEN_TARG_VALUE";
-                	default : return "UNKNOWN";
+
+                    case SPNEGO_NEG_TOKEN_INIT_TAG :
+                        return "SPNEGO_NEG_TOKEN_INIT_TAG";
+
+                    case SPNEGO_NEG_TOKEN_INIT_LENGTH :
+                        return "SPNEGO_NEG_TOKEN_INIT_LENGTH";
+
+                    case SPNEGO_NEG_TOKEN_INIT_VALUE :
+                        return "SPNEGO_NEG_TOKEN_INIT_VALUE";
+
+                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_TAG :
+                        return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_TAG";
+
+                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_LENGTH :
+                        return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_LENGTH";
+
+                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE :
+                        return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE";
+
+                    case SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG :
+                        return "SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG";
+
+                    case SPNEGO_MECH_TYPES_LENGTH :
+                        return "SPNEGO_MECH_TYPES_LENGTH";
+
+                    case SPNEGO_MECH_TYPES_VALUE :
+                        return "SPNEGO_MECH_TYPES_VALUE";
+
+                    case SPNEGO_MECH_TYPES_LIST_TAG :
+                        return "SPNEGO_MECH_TYPES_LIST_TAG";
+
+                    case SPNEGO_MECH_TYPES_LIST_LENGTH :
+                        return "SPNEGO_MECH_TYPES_LIST_LENGTH";
+
+                    case SPNEGO_MECH_TYPES_LIST_VALUE :
+                        return "SPNEGO_MECH_TYPES_LIST_VALUE";
+
+                    case SPNEGO_MECH_TYPE_TAG :
+                        return "SPNEGO_MECH_TYPE_TAG";
+
+                    case SPNEGO_MECH_TYPE_LENGTH :
+                        return "SPNEGO_MECH_TYPE_LENGTH";
+
+                    case SPNEGO_MECH_TYPE_VALUE :
+                        return "SPNEGO_MECH_TYPE_VALUE";
+
+                    case SPNEGO_MECH_TYPE_FOLLOWING_TAG :
+                        return "SPNEGO_MECH_TYPE_FOLLOWING_TAG";
+
+                    case SPNEGO_REQ_FLAGS_LENGTH :
+                        return "SPNEGO_REQ_FLAGS_LENGTH";
+
+                    case SPNEGO_REQ_FLAGS_VALUE :
+                        return "SPNEGO_REQ_FLAGS_VALUE";
+
+                    case SPNEGO_REQ_FLAGS_FOLLOWING_TAG :
+                        return "SPNEGO_REQ_FLAGS_FOLLOWING_TAG";
+
+                    case SPNEGO_MECH_TOKEN_LENGTH :
+                        return "SPNEGO_MECH_TOKEN_LENGTH";
+
+                    case SPNEGO_MECH_TOKEN_VALUE :
+                        return "SPNEGO_MECH_TOKEN_VALUE";
+
+                    case SPNEGO_MECH_LIST_MIC_TAG :
+                        return "SPNEGO_MECH_LIST_MIC_TAG";
+
+                    case SPNEGO_MECH_LIST_MIC_LENGTH :
+                        return "SPNEGO_MECH_LIST_MIC_LENGTH";
+
+                    case SPNEGO_MECH_LIST_MIC_VALUE :
+                        return "SPNEGO_MECH_LIST_MIC_VALUE";
+
+                    default :
+                        return "UNKNOWN";
                 }
             }
-            
+
         }
-        else 
+        else
         {
             return "UNKNOWN";
         }