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 2010/11/12 00:14:58 UTC
svn commit: r1034194 - in
/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos:
./ codec/kdcReqBody/ codec/kdcReqBody/actions/ components/
Author: elecharny
Date: Thu Nov 11 23:14:57 2010
New Revision: 1034194
URL: http://svn.apache.org/viewvc?rev=1034194&view=rev
Log:
Some more states handled for the KDC-REQ-BODY
Added:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreFrom.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreRTime.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreSName.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreTill.java
Modified:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyGrammar.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyStatesEnum.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreCName.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreKdcOptions.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/KdcReqBody.java
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java Thu Nov 11 23:14:57 2010
@@ -67,12 +67,24 @@ public class KerberosTime
sdf.setTimeZone( UTC );
}
+
/**
* Creates a new instance of a KerberosTime object
*/
public KerberosTime()
{
}
+
+
+ /**
+ * Creates a new instance of a KerberosTime object
+ *
+ * @param date the KerberosTime to store
+ */
+ public KerberosTime( String date )
+ {
+ setDate( date );
+ }
/**
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyGrammar.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyGrammar.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyGrammar.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyGrammar.java Thu Nov 11 23:14:57 2010
@@ -28,8 +28,11 @@ import org.apache.directory.shared.kerbe
import org.apache.directory.shared.kerberos.codec.actions.CheckNotNullLength;
import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.KdcReqBodyInit;
import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreCName;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreFrom;
import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreKdcOptions;
import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreRealm;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreSName;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.actions.StoreTill;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,7 +64,7 @@ public final class KdcReqBodyGrammar ext
setName( KdcReqBodyGrammar.class.getName() );
// Create the transitions table
- super.transitions = new GrammarTransition[KdcReqBodyStatesEnum.LAST_KRB_REQ_BODY_STATE.ordinal()][256];
+ super.transitions = new GrammarTransition[KdcReqBodyStatesEnum.LAST_KDC_REQ_BODY_STATE.ordinal()][256];
// ============================================================================================
// KdcReqBody
@@ -71,7 +74,7 @@ public final class KdcReqBodyGrammar ext
// --------------------------------------------------------------------------------------------
// KDC-REQ-BODY ::= SEQUENCE {
super.transitions[KdcReqBodyStatesEnum.START_STATE.ordinal()][UniversalTag.SEQUENCE.getValue()] = new GrammarTransition(
- KdcReqBodyStatesEnum.START_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_TAG_STATE, UniversalTag.SEQUENCE.getValue(),
+ KdcReqBodyStatesEnum.START_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_TAG_STATE, UniversalTag.SEQUENCE.getValue(),
new KdcReqBodyInit() );
// --------------------------------------------------------------------------------------------
@@ -79,8 +82,8 @@ public final class KdcReqBodyGrammar ext
// --------------------------------------------------------------------------------------------
// KDC-REQ-BODY ::= SEQUENCE {
// kdc-options [0]
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_KDC_OPTIONS_TAG] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_TAG_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_STATE, KerberosConstants.KDC_REQ_BODY_KDC_OPTIONS_TAG,
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_KDC_OPTIONS_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_STATE, KerberosConstants.KDC_REQ_BODY_KDC_OPTIONS_TAG,
new CheckNotNullLength() );
// --------------------------------------------------------------------------------------------
@@ -88,8 +91,8 @@ public final class KdcReqBodyGrammar ext
// --------------------------------------------------------------------------------------------
// KDC-REQ-BODY ::= SEQUENCE {
// kdc-options [0] KDCOptions
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_STATE.ordinal()][UniversalTag.BIT_STRING.getValue()] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_KDC_OPTIONS_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_CNAME_TAG_STATE, UniversalTag.BIT_STRING.getValue(),
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_STATE.ordinal()][UniversalTag.BIT_STRING.getValue()] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_KDC_OPTIONS_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_CNAME_TAG_STATE, UniversalTag.BIT_STRING.getValue(),
new StoreKdcOptions() );
// --------------------------------------------------------------------------------------------
@@ -98,8 +101,8 @@ public final class KdcReqBodyGrammar ext
// KDC-REQ-BODY ::= SEQUENCE {
// ...
// cname [1]
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_CNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_CNAME_TAG] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_CNAME_TAG_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_TAG_STATE, KerberosConstants.KDC_REQ_BODY_CNAME_TAG,
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_CNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_CNAME_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_CNAME_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_TAG_STATE, KerberosConstants.KDC_REQ_BODY_CNAME_TAG,
new StoreCName() );
// --------------------------------------------------------------------------------------------
@@ -108,8 +111,8 @@ public final class KdcReqBodyGrammar ext
// KDC-REQ-BODY ::= SEQUENCE {
// ...
// realm [2]
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_CNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_REALM_TAG] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_CNAME_TAG_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_TAG_STATE, KerberosConstants.KDC_REQ_BODY_REALM_TAG,
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_CNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_REALM_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_CNAME_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_TAG_STATE, KerberosConstants.KDC_REQ_BODY_REALM_TAG,
new CheckNotNullLength() );
// --------------------------------------------------------------------------------------------
@@ -118,8 +121,8 @@ public final class KdcReqBodyGrammar ext
// KDC-REQ-BODY ::= SEQUENCE {
// ...
// realm [2]
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_REALM_TAG] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_TAG_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_STATE, KerberosConstants.KDC_REQ_BODY_REALM_TAG,
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_REALM_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_STATE, KerberosConstants.KDC_REQ_BODY_REALM_TAG,
new CheckNotNullLength() );
// --------------------------------------------------------------------------------------------
@@ -128,10 +131,100 @@ public final class KdcReqBodyGrammar ext
// KDC-REQ-BODY ::= SEQUENCE {
// ...
// realm [2] Realm
- super.transitions[KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_STATE.ordinal()][UniversalTag.GENERAL_STRING.getValue()] = new GrammarTransition(
- KdcReqBodyStatesEnum.KRB_REQ_BODY_REALM_STATE, KdcReqBodyStatesEnum.KRB_REQ_BODY_SNAME_TAG_STATE, UniversalTag.GENERAL_STRING.getValue(),
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_STATE.ordinal()][UniversalTag.GENERAL_STRING.getValue()] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_REALM_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE, UniversalTag.GENERAL_STRING.getValue(),
new StoreRealm() );
- }
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from realm value to sname tag
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // sname [3]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_SNAME_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_TAG_STATE, KerberosConstants.KDC_REQ_BODY_SNAME_TAG,
+ new StoreSName() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from sname tag to from tag
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // from [4]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_FROM_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_STATE, KerberosConstants.KDC_REQ_BODY_FROM_TAG,
+ new CheckNotNullLength() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from sname tag to till tag (from is empty)
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // till [5]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_TILL_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE, KerberosConstants.KDC_REQ_BODY_TILL_TAG,
+ new CheckNotNullLength() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from realm value to from tag (sname is empty)
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // from [4]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_FROM_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_STATE, KerberosConstants.KDC_REQ_BODY_FROM_TAG,
+ new CheckNotNullLength() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from from tag to from value
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // from [4] KerberosTime
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_STATE.ordinal()][UniversalTag.GENERALIZED_TIME.getValue()] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_FROM_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_TAG_STATE, UniversalTag.GENERALIZED_TIME.getValue(),
+ new StoreFrom() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from realm value to till tag (sname and from are empty)
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // till [4]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_TILL_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_SNAME_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE, KerberosConstants.KDC_REQ_BODY_TILL_TAG,
+ new CheckNotNullLength() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from till tag to till value
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // till [5]
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_TAG_STATE.ordinal()][KerberosConstants.KDC_REQ_BODY_TILL_TAG] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE, KerberosConstants.KDC_REQ_BODY_TILL_TAG,
+ new CheckNotNullLength() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from till tag to till value
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // till [5] KerberosTime
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_TAG_STATE.ordinal()][UniversalTag.GENERALIZED_TIME.getValue()] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_TAG_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE, UniversalTag.GENERALIZED_TIME.getValue(),
+ new StoreTill() );
+
+ // --------------------------------------------------------------------------------------------
+ // Transition from till tag to till value
+ // --------------------------------------------------------------------------------------------
+ // KDC-REQ-BODY ::= SEQUENCE {
+ // ...
+ // till [5] KerberosTime
+ super.transitions[KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE.ordinal()][UniversalTag.GENERALIZED_TIME.getValue()] = new GrammarTransition(
+ KdcReqBodyStatesEnum.KDC_REQ_BODY_TILL_STATE, KdcReqBodyStatesEnum.KDC_REQ_BODY_RTIME_STATE, UniversalTag.GENERALIZED_TIME.getValue(),
+ new StoreTill() );
+}
// ~ Methods
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyStatesEnum.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyStatesEnum.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyStatesEnum.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/KdcReqBodyStatesEnum.java Thu Nov 11 23:14:57 2010
@@ -37,47 +37,47 @@ public enum KdcReqBodyStatesEnum impleme
START_STATE, // 0
// ----- KDC-REQ-BODY message --------------------------------------
- KRB_REQ_BODY_SEQ_STATE, // 1
+ KDC_REQ_BODY_SEQ_STATE, // 1
- KRB_REQ_BODY_KDC_OPTIONS_TAG_STATE, // 2
- KRB_REQ_BODY_KDC_OPTIONS_STATE, // 3
+ KDC_REQ_BODY_KDC_OPTIONS_TAG_STATE, // 2
+ KDC_REQ_BODY_KDC_OPTIONS_STATE, // 3
- KRB_REQ_BODY_CNAME_TAG_STATE, // 4
- KRB_REQ_BODY_CNAME_STATE, // 5
+ KDC_REQ_BODY_CNAME_TAG_STATE, // 4
+ KDC_REQ_BODY_CNAME_STATE, // 5
- KRB_REQ_BODY_REALM_TAG_STATE, // 6
- KRB_REQ_BODY_REALM_STATE, // 7
+ KDC_REQ_BODY_REALM_TAG_STATE, // 6
+ KDC_REQ_BODY_REALM_STATE, // 7
- KRB_REQ_BODY_SNAME_TAG_STATE, // 8
- KRB_REQ_BODY_SNAME_STATE, // 9
+ KDC_REQ_BODY_SNAME_TAG_STATE, // 8
+ KDC_REQ_BODY_SNAME_STATE, // 9
- KRB_REQ_BODY_FROM_TAG_STATE, // 10
- KRB_REQ_BODY_FROM_STATE, // 11
+ KDC_REQ_BODY_FROM_TAG_STATE, // 10
+ KDC_REQ_BODY_FROM_STATE, // 11
- KRB_REQ_BODY_TILL_TAG_STATE, // 12
- KRB_REQ_BODY_TILL_STATE, // 13
+ KDC_REQ_BODY_TILL_TAG_STATE, // 12
+ KDC_REQ_BODY_TILL_STATE, // 13
- KRB_REQ_BODY_RTIME_TAG_STATE, // 14
- KRB_REQ_BODY_RTIME_STATE, // 15
+ KDC_REQ_BODY_RTIME_TAG_STATE, // 14
+ KDC_REQ_BODY_RTIME_STATE, // 15
- KRB_REQ_BODY_NONCE_TAG_STATE, // 16
- KRB_REQ_BODY_NONCE_STATE, // 17
+ KDC_REQ_BODY_NONCE_TAG_STATE, // 16
+ KDC_REQ_BODY_NONCE_STATE, // 17
- KRB_REQ_BODY_ETYPE_TAG_STATE, // 18
- KRB_REQ_BODY_ETYPE_SEQ_STATE, // 19
- KRB_REQ_BODY_ETYPE_STATE, // 20
+ KDC_REQ_BODY_ETYPE_TAG_STATE, // 18
+ KDC_REQ_BODY_ETYPE_SEQ_STATE, // 19
+ KDC_REQ_BODY_ETYPE_STATE, // 20
- KRB_REQ_BODY_ADDRESSES_TAG_STATE, // 21
- KRB_REQ_BODY_ADDRESSES_STATE, // 22
+ KDC_REQ_BODY_ADDRESSES_TAG_STATE, // 21
+ KDC_REQ_BODY_ADDRESSES_STATE, // 22
- KRB_REQ_BODY_ENC_AUTH_DATA_TAG_STATE, // 2
- KRB_REQ_BODY_ENC_AUTH_DATA_STATE, // 2
+ KDC_REQ_BODY_ENC_AUTH_DATA_TAG_STATE, // 2
+ KDC_REQ_BODY_ENC_AUTH_DATA_STATE, // 2
- KRB_REQ_BODY_ADDITIONAL_TICKETS_TAG_STATE, // 2
- KRB_REQ_BODY_ADDITIONAL_TICKETS_STATE, // 2
+ KDC_REQ_BODY_ADDITIONAL_TICKETS_TAG_STATE, // 2
+ KDC_REQ_BODY_ADDITIONAL_TICKETS_STATE, // 2
// End
- LAST_KRB_REQ_BODY_STATE; // 8
+ LAST_KDC_REQ_BODY_STATE; // 8
/**
@@ -88,7 +88,7 @@ public enum KdcReqBodyStatesEnum impleme
*/
public String getGrammarName( int grammar )
{
- return "KRB_REQ_BODY_GRAMMAR";
+ return "KDC_REQ_BODY_GRAMMAR";
}
@@ -102,7 +102,7 @@ public enum KdcReqBodyStatesEnum impleme
{
if ( grammar instanceof KerberosMessageGrammar )
{
- return "KRB_REQ_BODY_GRAMMAR";
+ return "KDC_REQ_BODY_GRAMMAR";
}
else
{
@@ -119,7 +119,7 @@ public enum KdcReqBodyStatesEnum impleme
*/
public String getState( int state )
{
- return ( ( state == LAST_KRB_REQ_BODY_STATE.ordinal() ) ? "KRB_REQ_BODY_END_STATE" : name() );
+ return ( ( state == LAST_KDC_REQ_BODY_STATE.ordinal() ) ? "KDC_REQ_BODY_END_STATE" : name() );
}
@@ -128,7 +128,7 @@ public enum KdcReqBodyStatesEnum impleme
*/
public boolean isEndState()
{
- return this == LAST_KRB_REQ_BODY_STATE;
+ return this == LAST_KDC_REQ_BODY_STATE;
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreCName.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreCName.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreCName.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreCName.java Thu Nov 11 23:14:57 2010
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
/**
- * The action used to store the KDCOptions
+ * The action used to store the CName
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@@ -49,7 +49,7 @@ public class StoreCName extends GrammarA
/**
- * Instantiates a new StoreKdcOptions action.
+ * Instantiates a new StoreCName action.
*/
public StoreCName()
{
@@ -80,7 +80,7 @@ public class StoreCName extends GrammarA
PrincipalNameContainer principalNameContainer = new PrincipalNameContainer();
- // Decode the Ticket PDU
+ // Decode the PrincipalName PDU
try
{
principalNameDecoder.decode( container.getStream(), principalNameContainer );
Added: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreFrom.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreFrom.java?rev=1034194&view=auto
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreFrom.java (added)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreFrom.java Thu Nov 11 23:14:57 2010
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.kerberos.codec.kdcReqBody.actions;
+
+
+import org.apache.directory.shared.asn1.ber.Asn1Container;
+import org.apache.directory.shared.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.Value;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.KdcReqBodyContainer;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.ldap.util.StringTools;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The action used to store the from KerberosTime
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class StoreFrom extends GrammarAction
+{
+ /** The logger */
+ private static final Logger LOG = LoggerFactory.getLogger( StoreFrom.class );
+
+ /** Speedup for logs */
+ private static final boolean IS_DEBUG = LOG.isDebugEnabled();
+
+
+ /**
+ * Instantiates a new StoreFrom action.
+ */
+ public StoreFrom()
+ {
+ super( "Stores the From" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void action( Asn1Container container ) throws DecoderException
+ {
+ KdcReqBodyContainer kdcReqBodyContainer = ( KdcReqBodyContainer ) container;
+
+ TLV tlv = kdcReqBodyContainer.getCurrentTLV();
+
+ // The Length should not be null and should be 15
+ if ( tlv.getLength() != 15 )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+
+ KdcReqBody kdcReqBody = kdcReqBodyContainer.getKdcReqBody();
+
+ // The value is the KerberosTime
+ Value value = tlv.getValue();
+ String date = StringTools.utf8ToString( value.getData() );
+
+ try
+ {
+ KerberosTime from = new KerberosTime( date );
+ kdcReqBody.setFrom( from );
+
+ if ( IS_DEBUG )
+ {
+ LOG.debug( "From : {}", from );
+ }
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+ }
+}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreKdcOptions.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreKdcOptions.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreKdcOptions.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreKdcOptions.java Thu Nov 11 23:14:57 2010
@@ -77,7 +77,6 @@ public class StoreKdcOptions extends Gra
KdcOptions kdcOptions = new KdcOptions( tlv.getValue().getData() );
kdcReqBody.setKdcOptions( kdcOptions );
- System.out.println( kdcOptions );
if ( IS_DEBUG )
{
Added: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreRTime.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreRTime.java?rev=1034194&view=auto
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreRTime.java (added)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreRTime.java Thu Nov 11 23:14:57 2010
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.kerberos.codec.kdcReqBody.actions;
+
+
+import org.apache.directory.shared.asn1.ber.Asn1Container;
+import org.apache.directory.shared.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.Value;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.KdcReqBodyContainer;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.ldap.util.StringTools;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The action used to store the rtime KerberosTime
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class StoreRTime extends GrammarAction
+{
+ /** The logger */
+ private static final Logger LOG = LoggerFactory.getLogger( StoreRTime.class );
+
+ /** Speedup for logs */
+ private static final boolean IS_DEBUG = LOG.isDebugEnabled();
+
+
+ /**
+ * Instantiates a new StoreRTime action.
+ */
+ public StoreRTime()
+ {
+ super( "Stores the RTime" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void action( Asn1Container container ) throws DecoderException
+ {
+ KdcReqBodyContainer kdcReqBodyContainer = ( KdcReqBodyContainer ) container;
+
+ TLV tlv = kdcReqBodyContainer.getCurrentTLV();
+
+ // The Length should not be null and should be 15
+ if ( tlv.getLength() != 15 )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+
+ KdcReqBody kdcReqBody = kdcReqBodyContainer.getKdcReqBody();
+
+ // The value is the KerberosTime
+ Value value = tlv.getValue();
+ String date = StringTools.utf8ToString( value.getData() );
+
+ try
+ {
+ KerberosTime rtime = new KerberosTime( date );
+ kdcReqBody.setRtime( rtime );
+
+ if ( IS_DEBUG )
+ {
+ LOG.debug( "RTime : {}", rtime );
+ }
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+ }
+}
Added: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreSName.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreSName.java?rev=1034194&view=auto
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreSName.java (added)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreSName.java Thu Nov 11 23:14:57 2010
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.kerberos.codec.kdcReqBody.actions;
+
+
+import org.apache.directory.shared.asn1.ber.Asn1Container;
+import org.apache.directory.shared.asn1.ber.Asn1Decoder;
+import org.apache.directory.shared.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.KdcReqBodyContainer;
+import org.apache.directory.shared.kerberos.codec.principalName.PrincipalNameContainer;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.kerberos.components.PrincipalName;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The action used to store the SName
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class StoreSName extends GrammarAction
+{
+ /** The logger */
+ private static final Logger LOG = LoggerFactory.getLogger( StoreSName.class );
+
+ /** Speedup for logs */
+ private static final boolean IS_DEBUG = LOG.isDebugEnabled();
+
+
+ /**
+ * Instantiates a new StoreSName action.
+ */
+ public StoreSName()
+ {
+ super( "Stores the SName" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void action( Asn1Container container ) throws DecoderException
+ {
+ KdcReqBodyContainer kdcReqBodyContainer = ( KdcReqBodyContainer ) container;
+
+ TLV tlv = kdcReqBodyContainer.getCurrentTLV();
+
+ // The Length should not be null
+ if ( tlv.getLength() == 0 )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+
+ // Now, let's decode the PrincipalName
+ Asn1Decoder principalNameDecoder = new Asn1Decoder();
+
+ PrincipalNameContainer principalNameContainer = new PrincipalNameContainer();
+
+ // Decode the PrincipalName PDU
+ try
+ {
+ principalNameDecoder.decode( container.getStream(), principalNameContainer );
+ }
+ catch ( DecoderException de )
+ {
+ throw de;
+ }
+
+ // Store the Principal name in the container
+ PrincipalName principalName = principalNameContainer.getPrincipalName();
+ KdcReqBody kdcReqBody = kdcReqBodyContainer.getKdcReqBody();
+ kdcReqBody.setSName( principalName );
+
+ // Update the parent
+ container.setParentTLV( tlv.getParent() );
+
+ if ( IS_DEBUG )
+ {
+ LOG.debug( "SName : {}", principalName );
+ }
+ }
+}
Added: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreTill.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreTill.java?rev=1034194&view=auto
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreTill.java (added)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/kdcReqBody/actions/StoreTill.java Thu Nov 11 23:14:57 2010
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.kerberos.codec.kdcReqBody.actions;
+
+
+import org.apache.directory.shared.asn1.ber.Asn1Container;
+import org.apache.directory.shared.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.Value;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.kdcReqBody.KdcReqBodyContainer;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.ldap.util.StringTools;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The action used to store the till KerberosTime
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class StoreTill extends GrammarAction
+{
+ /** The logger */
+ private static final Logger LOG = LoggerFactory.getLogger( StoreTill.class );
+
+ /** Speedup for logs */
+ private static final boolean IS_DEBUG = LOG.isDebugEnabled();
+
+
+ /**
+ * Instantiates a new StoreTill action.
+ */
+ public StoreTill()
+ {
+ super( "Stores the Till" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void action( Asn1Container container ) throws DecoderException
+ {
+ KdcReqBodyContainer kdcReqBodyContainer = ( KdcReqBodyContainer ) container;
+
+ TLV tlv = kdcReqBodyContainer.getCurrentTLV();
+
+ // The Length should not be null and should be 15
+ if ( tlv.getLength() != 15 )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+
+ KdcReqBody kdcReqBody = kdcReqBodyContainer.getKdcReqBody();
+
+ // The value is the KerberosTime
+ Value value = tlv.getValue();
+ String date = StringTools.utf8ToString( value.getData() );
+
+ try
+ {
+ KerberosTime till = new KerberosTime( date );
+ kdcReqBody.setTill( till );
+
+ if ( IS_DEBUG )
+ {
+ LOG.debug( "Till : {}", till );
+ }
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ LOG.error( I18n.err( I18n.ERR_04066 ) );
+
+ // This will generate a PROTOCOL_ERROR
+ throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
+ }
+ }
+}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/KdcReqBody.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/KdcReqBody.java?rev=1034194&r1=1034193&r2=1034194&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/KdcReqBody.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/KdcReqBody.java Thu Nov 11 23:14:57 2010
@@ -760,7 +760,7 @@ public class KdcReqBody
sb.append( "cname : " ).append( cName ).append( '\n' );
}
- sb.append( "ream : " ).append( realm ).append( '\n' );
+ sb.append( "realm : " ).append( realm ).append( '\n' );
if ( sName != null )
{
@@ -775,7 +775,7 @@ public class KdcReqBody
sb.append( "till : " ).append( till ).append( '\n' );
- if ( from != null )
+ if ( rtime != null )
{
sb.append( "rtime : " ).append( rtime ).append( '\n' );
}