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/28 03:08:36 UTC
svn commit: r1039811 - in /directory/apacheds/trunk/kerberos-codec/src:
main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/
main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/
main/java/org/apache/director...
Author: elecharny
Date: Sun Nov 28 02:08:35 2010
New Revision: 1039811
URL: http://svn.apache.org/viewvc?rev=1039811&view=rev
Log:
Used the AbstractReadOctetString all over the codec code
Added:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StorePaDataValue.java
- copied, changed from r1039697, directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StoreValue.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreDataValue.java
- copied, changed from r1039697, directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdData.java
Removed:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StoreValue.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdData.java
Modified:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/StoreAdData.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/StoreChecksum.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encKrbPrivPart/actions/StoreUserData.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encryptionKey/actions/StoreKeyValue.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfo2Entry/actions/StoreS2KParams.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfoEntry/actions/StoreSalt.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/hostAddress/actions/StoreAddress.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbError/actions/StoreEData.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbSafeBody/actions/StoreUserData.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/PaDataGrammar.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/transitedEncoding/actions/StoreContents.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/TypedDataGrammar.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdType.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TypedData.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java
directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/StoreAdData.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/StoreAdData.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/StoreAdData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/authorizationData/actions/StoreAdData.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.authorizationData.AuthorizationDataContainer;
-import org.apache.directory.shared.kerberos.components.AuthorizationData;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,15 +30,8 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreAdData extends GrammarAction
+public class StoreAdData extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreAdData.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new AuthorizationDataAdData action.
*/
@@ -59,40 +44,11 @@ public class StoreAdData extends Grammar
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
AuthorizationDataContainer authDataContainer = ( AuthorizationDataContainer ) container;
-
- TLV tlv = authDataContainer.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 ) );
- }
-
- Value value = tlv.getValue();
-
- // The encrypted data should not be null
- if ( value.getData() == null )
- {
- LOG.error( I18n.err( I18n.ERR_04066 ) );
-
- // This will generate a PROTOCOL_ERROR
- throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
- }
-
- AuthorizationData authData = authDataContainer.getAuthorizationData();
- authData.setCurrentAdData( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "ad-data : {}", StringTools.dumpBytes( value.getData() ) );
- }
-
- authDataContainer.setGrammarEndAllowed( true );
+ authDataContainer.getAuthorizationData().setCurrentAdData( data );
+ container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/StoreChecksum.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/StoreChecksum.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/StoreChecksum.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/checksum/actions/StoreChecksum.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.checksum.ChecksumContainer;
-import org.apache.directory.shared.kerberos.components.Checksum;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,15 +30,8 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreChecksum extends GrammarAction
+public class StoreChecksum extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreChecksum.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new ChecksumData action.
*/
@@ -59,40 +44,11 @@ public class StoreChecksum extends Gramm
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
ChecksumContainer checksumContainer = ( ChecksumContainer ) container;
-
- TLV tlv = checksumContainer.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 ) );
- }
-
- Value value = tlv.getValue();
-
- // The encrypted data should not be null
- if ( value.getData() == null )
- {
- LOG.error( I18n.err( I18n.ERR_04066 ) );
-
- // This will generate a PROTOCOL_ERROR
- throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
- }
-
- Checksum checksum = checksumContainer.getChecksum();
- checksum.setChecksumValue( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "checksum value : {}", StringTools.dumpBytes( value.getData() ) );
- }
-
- checksumContainer.setGrammarEndAllowed( true );
+ checksumContainer.getChecksum().setChecksumValue( data );
+ container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encKrbPrivPart/actions/StoreUserData.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encKrbPrivPart/actions/StoreUserData.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encKrbPrivPart/actions/StoreUserData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encKrbPrivPart/actions/StoreUserData.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.encKrbPrivPart.EncKrbPrivPartContainer;
-import org.apache.directory.shared.kerberos.components.EncKrbPrivPart;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,51 +30,24 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreUserData extends GrammarAction
+public class StoreUserData extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreUserData.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new StoreUserData action.
*/
public StoreUserData()
{
- super( "EncKrbPrivPart user-data" );
+ super( "EncKrbPrivPart user-data", true );
}
/**
* {@inheritDoc}
*/
- public final void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
EncKrbPrivPartContainer encKrbPrivPartContainer = ( EncKrbPrivPartContainer ) container;
-
- TLV tlv = encKrbPrivPartContainer.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 ) );
- }
-
- // The value is the realm
- Value value = tlv.getValue();
-
- EncKrbPrivPart encKrbPrivPart = encKrbPrivPartContainer.getEncKrbPrivPart();
- encKrbPrivPart.setUserData( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "user-data: " + StringTools.dumpBytes( value.getData() ) );
- }
+ encKrbPrivPartContainer.getEncKrbPrivPart().setUserData( data );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encryptionKey/actions/StoreKeyValue.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encryptionKey/actions/StoreKeyValue.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encryptionKey/actions/StoreKeyValue.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/encryptionKey/actions/StoreKeyValue.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.encryptionKey.EncryptionKeyContainer;
-import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,15 +30,8 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreKeyValue extends GrammarAction
+public class StoreKeyValue extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreKeyValue.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new EncryptionKeyKeyValue action.
*/
@@ -59,40 +44,11 @@ public class StoreKeyValue extends Gramm
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
EncryptionKeyContainer encKeyContainer = ( EncryptionKeyContainer ) container;
-
- TLV tlv = encKeyContainer.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 ) );
- }
-
- Value value = tlv.getValue();
-
- // The encrypted data should not be null
- if ( value.getData() == null )
- {
- LOG.error( I18n.err( I18n.ERR_04066 ) );
-
- // This will generate a PROTOCOL_ERROR
- throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
- }
-
- EncryptionKey encKey = encKeyContainer.getEncryptionKey();
- encKey.setKeyValue( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "keyvalue : {}", StringTools.dumpBytes( value.getData() ) );
- }
-
- encKeyContainer.setGrammarEndAllowed( true );
+ encKeyContainer.getEncryptionKey().setKeyValue( data );
+ container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfo2Entry/actions/StoreS2KParams.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfo2Entry/actions/StoreS2KParams.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfo2Entry/actions/StoreS2KParams.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfo2Entry/actions/StoreS2KParams.java Sun Nov 28 02:08:35 2010
@@ -21,68 +21,34 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.etypeInfo2Entry.ETypeInfo2EntryContainer;
-import org.apache.directory.shared.kerberos.components.ETypeInfo2Entry;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
- * The action used to store the ETYPE-INFO2-ENTRY cipher
+ * The action used to store the ETYPE-INFO2-ENTRY s2kparams
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreS2KParams extends GrammarAction
+public class StoreS2KParams extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreS2KParams.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
- * Instantiates a new StoreS2Params action.
+ * Instantiates a new StoreS2KParams action.
*/
public StoreS2KParams()
{
- super( "ETYPE-INFO2-ENTRY s2kparams" );
+ super( "ETYPE-INFO2-ENTRY s2kparams", true );
}
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
ETypeInfo2EntryContainer etypeInfo2EntryContainer = ( ETypeInfo2EntryContainer ) container;
-
- TLV tlv = etypeInfo2EntryContainer.getCurrentTLV();
- ETypeInfo2Entry etypeInfo2Entry = etypeInfo2EntryContainer.getETypeInfo2Entry();
-
- // The Length may be null
- if ( tlv.getLength() != 0 )
- {
- Value value = tlv.getValue();
-
- // The encrypted data may be null
- if ( value.getData() != null )
- {
- etypeInfo2Entry.setS2kparams( value.getData() );
- }
- }
-
- if ( IS_DEBUG )
- {
- LOG.debug( "salt : {}", StringTools.dumpBytes( etypeInfo2Entry.getS2kparams() ) );
- }
-
- // We can end here
+ etypeInfo2EntryContainer.getETypeInfo2Entry().setS2kparams( data );
etypeInfo2EntryContainer.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfoEntry/actions/StoreSalt.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfoEntry/actions/StoreSalt.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfoEntry/actions/StoreSalt.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/etypeInfoEntry/actions/StoreSalt.java Sun Nov 28 02:08:35 2010
@@ -21,15 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.etypeInfoEntry.ETypeInfoEntryContainer;
-import org.apache.directory.shared.kerberos.components.ETypeInfoEntry;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -37,52 +30,25 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreSalt extends GrammarAction
+public class StoreSalt extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreSalt.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new StoreSalt action.
*/
public StoreSalt()
{
- super( "ETYPE-INFO-ENTRY salt" );
+ super( "ETYPE-INFO-ENTRY salt", true );
}
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
ETypeInfoEntryContainer etypeInfoEntryContainer = ( ETypeInfoEntryContainer ) container;
-
- TLV tlv = etypeInfoEntryContainer.getCurrentTLV();
- ETypeInfoEntry etypeInfoEntry = etypeInfoEntryContainer.getETypeInfoEntry();
-
- // The Length may be null
- if ( tlv.getLength() != 0 )
- {
- Value value = tlv.getValue();
-
- // The encrypted data may be null
- if ( value.getData() != null )
- {
- etypeInfoEntry.setSalt( value.getData() );
- }
- }
-
- if ( IS_DEBUG )
- {
- LOG.debug( "salt : {}", StringTools.dumpBytes( etypeInfoEntry.getSalt() ) );
- }
-
- // We can end here
+ etypeInfoEntryContainer.getETypeInfoEntry().setSalt( data );
etypeInfoEntryContainer.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/hostAddress/actions/StoreAddress.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/hostAddress/actions/StoreAddress.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/hostAddress/actions/StoreAddress.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/hostAddress/actions/StoreAddress.java Sun Nov 28 02:08:35 2010
@@ -21,17 +21,8 @@ package org.apache.directory.shared.kerb
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.codec.KerberosMessageGrammar;
+import org.apache.directory.shared.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.hostAddress.HostAddressContainer;
-import org.apache.directory.shared.kerberos.components.HostAddress;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -39,15 +30,8 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreAddress extends GrammarAction
+public class StoreAddress extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( KerberosMessageGrammar.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new HostAddressAddress action.
*/
@@ -60,32 +44,11 @@ public class StoreAddress extends Gramma
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
HostAddressContainer hostAddressContainer = ( HostAddressContainer ) container;
-
- TLV tlv = hostAddressContainer.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 ) );
- }
-
- // Get the address value now
- Value value = tlv.getValue();
-
- HostAddress hostAddressData = hostAddressContainer.getHostAddress();
-
- hostAddressData.setAddress( value.getData() );
- hostAddressContainer.setGrammarEndAllowed( true );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "address : {}" + StringTools.dumpBytes( value.getData() ) );
- }
+ hostAddressContainer.getHostAddress().setAddress( data );
+ container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbError/actions/StoreEData.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbError/actions/StoreEData.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbError/actions/StoreEData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbError/actions/StoreEData.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.krbError.KrbErrorContainer;
-import org.apache.directory.shared.kerberos.messages.KrbError;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,53 +30,25 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreEData extends GrammarAction
+public class StoreEData extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreEData.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new AbstractReadRealm action.
*/
public StoreEData()
{
- super( "KRB-ERROR edata" );
+ super( "KRB-ERROR edata", true );
}
/**
* {@inheritDoc}
*/
- public final void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
KrbErrorContainer krbErrContainer = ( KrbErrorContainer ) container;
-
- TLV tlv = krbErrContainer.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 ) );
- }
-
- // The value is the realm
- Value value = tlv.getValue();
-
- KrbError krbError = krbErrContainer.getKrbError();
- krbError.seteData( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "eData: " + StringTools.dumpBytes( value.getData() ) );
- }
-
+ krbErrContainer.getKrbError().setEData( data );
container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbSafeBody/actions/StoreUserData.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbSafeBody/actions/StoreUserData.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbSafeBody/actions/StoreUserData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/krbSafeBody/actions/StoreUserData.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.krbSafeBody.KrbSafeBodyContainer;
-import org.apache.directory.shared.kerberos.components.KrbSafeBody;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,51 +30,24 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreUserData extends GrammarAction
+public class StoreUserData extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreUserData.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new StoreUserData action.
*/
public StoreUserData()
{
- super( "KRB-SAFE-BODY user-data" );
+ super( "KRB-SAFE-BODY user-data", true );
}
/**
* {@inheritDoc}
*/
- public final void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
KrbSafeBodyContainer krbSafeBodyContainer = ( KrbSafeBodyContainer ) container;
-
- TLV tlv = krbSafeBodyContainer.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 ) );
- }
-
- // The value is the realm
- Value value = tlv.getValue();
-
- KrbSafeBody krbSafeBody = krbSafeBodyContainer.getKrbSafeBody();
- krbSafeBody.setUserData( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "user-data: " + StringTools.dumpBytes( value.getData() ) );
- }
+ krbSafeBodyContainer.getKrbSafeBody().setUserData( data );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/PaDataGrammar.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/PaDataGrammar.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/PaDataGrammar.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/PaDataGrammar.java Sun Nov 28 02:08:35 2010
@@ -28,7 +28,7 @@ import org.apache.directory.shared.asn1.
import org.apache.directory.shared.kerberos.KerberosConstants;
import org.apache.directory.shared.kerberos.codec.padata.actions.PaDataInit;
import org.apache.directory.shared.kerberos.codec.padata.actions.StoreDataType;
-import org.apache.directory.shared.kerberos.codec.padata.actions.StoreValue;
+import org.apache.directory.shared.kerberos.codec.padata.actions.StorePaDataValue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -107,7 +107,7 @@ public final class PaDataGrammar extends
// padata-value [2] OCTET STRING
super.transitions[PaDataStatesEnum.PADATA_VALUE_TAG_STATE.ordinal()][UniversalTag.OCTET_STRING.getValue()] = new GrammarTransition(
PaDataStatesEnum.PADATA_VALUE_TAG_STATE, PaDataStatesEnum.PADATA_VALUE_STATE, UniversalTag.OCTET_STRING.getValue(),
- new StoreValue() );
+ new StorePaDataValue() );
}
Copied: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StorePaDataValue.java (from r1039697, directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StoreValue.java)
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StorePaDataValue.java?p2=directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StorePaDataValue.java&p1=directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StoreValue.java&r1=1039697&r2=1039811&rev=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StoreValue.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/padata/actions/StorePaDataValue.java Sun Nov 28 02:08:35 2010
@@ -21,16 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.padata.PaDataContainer;
-import org.apache.directory.shared.kerberos.components.PaData;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -38,19 +30,12 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreValue extends GrammarAction
+public class StorePaDataValue extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreValue.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new PaDataValue action.
*/
- public StoreValue()
+ public StorePaDataValue()
{
super( "PaData's padata-value" );
}
@@ -59,40 +44,11 @@ public class StoreValue extends GrammarA
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
PaDataContainer paDataContainer = ( PaDataContainer ) container;
-
- TLV tlv = paDataContainer.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 ) );
- }
-
- Value value = tlv.getValue();
-
- // The encrypted data should not be null
- if ( value.getData() == null )
- {
- LOG.error( I18n.err( I18n.ERR_04066 ) );
-
- // This will generate a PROTOCOL_ERROR
- throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
- }
-
- PaData paData = paDataContainer.getPaData();
- paData.setPaDataValue( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "padata value : {}", StringTools.dumpBytes( value.getData() ) );
- }
-
- paDataContainer.setGrammarEndAllowed( true );
+ paDataContainer.getPaData().setPaDataValue( data );
+ container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/transitedEncoding/actions/StoreContents.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/transitedEncoding/actions/StoreContents.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/transitedEncoding/actions/StoreContents.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/transitedEncoding/actions/StoreContents.java Sun Nov 28 02:08:35 2010
@@ -21,70 +21,34 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.transitedEncoding.TransitedEncodingContainer;
-import org.apache.directory.shared.kerberos.components.TransitedEncoding;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
- * The action used to read the TransitedEncoding etext
+ * The action used to read the TransitedEncoding contents
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreContents extends GrammarAction
+public class StoreContents extends AbstractReadOctetString
{
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreContents.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new StoreContents action.
*/
public StoreContents()
{
- super( "TransitedEncoding etext" );
+ super( "TransitedEncoding contents", true );
}
/**
* {@inheritDoc}
*/
- public final void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
TransitedEncodingContainer transitedEncodingContainer = ( TransitedEncodingContainer ) container;
-
- TLV tlv = transitedEncodingContainer.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 ) );
- }
-
- // The value is the realm
- Value value = tlv.getValue();
-
- TransitedEncoding transitedEncoding = transitedEncodingContainer.getTransitedEncoding();
- transitedEncoding.setContents( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "Contents: " + StringTools.dumpBytes( value.getData() ) );
- }
-
+ transitedEncodingContainer.getTransitedEncoding().setContents( data );
container.setGrammarEndAllowed( true );
}
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/TypedDataGrammar.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/TypedDataGrammar.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/TypedDataGrammar.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/TypedDataGrammar.java Sun Nov 28 02:08:35 2010
@@ -26,7 +26,7 @@ import org.apache.directory.shared.asn1.
import org.apache.directory.shared.asn1.ber.tlv.UniversalTag;
import org.apache.directory.shared.asn1.codec.actions.CheckNotNullLength;
import org.apache.directory.shared.kerberos.KerberosConstants;
-import org.apache.directory.shared.kerberos.codec.typedData.actions.StoreTdData;
+import org.apache.directory.shared.kerberos.codec.typedData.actions.StoreDataValue;
import org.apache.directory.shared.kerberos.codec.typedData.actions.StoreTdType;
import org.apache.directory.shared.kerberos.codec.typedData.actions.TypedDataInit;
import org.slf4j.Logger;
@@ -117,7 +117,7 @@ public final class TypedDataGrammar exte
// data-value [1] (OCTET STRING)
super.transitions[TypedDataStatesEnum.TYPED_DATA_TDDATA_TAG_STATE.ordinal()][UniversalTag.OCTET_STRING.getValue()] = new GrammarTransition(
TypedDataStatesEnum.TYPED_DATA_TDDATA_TAG_STATE, TypedDataStatesEnum.TYPED_DATA_TDDATA_STATE, UniversalTag.OCTET_STRING.getValue(),
- new StoreTdData() );
+ new StoreDataValue() );
// --------------------------------------------------------------------------------------------
// Transition from ad-data value to SEQUENCE
Copied: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreDataValue.java (from r1039697, directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdData.java)
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreDataValue.java?p2=directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreDataValue.java&p1=directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdData.java&r1=1039697&r2=1039811&rev=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreDataValue.java Sun Nov 28 02:08:35 2010
@@ -21,15 +21,8 @@ package org.apache.directory.shared.kerb
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.asn1.codec.actions.AbstractReadOctetString;
import org.apache.directory.shared.kerberos.codec.typedData.TypedDataContainer;
-import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -37,20 +30,12 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class StoreTdData extends GrammarAction
+public class StoreDataValue extends AbstractReadOctetString
{
-
- /** The logger */
- private static final Logger LOG = LoggerFactory.getLogger( StoreTdData.class );
-
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
/**
* Instantiates a new StoreTdData action.
*/
- public StoreTdData()
+ public StoreDataValue()
{
super( "TypedData data-value" );
}
@@ -59,40 +44,11 @@ public class StoreTdData extends Grammar
/**
* {@inheritDoc}
*/
- public void action( Asn1Container container ) throws DecoderException
+ @Override
+ protected void setOctetString( byte[] data, Asn1Container container )
{
- TypedDataContainer tdContainer = ( TypedDataContainer ) container;
-
- TLV tlv = tdContainer.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 ) );
- }
-
- Value value = tlv.getValue();
-
- // // The encrypted data should not be null
- // if ( value.getData() == null )
- // {
- // LOG.error( I18n.err( I18n.ERR_04066 ) );
- //
- // // This will generate a PROTOCOL_ERROR
- // throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
- // }
-
- tdContainer.getTypedData().setCurrentTdData( value.getData() );
-
- if ( IS_DEBUG )
- {
- LOG.debug( "data-value : {}", StringTools.dumpBytes( value.getData() ) );
- }
-
- container.setGrammarEndAllowed( true );
+ TypedDataContainer typedDataContainer = ( TypedDataContainer ) container;
+ typedDataContainer.getTypedData().setCurrentDataValue( data );
+ typedDataContainer.setGrammarEndAllowed( true );
}
-
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdType.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdType.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdType.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/typedData/actions/StoreTdType.java Sun Nov 28 02:08:35 2010
@@ -52,7 +52,7 @@ public class StoreTdType extends Abstrac
TypedData typedData = typedDataContainer.getTypedData();
typedData.createNewTD();
- typedData.setCurrentTdType( value );
+ typedData.setCurrentDataType( value );
container.setGrammarEndAllowed( true );
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TypedData.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TypedData.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TypedData.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TypedData.java Sun Nov 28 02:08:35 2010
@@ -53,27 +53,27 @@ public class TypedData extends AbstractA
public class TD
{
/** the type of TypedData */
- private int tdType;
+ private int dataType;
/** the TypedData data */
- private byte[] tdData;
+ private byte[] dataValue;
/**
* @return the TD type
*/
- public int getTdType()
+ public int getDataType()
{
- return tdType;
+ return dataType;
}
/**
* @return the TD data
*/
- public byte[] getTdData()
+ public byte[] getDataValue()
{
- return tdData;
+ return dataValue;
}
}
@@ -90,10 +90,74 @@ public class TypedData extends AbstractA
private static final boolean IS_DEBUG = LOG.isDebugEnabled();
// Storage for computed lengths
- private transient int tdTypeTagLen[];
- private transient int tdDataTagLen[];
- private transient int typedDataSeqLen[];
- private transient int typedDataSeqSeqLen;
+ private transient int dataTypeTagLength[];
+ private transient int dataValueTagLength[];
+ private transient int typedDataSeqLength[];
+ private transient int typedDataSeqSeqLength;
+
+
+ /**
+ * @return the currentTD type
+ */
+ public int getCurrentDataType()
+ {
+ return currentTD.dataType;
+ }
+
+
+ /**
+ * Set the current TD type
+ */
+ public void setCurrentDataType( int tdType )
+ {
+ currentTD.dataType = tdType;
+ }
+
+
+ /**
+ * @return the currentTD data
+ */
+ public byte[] getCurrentDataValue()
+ {
+ return currentTD.dataValue;
+ }
+
+
+ /**
+ * Set the current TD data
+ */
+ public void setCurrentDataValue( byte[] tdData )
+ {
+ currentTD.dataValue = tdData;
+ }
+
+
+ /**
+ * @return the currentTD
+ */
+ public TD getCurrentTD()
+ {
+ return currentTD;
+ }
+
+
+ /**
+ * Create a new currentTD
+ */
+ public void createNewTD()
+ {
+ currentTD = new TD();
+ typedDataList.add( currentTD );
+ }
+
+
+ /**
+ * @return the TypedData
+ */
+ public List<TD> getTypedData()
+ {
+ return typedDataList;
+ }
/**
@@ -116,27 +180,27 @@ public class TypedData extends AbstractA
public int computeLength()
{
int i = 0;
- typedDataSeqLen = new int[typedDataList.size()];
- tdTypeTagLen = new int[typedDataList.size()];
- tdDataTagLen = new int[typedDataList.size()];
+ typedDataSeqLength = new int[typedDataList.size()];
+ dataTypeTagLength = new int[typedDataList.size()];
+ dataValueTagLength = new int[typedDataList.size()];
for ( TD td : typedDataList )
{
- int adTypeLen = Value.getNbBytes( td.tdType );
- tdTypeTagLen[i] = 1 + TLV.getNbBytes( adTypeLen ) + adTypeLen;
- typedDataSeqLen[i] = 1 + TLV.getNbBytes( tdTypeTagLen[i] ) + tdTypeTagLen[i];
+ int adTypeLen = Value.getNbBytes( td.dataType );
+ dataTypeTagLength[i] = 1 + TLV.getNbBytes( adTypeLen ) + adTypeLen;
+ typedDataSeqLength[i] = 1 + TLV.getNbBytes( dataTypeTagLength[i] ) + dataTypeTagLength[i];
- if ( td.tdData != null )
+ if ( td.dataValue != null )
{
- tdDataTagLen[i] = 1 + TLV.getNbBytes( td.tdData.length ) + td.tdData.length;
- typedDataSeqLen[i] += 1 + TLV.getNbBytes( tdDataTagLen[i] ) + tdDataTagLen[i];
+ dataValueTagLength[i] = 1 + TLV.getNbBytes( td.dataValue.length ) + td.dataValue.length;
+ typedDataSeqLength[i] += 1 + TLV.getNbBytes( dataValueTagLength[i] ) + dataValueTagLength[i];
}
- typedDataSeqSeqLen += 1 + TLV.getNbBytes( typedDataSeqLen[i] ) + typedDataSeqLen[i];
+ typedDataSeqSeqLength += 1 + TLV.getNbBytes( typedDataSeqLength[i] ) + typedDataSeqLength[i];
i++;
}
- return 1 + TLV.getNbBytes( typedDataSeqSeqLen ) + typedDataSeqSeqLen;
+ return 1 + TLV.getNbBytes( typedDataSeqSeqLength ) + typedDataSeqSeqLength;
}
@@ -155,25 +219,25 @@ public class TypedData extends AbstractA
{
// The AuthorizationData SEQ OF Tag
buffer.put( UniversalTag.SEQUENCE.getValue() );
- buffer.put( TLV.getBytes( typedDataSeqSeqLen ) );
+ buffer.put( TLV.getBytes( typedDataSeqSeqLength ) );
int i = 0;
for ( TD td : typedDataList )
{
buffer.put( UniversalTag.SEQUENCE.getValue() );
- buffer.put( TLV.getBytes( typedDataSeqLen[i] ) );
+ buffer.put( TLV.getBytes( typedDataSeqLength[i] ) );
// the tdType
buffer.put( ( byte ) KerberosConstants.TYPED_DATA_TDTYPE_TAG );
- buffer.put( TLV.getBytes( tdTypeTagLen[i] ) );
- Value.encode( buffer, td.tdType );
+ buffer.put( TLV.getBytes( dataTypeTagLength[i] ) );
+ Value.encode( buffer, td.dataType );
- if ( td.tdData != null )
+ if ( td.dataValue != null )
{
// the tdData
buffer.put( ( byte ) KerberosConstants.TYPED_DATA_TDDATA_TAG );
- buffer.put( TLV.getBytes( tdDataTagLen[i] ) );
- Value.encode( buffer, td.tdData );
+ buffer.put( TLV.getBytes( dataValueTagLength[i] ) );
+ Value.encode( buffer, td.dataValue );
}
i++;
@@ -181,8 +245,8 @@ public class TypedData extends AbstractA
}
catch ( BufferOverflowException boe )
{
- LOG.error( I18n.err( I18n.ERR_743_CANNOT_ENCODE_TYPED_DATA, 1 + TLV.getNbBytes( typedDataSeqSeqLen )
- + typedDataSeqSeqLen, buffer.capacity() ) );
+ LOG.error( I18n.err( I18n.ERR_743_CANNOT_ENCODE_TYPED_DATA, 1 + TLV.getNbBytes( typedDataSeqSeqLength )
+ + typedDataSeqSeqLength, buffer.capacity() ) );
throw new EncoderException( I18n.err( I18n.ERR_138 ) );
}
@@ -197,70 +261,6 @@ public class TypedData extends AbstractA
/**
- * @return the currentTD type
- */
- public int getCurrentTdType()
- {
- return currentTD.tdType;
- }
-
-
- /**
- * Set the current TD type
- */
- public void setCurrentTdType( int tdType )
- {
- currentTD.tdType = tdType;
- }
-
-
- /**
- * @return the currentTD data
- */
- public byte[] getCurrentTdData()
- {
- return currentTD.tdData;
- }
-
-
- /**
- * Set the current TD data
- */
- public void setCurrentTdData( byte[] tdData )
- {
- currentTD.tdData = tdData;
- }
-
-
- /**
- * @return the currentTD
- */
- public TD getCurrentTD()
- {
- return currentTD;
- }
-
-
- /**
- * Create a new currentTD
- */
- public void createNewTD()
- {
- currentTD = new TD();
- typedDataList.add( currentTD );
- }
-
-
- /**
- * @return the TypedData
- */
- public List<TD> getTypedData()
- {
- return typedDataList;
- }
-
-
- /**
* @see Object#toString()
*/
public String toString()
@@ -281,15 +281,14 @@ public class TypedData extends AbstractA
for ( TD td : typedDataList )
{
sb.append( tabs ).append( " {\n" );
- sb.append( tabs ).append( " tdType: " ).append( td.tdType ).append( '\n' );
- if ( td.tdData != null )
+ sb.append( tabs ).append( " tdType: " ).append( td.dataType ).append( '\n' );
+ if ( td.dataValue != null )
{
- sb.append( tabs ).append( " tdData: " ).append( StringTools.dumpBytes( td.tdData ) ).append( '\n' );
+ sb.append( tabs ).append( " tdData: " ).append( StringTools.dumpBytes( td.dataValue ) ).append( '\n' );
}
sb.append( tabs ).append( " }\n" );
}
return sb.toString();
}
-
}
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java Sun Nov 28 02:08:35 2010
@@ -329,7 +329,7 @@ public class KrbError extends KerberosMe
/**
* @param eData the eData to set
*/
- public void seteData( byte[] eData )
+ public void setEData( byte[] eData )
{
this.eData = eData;
}
Modified: directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java?rev=1039811&r1=1039810&r2=1039811&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java Sun Nov 28 02:08:35 2010
@@ -91,8 +91,8 @@ public class TypedDataDecoderTest
for ( TypedData.TD td : typedData.getTypedData() )
{
- assertEquals( 2, td.getTdType() );
- assertTrue( Arrays.equals( StringTools.getBytesUtf8( expected[i++] ), td.getTdData() ) );
+ assertEquals( 2, td.getDataType() );
+ assertTrue( Arrays.equals( StringTools.getBytesUtf8( expected[i++] ), td.getDataValue() ) );
}
// Check the encoding
@@ -162,7 +162,7 @@ public class TypedDataDecoderTest
assertNotNull( typedData.getTypedData() );
assertEquals( 1, typedData.getTypedData().size() );
- assertEquals( 2, typedData.getCurrentTD().getTdType() );
+ assertEquals( 2, typedData.getCurrentTD().getDataType() );
}