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/29 01:03:55 UTC
svn commit: r165223 -
/directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.java
Author: elecharny
Date: Thu Apr 28 16:03:55 2005
New Revision: 165223
URL: http://svn.apache.org/viewcvs?rev=165223&view=rev
Log:
Added the missing transition in the SPNEGO grammar for the NegTokenInit part.
The NegTokenTarg part is still to be added.
Actions are to be completed.
Modified:
directory/sandbox/trunk/asn1-new-codec/src/java/org/apache/asn1/spnego/codec/grammars/SpnegoGrammar.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=165223&r1=165222&r2=165223&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 Thu Apr 28 16:03:55 2005
@@ -171,10 +171,11 @@
new GrammarTransition( SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_VALUE,
SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG, null );
+ //------------------------------------------------------------------------------------------
// NegTokenInit ::= SEQUENCE {
// mechTypes [0] MechTypeList OPTIONAL, (Tag)
// ...
- // We have a 0xA0 tag, so this is a mechTypes. We have to check the length
+ // We have a 0xA0 tag, so this is a mechTypes.
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG][0xA0] =
new GrammarTransition( SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG,
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH, null );
@@ -187,12 +188,22 @@
// in the Spnego object
super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH][0xA0] =
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPES_LENGTH,
- SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE, null );
+ SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE,
+ new GrammarAction( "Mech Type list sequence Length" )
+ {
+ public void action( IAsn1Container container ) throws DecoderException
+ {
+ /*SpnegoContainer spnegoContainer = ( SpnegoContainer ) container;
+ SpnegoPOJO spnego = spnegoContainer.getSpnego();
+ checkLength( spnego, spnegoContainer.getCurrentTLV() );*/
+ return;
+ }
+ } );
// NegTokenInit ::= SEQUENCE {
// mechTypes [0] MechTypeList OPTIONAL, (Value)
// ...
- // We have nothing to do.
+ //
super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE][0xA0] = new GrammarTransition(
SpnegoStatesEnum.SPNEGO_MECH_TYPES_VALUE,
SpnegoStatesEnum.SPNEGO_MECH_TYPES_LIST_TAG, null );
@@ -234,6 +245,7 @@
SpnegoStatesEnum.SPNEGO_MECH_TYPE_FOLLOWING_TAG, SpnegoStatesEnum.SPNEGO_MECH_TYPE_LENGTH,
null );
+ //------------------------------------------------------------------------------------------
// NegTokenInit ::= SEQUENCE {
// ...
// reqFlags [1] ContextFlags OPTIONAL, (Tag)
@@ -255,7 +267,7 @@
// ...
// reqFlags [1] ContextFlags OPTIONAL, (Length)
// ...
- super.transitions[SpnegoStatesEnum.SPNEGO_REQ_FLAGS_LENGTH][0x03] = new GrammarTransition(
+ super.transitions[SpnegoStatesEnum.SPNEGO_REQ_FLAGS_LENGTH][0xA1] = new GrammarTransition(
SpnegoStatesEnum.SPNEGO_REQ_FLAGS_LENGTH, SpnegoStatesEnum.SPNEGO_REQ_FLAGS_VALUE,
null );
@@ -264,10 +276,53 @@
// reqFlags [1] ContextFlags OPTIONAL, (Value)
// ...
// The next state will be the MechToken following
- super.transitions[SpnegoStatesEnum.SPNEGO_REQ_FLAGS_VALUE][0x03] = new GrammarTransition(
- SpnegoStatesEnum.SPNEGO_REQ_FLAGS_VALUE, SpnegoStatesEnum.SPNEGO_REQ_FLAGS_FOLLOWING_TAG,
+ super.transitions[SpnegoStatesEnum.SPNEGO_REQ_FLAGS_VALUE][0xA1] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_REQ_FLAGS_VALUE, SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_TAG,
null );
+ // ContextFlags ::= BIT_STRING { (Tag)
+ // delegFlag (0),
+ // mutualFlag (1),
+ // replayFlag (2),
+ // sequenceFlag (3),
+ // anonFlag (4),
+ // confFlag (5),
+ // integFlag (6)
+ // }
+ // The next state will be the MechToken following
+ super.transitions[SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_TAG][0x03] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_TAG, SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_LENGTH,
+ null );
+
+ // ContextFlags ::= BIT_STRING { (Length)
+ // delegFlag (0),
+ // mutualFlag (1),
+ // replayFlag (2),
+ // sequenceFlag (3),
+ // anonFlag (4),
+ // confFlag (5),
+ // integFlag (6)
+ // }
+ // The next state will be the MechToken following
+ super.transitions[SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_LENGTH][0x03] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_LENGTH, SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_VALUE,
+ null );
+
+ // ContextFlags ::= BIT_STRING { (value)
+ // delegFlag (0),
+ // mutualFlag (1),
+ // replayFlag (2),
+ // sequenceFlag (3),
+ // anonFlag (4),
+ // confFlag (5),
+ // integFlag (6)
+ // }
+ // The next state will be the MechToken following
+ super.transitions[SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_VALUE][0x03] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_CONTEXT_FLAGS_VALUE, SpnegoStatesEnum.SPNEGO_REQ_FLAGS_FOLLOWING_TAG,
+ null );
+
+ //------------------------------------------------------------------------------------------
// NegTokenInit ::= SEQUENCE { (Length)
// ...
// mechToken [2] OCTET STRING OPTIONAL,
@@ -284,7 +339,7 @@
new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPE_FOLLOWING_TAG,
SpnegoStatesEnum.SPNEGO_MECH_TOKEN_LENGTH, null );
- // NegTokenInit ::= SEQUENCE { (Length)
+ // NegTokenInit ::= SEQUENCE {
// ...
// mechToken [2] OCTET STRING OPTIONAL,
// ...
@@ -318,15 +373,60 @@
// mechToken [2] OCTET STRING OPTIONAL, (Value)
super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TOKEN_OCTET_STRING_VALUE][0x04] = new GrammarTransition(
SpnegoStatesEnum.SPNEGO_MECH_TOKEN_OCTET_STRING_VALUE,
- -1, null );
-
+ SpnegoStatesEnum.SPNEGO_METH_TOKEN_FOLLOWING_TAG, null );
+ //------------------------------------------------------------------------------------------
// NegTokenInit ::= SEQUENCE {
// ...
- // mechListMIC [3] OCTET STRING OPTIONAL } (Length)
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Tag)
super.transitions[SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG][0xA3] =
new GrammarTransition( SpnegoStatesEnum.SPNEGO_NEG_TOKEN_INIT_SEQUENCE_FOLLOWING_TAG,
SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH, null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Tag)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_TYPE_FOLLOWING_TAG][0xA3] =
+ new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_TYPE_FOLLOWING_TAG,
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH, null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Tag)
+ super.transitions[SpnegoStatesEnum.SPNEGO_REQ_FLAGS_FOLLOWING_TAG][0xA3] =
+ new GrammarTransition( SpnegoStatesEnum.SPNEGO_REQ_FLAGS_FOLLOWING_TAG,
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH, null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Tag)
+ super.transitions[SpnegoStatesEnum.SPNEGO_METH_TOKEN_FOLLOWING_TAG][0xA3] =
+ new GrammarTransition( SpnegoStatesEnum.SPNEGO_METH_TOKEN_FOLLOWING_TAG,
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH, null );
+
+ // NegTokenInit ::= SEQUENCE {
+ // ...
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Length)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH][0xA3] =
+ new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_LENGTH,
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_VALUE, null );
+
+ // NegTokenInit ::= SEQUENCE {
+ // ...
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Value)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_VALUE][0xA3] =
+ new GrammarTransition( SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_VALUE,
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_TAG, null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Tag)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_TAG][0x04] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_TAG, SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_LENGTH,
+ null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Length)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_LENGTH][0x04] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_LENGTH, SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_VALUE,
+ null );
+
+ // mechListMIC [3] OCTET STRING OPTIONAL } (Value)
+ super.transitions[SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_VALUE][0x04] = new GrammarTransition(
+ SpnegoStatesEnum.SPNEGO_MECH_LIST_MIC_OCTET_STRING_VALUE,
+ -1, null );
+
}
//~ Methods ------------------------------------------------------------------------------------