Author: elecharny
Date: Wed Apr 27 00:05:09 2005
New Revision: 164953

URL: http://svn.apache.org/viewcvs?rev=164953&view=rev
Log:
Added some states and grammar transitions. Work in progress !

Modified:
    
directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.java
    
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/SpnegoGrammar.java
URL: 
http://svn.apache.org/viewcvs/directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.java?rev=164953&r1=164952&r2=164953&view=diff
==============================================================================
--- 
directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.java
 (original)
+++ 
directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.java
 Wed Apr 27 00:05:09 2005
@@ -22,7 +22,6 @@
 import org.apache.asn1.ber.grammar.GrammarAction;
 import org.apache.asn1.ber.grammar.GrammarTransition;
 import org.apache.asn1.ber.grammar.IGrammar;
-import org.apache.asn1.ldap.codec.grammars.LdapStatesEnum;
 import org.apache.asn1.spnego.codec.SpnegoContainer;
 import org.apache.asn1.spnego.codec.SpnegoPoolEnum;
 import org.apache.asn1.spnego.pojo.SpnegoNegTokenInitPOJO;
@@ -151,5 +150,58 @@
                     }
                 } );
         
+        // NegTokenInit ::= SEQUENCE { (Value)
+        //    mechTypes     [0]  MechTypeList  OPTIONAL,
+        //    reqFlags      [1]  ContextFlags  OPTIONAL,
+        //    mechToken     [2]  OCTET STRING  OPTIONAL,
+        //    mechListMIC   [3]  OCTET STRING  OPTIONAL } (Length)
+        // The next token will be either 0xA0, 0xA1, 0xA2 or 0xA3, depending 
on the
+        // element : mechType, reqFlages, mechToken or mechListMIC.
+        // This transition does nothing.
+        
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE][0x30] 
= new GrammarTransition( SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE, 
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG, null);
+
+        // NegTokenInit ::= SEQUENCE {
+        //    mechTypes     [0]  MechTypeList  OPTIONAL, (Length)
+        //    ...
+        
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG][0xA0]
 = new GrammarTransition( 
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG, 
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH, null);
+
+        // NegTokenInit ::= SEQUENCE {
+        //    mechTypes     [0]  MechTypeList  OPTIONAL, (Value)
+        //    ...
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH][0xA0] = 
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH, 
SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE, null);
+
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE][0xA0] = 
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE, 
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_TAG, null);
+
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_TAG][0x30] = 
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_TAG, 
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_LENGTH, null);
+        
+        
super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_LENGTH][0x30] = new 
GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_LENGTH, 
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_VALUE, null);
+        
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_VALUE][0x30] 
= new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_VALUE, 
SpnegoStatesEnum.SPNEGO_MECH_TYPE_TAG, null);
+        
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPE_TAG][0x06] = new 
GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPE_TAG, 
SpnegoStatesEnum.SPNEGO_MECH_TYPE_TAG, null);
+        
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPE_LENGTH][0x06] = 
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPE_LENGTH, 
SpnegoStatesEnum.SPNEGO_MECH_TYPE_VALUE, null);
+
+        super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPE_VALUE][0x06] = new 
GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPE_VALUE, 
SpnegoStatesEnum.SPNEGO_MECH_TYPE_FOLLOW_TAG, null);
+
+        
+        
+        
+        // NegTokenInit ::= SEQUENCE {
+        //    ...
+        //    reqFlags      [1]  ContextFlags  OPTIONAL, (Length)
+        //    ...
+        
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG][0xA1]
 = new GrammarTransition( 
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG, 
SpnegoStatesEnum.SPNEGO_REQ_FLAGS_LENGTH, null);
+
+        // NegTokenInit ::= SEQUENCE {
+        //    ...
+        //    mechToken     [2]  OCTET STRING  OPTIONAL, (Length)
+        //    ...
+        
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG][0xA2]
 = new GrammarTransition( 
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG, 
SpnegoStatesEnum.SPNEGO_MECH_TOKEN_LENGTH, null);
+
+        // NegTokenInit ::= SEQUENCE {
+        //    ...
+        //    mechListMIC   [3]  OCTET STRING  OPTIONAL } (Length)
+        
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG][0xA3]
 = new GrammarTransition( 
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG, 
SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH, null);
     }
 }

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=164953&r1=164952&r2=164953&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 00:05:09 2005
@@ -44,6 +44,55 @@
     /** SPNEGO neg token init SEQUENCE Value */
     public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE = 5;
     
+    /** SPNEGO neg token init SEQUENCE Value next tag */
+    public static final int SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE_TAG = 6;
+    
+    /** 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;
+    
+    /** 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;
+    
+    /** 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;
+    
+    /** 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;
+    
+
+    /** SPNEGO mech token length */
+    public static final int SPNEGO_MECH_TOKEN_LENGTH = 7;
+
+
+    /** SPNEGO mech list MIC length */
+    public static final int SPNEGO_MECH_LIST_MIC_LENGTH = 7;
+
+
     /** SPNEGO neg token targ Tag */
     public static final int SPNEGO_NEG_TOKEN_TARG_TAG = 6;
 
@@ -54,7 +103,7 @@
     public static final int SPNEGO_NEG_TOKEN_TARG_VALUE = 8;
     
     /** SPNEGO last state */
-    public static final int LAST_SPNEGO_STATE = 10;
+    public static final int LAST_SPNEGO_STATE = 16;
 
     /** SPNEGO Grammar */
     public static final int SPNEGO_GRAMMAR = 0;


Reply via email to