You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2005/01/27 21:48:38 UTC

svn commit: r128424 - in incubator/directory: asn1/trunk/der/src/java/org/apache/asn1/der kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder

Author: erodriguez
Date: Thu Jan 27 12:48:36 2005
New Revision: 128424

URL: http://svn.apache.org/viewcvs?view=rev&rev=128424
Log:
Better output stream encapsulation.
Modified:
   incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java
   incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java
   incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
   incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java

Modified: incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java
Url: http://svn.apache.org/viewcvs/incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java?view=diff&rev=128424&p1=incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java&r1=128423&p2=incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java&r2=128424
==============================================================================
--- incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java	(original)
+++ incubator/directory/asn1/trunk/der/src/java/org/apache/asn1/der/ASN1OutputStream.java	Thu Jan 27 12:48:36 2005
@@ -20,6 +20,7 @@
 import java.io.FilterOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.ByteBuffer;
 
 
 public class ASN1OutputStream extends FilterOutputStream
@@ -27,6 +28,27 @@
     public ASN1OutputStream( OutputStream os )
     {
         super( os );
+    }
+    
+    public ASN1OutputStream( ByteBuffer out )
+    {
+        super( newOutputStream( out ) );
+    }
+    
+	public static OutputStream newOutputStream( final ByteBuffer buf )
+	{
+        return new OutputStream()
+		{
+            public synchronized void write( int integer ) throws IOException
+			{
+                buf.put( (byte)integer );
+            }
+    
+            public synchronized void write( byte[] bytes, int off, int len ) throws IOException
+			{
+                buf.put( bytes, off, len );
+            }
+        };
     }
 
     private void writeLength( int length )

Modified: incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java
Url: http://svn.apache.org/viewcvs/incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java?view=diff&rev=128424&p1=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java&r1=128423&p2=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java&r2=128424
==============================================================================
--- incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java	(original)
+++ incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/ErrorMessageEncoder.java	Thu Jan 27 12:48:36 2005
@@ -30,11 +30,12 @@
 import org.apache.asn1.der.DERTaggedObject;
 import org.apache.kerberos.messages.ErrorMessage;
 
+
 public class ErrorMessageEncoder extends KerberosMessageEncoder
 {
 	public void encode( ErrorMessage message, ByteBuffer out ) throws IOException
 	{
-		ASN1OutputStream aos = new ASN1OutputStream( newOutputStream( out ) );
+		ASN1OutputStream aos = new ASN1OutputStream( out );
 		
 		DERSequence errorReply = encodeErrorMessageSequence( message );
 		aos.writeObject( DERApplicationSpecific.valueOf( message.getMessageType().getOrdinal(), errorReply ) );
@@ -42,8 +43,8 @@
 		aos.close();
 	}
 	
-	public byte[] encode(ErrorMessage message) throws IOException {
-		
+	public byte[] encode(ErrorMessage message) throws IOException
+	{
 		ByteArrayOutputStream baos = new ByteArrayOutputStream();
 		ASN1OutputStream aos = new ASN1OutputStream(baos);
 		
@@ -55,8 +56,8 @@
 		return baos.toByteArray();
 	}
 	
-	private DERSequence encodeErrorMessageSequence(ErrorMessage message) {
-		
+	private DERSequence encodeErrorMessageSequence(ErrorMessage message)
+	{
 		DERSequence sequence = new DERSequence();
 		
 		sequence.add(new DERTaggedObject(0, DERInteger.valueOf(message.getProtocolVersionNumber())));

Modified: incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
Url: http://svn.apache.org/viewcvs/incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java?view=diff&rev=128424&p1=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java&r1=128423&p2=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java&r2=128424
==============================================================================
--- incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java	(original)
+++ incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KdcReplyEncoder.java	Thu Jan 27 12:48:36 2005
@@ -29,6 +29,7 @@
 import org.apache.kerberos.messages.KdcReply;
 import org.apache.kerberos.messages.value.PreAuthenticationData;
 
+
 public class KdcReplyEncoder extends KerberosMessageEncoder
 {
 	/*
@@ -37,7 +38,7 @@
 	 */
 	public void encode( KdcReply app, ByteBuffer out ) throws IOException
 	{
-		ASN1OutputStream aos = new ASN1OutputStream( newOutputStream( out ) );
+		ASN1OutputStream aos = new ASN1OutputStream( out );
 		
 		DERSequence kdcrep = encodeKdcReplySequence( app );
 		aos.writeObject( DERApplicationSpecific.valueOf( app.getMessageType().getOrdinal(), kdcrep ) );
@@ -55,8 +56,8 @@
 	              ticket[5]                  Ticket,
 	              enc-part[6]                EncryptedData
 	}*/
-	private DERSequence encodeKdcReplySequence(KdcReply app) {
-		
+	private DERSequence encodeKdcReplySequence(KdcReply app)
+	{
 		DERSequence sequence = new DERSequence();
 		
 		sequence.add(new DERTaggedObject(0, DERInteger.valueOf(app.getProtocolVersionNumber())));
@@ -77,11 +78,12 @@
 	           padata-value[2]       OCTET STRING,
 	                         -- might be encoded AP-REQ
 	}*/
-	private DERSequence encodePaData(PreAuthenticationData[] paData) {
-		
+	private DERSequence encodePaData(PreAuthenticationData[] paData)
+	{
 		DERSequence pa = new DERSequence();
 		
-		for (int i = 0; i < paData.length; i++) {
+		for (int i = 0; i < paData.length; i++)
+		{
 			DERSequence sequence = new DERSequence();
 
 			sequence.add(new DERTaggedObject(1, DERInteger.valueOf(paData[i].getDataType().getOrdinal())));

Modified: incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java
Url: http://svn.apache.org/viewcvs/incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java?view=diff&rev=128424&p1=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java&r1=128423&p2=incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java&r2=128424
==============================================================================
--- incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java	(original)
+++ incubator/directory/kerberos/trunk/core/src/java/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java	Thu Jan 27 12:48:36 2005
@@ -17,9 +17,6 @@
 
 package org.apache.kerberos.io.encoder;
 
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
@@ -54,29 +51,13 @@
 
 public abstract class KerberosMessageEncoder
 {
-	public static OutputStream newOutputStream( final ByteBuffer buf )
-	{
-        return new OutputStream()
-		{
-            public synchronized void write( int integer ) throws IOException
-			{
-                buf.put( (byte)integer );
-            }
-    
-            public synchronized void write( byte[] bytes, int off, int len ) throws IOException
-			{
-                buf.put( bytes, off, len );
-            }
-        };
-    }
-	
 	/*
 	PrincipalName ::=   SEQUENCE {
 	              name-type[0]     INTEGER,
 	              name-string[1]   SEQUENCE OF GeneralString
 	}*/
-	protected DERSequence encodePrincipalName(KerberosPrincipal principal) {
-		
+	protected DERSequence encodePrincipalName(KerberosPrincipal principal)
+	{
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(principal.getNameType())));
@@ -85,7 +66,8 @@
 		return vector;
 	}
 	
-	protected DERSequence encodeNameSequence(KerberosPrincipal principal) {
+	protected DERSequence encodeNameSequence(KerberosPrincipal principal)
+	{
 		Iterator it = getNameStrings(principal).iterator();
 		
 		DERSequence vector = new DERSequence();
@@ -97,8 +79,8 @@
 		
 	}
 	
-	protected List getNameStrings(KerberosPrincipal principal) {
-		
+	protected List getNameStrings(KerberosPrincipal principal)
+	{
 		final String COMPONENT_SEPARATOR = "/";
 		final String REALM_SEPARATOR     = "@";
 		
@@ -114,8 +96,8 @@
         sname[2]                     PrincipalName,
         enc-part[3]                  EncryptedData
     }*/
-    protected DERApplicationSpecific encodeTicket(Ticket ticket) {
-    	
+    protected DERApplicationSpecific encodeTicket(Ticket ticket)
+    {
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(ticket.getTicketVersionNumber())));
@@ -126,7 +108,9 @@
 		DERApplicationSpecific ticketSequence = null;
 		try {
 			ticketSequence = DERApplicationSpecific.valueOf( 1, vector );
-		} catch (Exception e) {
+		}
+		catch (Exception e)
+		{
 			e.printStackTrace();
 		}
 		return ticketSequence;
@@ -136,7 +120,8 @@
 	KerberosTime ::=   GeneralizedTime
 	            -- Specifying UTC time zone (Z)
 	*/
-    protected DERGeneralizedTime encodeKerberosTime(KerberosTime time) {
+    protected DERGeneralizedTime encodeKerberosTime(KerberosTime time)
+    {
     	return DERGeneralizedTime.valueOf( time.toDate() );
     }
 	
@@ -144,13 +129,15 @@
     etype[8]             SEQUENCE OF INTEGER, -- EncryptionEngine,
                 -- in preference order
     */
-	protected DERSequence encodeEncryptionType(EncryptionType[] eType) {
-		
+	protected DERSequence encodeEncryptionType(EncryptionType[] eType)
+	{
 		DERSequence outerVector = new DERSequence();
 		
-		for (int i = 0; i < eType.length; i++) {
+		for (int i = 0; i < eType.length; i++)
+		{
 			outerVector.add(DERInteger.valueOf(eType[i].getOrdinal()));
 		}
+		
 		return outerVector;
 	}
 	
@@ -159,12 +146,13 @@
 	                    addr-type[0]             INTEGER,
 	                    address[1]               OCTET STRING
 	}*/
-	protected DERSequence encodeHostAddresses(HostAddresses hosts) {
-		
+	protected DERSequence encodeHostAddresses(HostAddresses hosts)
+	{
 		HostAddress[] addresses = hosts.getAddresses();
 		DERSequence vector = new DERSequence();
 		
-		for (int i = 0; i < addresses.length; i++) {
+		for (int i = 0; i < addresses.length; i++)
+		{
 			vector.add(encodeHostAddress(addresses[i]));
 		}
 		
@@ -176,7 +164,8 @@
                         addr-type[0]             INTEGER,
                         address[1]               OCTET STRING
     }*/
-	protected DERSequence encodeHostAddress(HostAddress host) {
+	protected DERSequence encodeHostAddress(HostAddress host)
+	{
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(host.getAddressType().getOrdinal())));
@@ -191,7 +180,8 @@
 	            kvno[1]      INTEGER OPTIONAL,
 	            cipher[2]    OCTET STRING -- ciphertext
 	}*/
-	protected DERSequence encodeEncryptedData(EncryptedData encPart) {
+	protected DERSequence encodeEncryptedData(EncryptedData encPart)
+	{
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(encPart.getEncryptionType().getOrdinal())));
@@ -202,11 +192,13 @@
 		return vector;
 	}
 	
-	protected DERGeneralString encodeRealm(String realm) {
+	protected DERGeneralString encodeRealm(String realm)
+	{
 		return DERGeneralString.valueOf(realm.toString());
 	}
 	
-	protected DERSequence encodeEncryptionKey(EncryptionKey key) {
+	protected DERSequence encodeEncryptionKey(EncryptionKey key)
+	{
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(key.getKeyType().getOrdinal())));
@@ -221,7 +213,8 @@
              checksum[1]    OCTET STRING
     }
 	*/
-	protected DERSequence encodeChecksum(Checksum checksum) {
+	protected DERSequence encodeChecksum(Checksum checksum)
+	{
 		DERSequence vector = new DERSequence();
 		
 		vector.add(new DERTaggedObject(0, DERInteger.valueOf(checksum.getChecksumType().getOrdinal())));
@@ -235,8 +228,8 @@
 	lr-type[0]               INTEGER,
 	lr-value[1]              KerberosTime
 	}*/
-	protected DERSequence encodeLastRequest(LastRequest lastReq) {
-
+	protected DERSequence encodeLastRequest(LastRequest lastReq)
+	{
 		LastRequestEntry[] entries = lastReq.getEntries();
 		DERSequence outerVector = new DERSequence();
 		for (int i = 0; i < entries.length; i++) {
@@ -255,7 +248,8 @@
 	    use-session-key(1),
 	    mutual-required(2)
 	}*/
-	protected DERBitString encodeApOptions(ApOptions options) {
+	protected DERBitString encodeApOptions(ApOptions options)
+	{
 		return new DERBitString(options.getBytes());
 	}
 	
@@ -274,7 +268,8 @@
 	      pre-authent(10),
 	      hw-authent(11)
 	}*/
-	protected DERBitString encodeTicketFlags(TicketFlags flags) {
+	protected DERBitString encodeTicketFlags(TicketFlags flags)
+	{
 		return new DERBitString(flags.getBytes());
 	}
 	
@@ -298,7 +293,8 @@
         renew(30),
         validate(31)
         }*/
-	protected DERBitString encodeKdcOptions(KdcOptions options) {
+	protected DERBitString encodeKdcOptions(KdcOptions options)
+	{
 		return new DERBitString(options.getBytes());
 	}
 	
@@ -307,7 +303,8 @@
         tr-type[0]  INTEGER, -- must be registered
         contents[1]          OCTET STRING
     }*/
-	protected DERSequence encodeTransitedEncoding(TransitedEncoding te) {
+	protected DERSequence encodeTransitedEncoding(TransitedEncoding te)
+	{
 		
 		DERSequence vector = new DERSequence();
 		
@@ -322,30 +319,34 @@
         ad-type[0]               INTEGER,
         ad-data[1]               OCTET STRING
     }*/
-	protected DERSequence encodeAuthorizationData(AuthorizationData data) {
-		
+	protected DERSequence encodeAuthorizationData(AuthorizationData data)
+	{
 		Iterator it = data.iterator();
 		DERSequence outerVector = new DERSequence();
 		
-		while (it.hasNext()) {
+		while (it.hasNext())
+		{
 			AuthorizationDataEntry entry = (AuthorizationDataEntry)it.next();
 			DERSequence vector = new DERSequence();
 			vector.add(new DERTaggedObject(0, DERInteger.valueOf(entry.getAuthorizationDataType().getOrdinal())));
 			vector.add(new DERTaggedObject(1, new DEROctetString(entry.getAuthorizationData())));
 			outerVector.add( vector );
 		}
+		
 		return outerVector;
 	}
 	
-	protected DERSequence encodeAdditionalTickets(Ticket[] tickets) {
-
+	protected DERSequence encodeAdditionalTickets(Ticket[] tickets)
+	{
 		DERSequence outerVector = new DERSequence();
 
-		for (int i = 0; i < tickets.length; i++) {
+		for (int i = 0; i < tickets.length; i++)
+		{
 			DERSequence vector = new DERSequence();
 			vector.add(encodeTicket(tickets[i]));
 			outerVector.add( vector );
 		}
+		
 		return outerVector;
 	}
 }