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;
}
}