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 2013/04/12 18:17:58 UTC

svn commit: r1467336 - /directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java

Author: elecharny
Date: Fri Apr 12 16:17:57 2013
New Revision: 1467336

URL: http://svn.apache.org/r1467336
Log:
Added a test for a PDU 

Modified:
    directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java

Modified: directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java?rev=1467336&r1=1467335&r2=1467336&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java Fri Apr 12 16:17:57 2013
@@ -25,9 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
-
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
 import org.apache.directory.api.asn1.ber.Asn1Container;
@@ -37,6 +34,9 @@ import org.apache.directory.shared.kerbe
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import com.mycila.junit.concurrent.Concurrency;
+import com.mycila.junit.concurrent.ConcurrentJunitRunner;
+
 
 /**
  * Test the decoder for a AS-REP
@@ -344,4 +344,627 @@ public class AsRepDecoderTest
         kerberosDecoder.decode( stream, asRepContainer );
         fail();
     }
+
+
+    /**
+     * Test the decoding of a AS-REP message
+     */
+    @Test
+    public void testDecodeFullAsRep2() throws Exception
+    {
+        Asn1Decoder kerberosDecoder = new Asn1Decoder();
+
+        ByteBuffer stream = ByteBuffer.allocate( 0x239 );
+
+        stream.put( new byte[]
+            {
+                0x6b,
+                ( byte ) 0x82,
+                0x02,
+                0x35,
+                0x30,
+                ( byte ) 0x82,
+                0x02,
+                0x31,
+                ( byte ) 0xa0,
+                0x03,
+                0x02,
+                0x01,
+                0x05,
+                ( byte ) 0xA1,
+                0x03,
+                0x02,
+                0x01,
+                0x0b,
+                ( byte ) 0xA2,
+                0x16,
+                0x30,
+                0x14,
+                0x30,
+                0x12,
+                ( byte ) 0xA1,
+                0x03,
+                0x02,
+                0x01,
+                0x13,
+                ( byte ) 0xA2,
+                0x0b,
+                0x04,
+                0x09,
+                0x30,
+                0x07,
+                0x30,
+                0x05,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x10,
+                ( byte ) 0xA3,
+                0x0e,
+                0x1b,
+                0x0c,
+                0x66,
+                0x6f,
+                0x70,
+                0x73,
+                0x2e,
+                0x70,
+                0x73,
+                0x75,
+                0x2e,
+                0x65,
+                0x64,
+                0x75,
+                ( byte ) 0xA4,
+                0x14,
+                0x30,
+                0x12,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x01,
+                ( byte ) 0xA1,
+                0x0b,
+                0x30,
+                0x09,
+                0x1b,
+                0x07,
+                0x71,
+                0x71,
+                0x67,
+                0x35,
+                0x30,
+                0x31,
+                0x38,
+                ( byte ) 0xA5,
+                ( byte ) 0x82,
+                0x01,
+                0x00,
+                0x61,
+                ( byte ) 0x81,
+                ( byte ) 0xFd,
+                0x30,
+                ( byte ) 0x81,
+                ( byte ) 0xFa,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x05,
+                ( byte ) 0xA1,
+                0x0e,
+                0x1b,
+                0x0c,
+                0x66,
+                0x6f,
+                0x70,
+                0x73,
+                0x2e,
+                0x70,
+                0x73,
+                0x75,
+                0x2e,
+                0x65,
+                0x64,
+                0x75,
+                ( byte ) 0xA2,
+                0x21,
+                0x30,
+                0x1f,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x02,
+                ( byte ) 0xA1,
+                0x18,
+                0x30,
+                0x16,
+                0x1b,
+                0x06,
+                0x6b,
+                0x72,
+                0x62,
+                0x74,
+                0x67,
+                0x74,
+                0x1b,
+                0x0c,
+                0x66,
+                0x6f,
+                0x70,
+                0x73,
+                0x2e,
+                0x70,
+                0x73,
+                0x75,
+                0x2e,
+                0x65,
+                0x64,
+                0x75,
+                ( byte ) 0xA3,
+                ( byte ) 0x81,
+                ( byte ) 0xBf,
+                0x30,
+                ( byte ) 0x81,
+                ( byte ) 0xBc,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x10,
+                ( byte ) 0xA1,
+                0x03,
+                0x02,
+                0x01,
+                0x01,
+                ( byte ) 0xA2,
+                ( byte ) 0x81,
+                ( byte ) 0xAf,
+                0x04,
+                ( byte ) 0x81,
+                ( byte ) 0xAc,
+                0x20,
+                ( byte ) 0xFa,
+                ( byte ) 0x8e,
+                0x26,
+                ( byte ) 0x99,
+                0x5c,
+                0x15,
+                ( byte ) 0xDb,
+                ( byte ) 0x82,
+                ( byte ) 0xDc,
+                0x47,
+                0x77,
+                0x6a,
+                ( byte ) 0xC4,
+                ( byte ) 0x89,
+                ( byte ) 0xC5,
+                ( byte ) 0xF6,
+                0x00,
+                ( byte ) 0xFa,
+                ( byte ) 0xAc,
+                0x1d,
+                ( byte ) 0xD8,
+                0x1e,
+                0x32,
+                0x78,
+                ( byte ) 0xFe,
+                0x1a,
+                0x32,
+                ( byte ) 0xA6,
+                0x6f,
+                ( byte ) 0xB4,
+                0x0b,
+                0x36,
+                ( byte ) 0xE1,
+                0x4c,
+                ( byte ) 0xC4,
+                0x7f,
+                ( byte ) 0x8a,
+                0x49,
+                0x7a,
+                0x5c,
+                ( byte ) 0xB7,
+                0x55,
+                0x35,
+                0x64,
+                0x4e,
+                ( byte ) 0x88,
+                ( byte ) 0xEa,
+                0x05,
+                0x04,
+                0x5a,
+                0x63,
+                0x15,
+                ( byte ) 0xE6,
+                ( byte ) 0xEc,
+                0x4f,
+                0x40,
+                ( byte ) 0x8b,
+                0x2f,
+                ( byte ) 0x8a,
+                0x42,
+                ( byte ) 0x9c,
+                0x7f,
+                0x09,
+                ( byte ) 0xDe,
+                0x4e,
+                0x35,
+                0x43,
+                0x4a,
+                0x50,
+                ( byte ) 0x8f,
+                0x03,
+                ( byte ) 0xC3,
+                ( byte ) 0xC6,
+                0x69,
+                ( byte ) 0x8d,
+                0x6b,
+                0x6e,
+                0x14,
+                ( byte ) 0x8b,
+                0x15,
+                0x59,
+                ( byte ) 0xF2,
+                ( byte ) 0xF1,
+                ( byte ) 0xBe,
+                ( byte ) 0x9d,
+                0x30,
+                0x4d,
+                0x14,
+                ( byte ) 0xE4,
+                0x23,
+                ( byte ) 0xB6,
+                0x68,
+                ( byte ) 0xE3,
+                0x67,
+                0x24,
+                0x4a,
+                ( byte ) 0xD1,
+                ( byte ) 0xC1,
+                0x54,
+                ( byte ) 0xF5,
+                ( byte ) 0x93,
+                0x53,
+                ( byte ) 0xC0,
+                ( byte ) 0xCc,
+                ( byte ) 0xC1,
+                ( byte ) 0xAf,
+                0x32,
+                ( byte ) 0xBb,
+                ( byte ) 0xD0,
+                0x66,
+                ( byte ) 0xCa,
+                ( byte ) 0xAf,
+                0x68,
+                ( byte ) 0xBf,
+                0x47,
+                ( byte ) 0xC2,
+                ( byte ) 0x8a,
+                ( byte ) 0xD7,
+                0x3e,
+                0x0a,
+                ( byte ) 0xD6,
+                ( byte ) 0x9a,
+                0x22,
+                ( byte ) 0xB3,
+                ( byte ) 0x8e,
+                ( byte ) 0xEa,
+                ( byte ) 0xEc,
+                ( byte ) 0x9e,
+                ( byte ) 0xBc,
+                ( byte ) 0xC3,
+                ( byte ) 0x83,
+                0x43,
+                ( byte ) 0x93,
+                ( byte ) 0xFe,
+                0x1e,
+                0x47,
+                ( byte ) 0xB3,
+                ( byte ) 0xAf,
+                ( byte ) 0xD8,
+                0x77,
+                ( byte ) 0xB5,
+                ( byte ) 0xAa,
+                ( byte ) 0xBe,
+                0x2b,
+                ( byte ) 0xC0,
+                ( byte ) 0xE7,
+                ( byte ) 0xBb,
+                0x69,
+                0x28,
+                0x30,
+                0x04,
+                0x07,
+                ( byte ) 0xB6,
+                ( byte ) 0xC0,
+                ( byte ) 0xE7,
+                ( byte ) 0x8a,
+                ( byte ) 0x98,
+                0x36,
+                0x73,
+                0x5e,
+                0x09,
+                ( byte ) 0x87,
+                0x32,
+                ( byte ) 0xC8,
+                0x65,
+                0x64,
+                0x66,
+                ( byte ) 0xC1,
+                ( byte ) 0x9a,
+                ( byte ) 0xAe,
+                ( byte ) 0x89,
+                ( byte ) 0xA6,
+                ( byte ) 0x81,
+                ( byte ) 0xE2,
+                0x30,
+                ( byte ) 0x81,
+                ( byte ) 0xDf,
+                ( byte ) 0xA0,
+                0x03,
+                0x02,
+                0x01,
+                0x10,
+                ( byte ) 0xA2,
+                ( byte ) 0x81,
+                ( byte ) 0xD7,
+                0x04,
+                ( byte ) 0x81,
+                ( byte ) 0xD4,
+                ( byte ) 0x9f,
+                ( byte ) 0xC6,
+                0x12,
+                0x73,
+                0x7f,
+                0x4a,
+                0x44,
+                ( byte ) 0xA7,
+                ( byte ) 0xBb,
+                ( byte ) 0xD4,
+                ( byte ) 0x82,
+                ( byte ) 0xF0,
+                0x1d,
+                0x17,
+                ( byte ) 0xF5,
+                ( byte ) 0xC1,
+                0x19,
+                0x0f,
+                ( byte ) 0xD7,
+                0x3c,
+                0x03,
+                ( byte ) 0x96,
+                ( byte ) 0xF4,
+                0x19,
+                0x72,
+                ( byte ) 0xD3,
+                ( byte ) 0xCa,
+                ( byte ) 0xD7,
+                0x70,
+                0x18,
+                0x35,
+                ( byte ) 0x9a,
+                0x61,
+                0x67,
+                0x78,
+                ( byte ) 0x80,
+                0x11,
+                ( byte ) 0x80,
+                0x6a,
+                ( byte ) 0xFb,
+                0x19,
+                ( byte ) 0xF8,
+                ( byte ) 0x89,
+                ( byte ) 0xB3,
+                0x5e,
+                0x2e,
+                ( byte ) 0xC6,
+                ( byte ) 0x82,
+                0x2d,
+                0x17,
+                ( byte ) 0xAa,
+                0x6a,
+                0x07,
+                0x03,
+                0x18,
+                0x3e,
+                ( byte ) 0xCe,
+                0x3e,
+                0x7c,
+                ( byte ) 0x9b,
+                0x17,
+                0x4d,
+                ( byte ) 0xF5,
+                ( byte ) 0xBe,
+                ( byte ) 0xB8,
+                0x6b,
+                ( byte ) 0xF4,
+                0x52,
+                0x25,
+                0x28,
+                ( byte ) 0x9a,
+                ( byte ) 0x91,
+                ( byte ) 0x9e,
+                ( byte ) 0xAa,
+                ( byte ) 0xE3,
+                ( byte ) 0x9b,
+                ( byte ) 0xAb,
+                ( byte ) 0xD4,
+                0x68,
+                0x3e,
+                ( byte ) 0x88,
+                0x65,
+                0x2c,
+                0x06,
+                0x71,
+                0x52,
+                ( byte ) 0xEc,
+                ( byte ) 0xE2,
+                ( byte ) 0xA4,
+                0x3a,
+                0x23,
+                ( byte ) 0xE0,
+                0x68,
+                0x57,
+                0x5d,
+                ( byte ) 0xF6,
+                0x2d,
+                0x5b,
+                0x16,
+                ( byte ) 0xBa,
+                ( byte ) 0xCd,
+                ( byte ) 0xA2,
+                0x71,
+                0x54,
+                0x52,
+                ( byte ) 0xE2,
+                ( byte ) 0xF6,
+                ( byte ) 0x9d,
+                ( byte ) 0x98,
+                0x18,
+                0x4c,
+                ( byte ) 0xDa,
+                0x64,
+                ( byte ) 0xE2,
+                0x05,
+                0x01,
+                ( byte ) 0xEe,
+                0x35,
+                ( byte ) 0x9d,
+                0x75,
+                0x4d,
+                ( byte ) 0xD8,
+                0x64,
+                ( byte ) 0x8d,
+                ( byte ) 0xCc,
+                0x3d,
+                ( byte ) 0xAd,
+                ( byte ) 0xE6,
+                0x52,
+                0x49,
+                ( byte ) 0xFb,
+                ( byte ) 0xF5,
+                0x34,
+                0x65,
+                ( byte ) 0x91,
+                0x05,
+                0x38,
+                ( byte ) 0x80,
+                0x5d,
+                ( byte ) 0xB4,
+                0x06,
+                0x63,
+                0x63,
+                ( byte ) 0xDb,
+                ( byte ) 0xEa,
+                0x5e,
+                ( byte ) 0xF3,
+                ( byte ) 0xB2,
+                0x65,
+                0x7e,
+                ( byte ) 0xB9,
+                ( byte ) 0x94,
+                ( byte ) 0xA9,
+                ( byte ) 0xD9,
+                0x5b,
+                ( byte ) 0xEc,
+                0x18,
+                0x5b,
+                0x4f,
+                0x59,
+                ( byte ) 0xEa,
+                0x6a,
+                0x7a,
+                ( byte ) 0xEf,
+                ( byte ) 0xE1,
+                ( byte ) 0xFd,
+                0x09,
+                0x37,
+                ( byte ) 0xBb,
+                0x18,
+                0x2f,
+                ( byte ) 0x87,
+                ( byte ) 0x98,
+                0x53,
+                0x4e,
+                0x24,
+                0x55,
+                ( byte ) 0xF5,
+                ( byte ) 0xF7,
+                0x36,
+                0x13,
+                ( byte ) 0xBe,
+                ( byte ) 0xC1,
+                ( byte ) 0xF0,
+                0x31,
+                0x3a,
+                0x65,
+                0x5c,
+                0x75,
+                0x7b,
+                ( byte ) 0x84,
+                0x3f,
+                ( byte ) 0xA4,
+                ( byte ) 0x9c,
+                ( byte ) 0xBa,
+                0x06,
+                ( byte ) 0xDb,
+                0x18,
+                ( byte ) 0xB6,
+                ( byte ) 0xBd,
+                0x25,
+                ( byte ) 0x95,
+                0x60,
+                ( byte ) 0xF3,
+                0x16,
+                ( byte ) 0xFa,
+                ( byte ) 0xBc,
+                0x30,
+                0x53,
+                ( byte ) 0xD7,
+                0x68,
+                0x0c
+        } );
+
+        stream.flip();
+
+        // Allocate a AsRep Container
+        AsRepContainer asRepContainer = new AsRepContainer( stream );
+
+        // Decode the AsRep PDU
+        try
+        {
+            kerberosDecoder.decode( stream, asRepContainer );
+        }
+        catch ( DecoderException de )
+        {
+            fail( de.getMessage() );
+        }
+
+        AsRep asRep = asRepContainer.getAsRep();
+
+        // Check the encoding
+        int length = asRep.computeLength();
+
+        // Check the length
+        assertEquals( 0x239, length );
+
+        // Check the encoding
+        ByteBuffer encodedPdu = ByteBuffer.allocate( length );
+
+        try
+        {
+            encodedPdu = asRep.encode( encodedPdu );
+
+            // Check the length
+            assertEquals( 0x239, encodedPdu.limit() );
+        }
+        catch ( EncoderException ee )
+        {
+            fail();
+        }
+    };
 }