Author: erodriguez
Date: Sat Oct 30 17:21:04 2004
New Revision: 56092

Modified:
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncKdcRepPartEncoder.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncTicketPartEncoder.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReqBodyEncoder.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java
Log:
Replacing Realm and PrincipalName with JAAS KerberosPrincipal.

Modified: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncKdcRepPartEncoder.java
==============================================================================
--- 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncKdcRepPartEncoder.java
     (original)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncKdcRepPartEncoder.java
     Sat Oct 30 17:21:04 2004
@@ -81,7 +81,7 @@
                        vector.add(new DERTaggedObject(8, 
encodeKerberosTime(reply.getRenewTill())));
                
                vector.add(new DERTaggedObject(9, 
encodeRealm(reply.getServerRealm())));
-               vector.add(new DERTaggedObject(10, 
encodePrincipalName(reply.getServerName())));
+               vector.add(new DERTaggedObject(10, 
encodePrincipalName(reply.getServerPrincipal())));
                
                // OPTIONAL
                if (reply.getClientAddresses() != null)

Modified: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncTicketPartEncoder.java
==============================================================================
--- 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncTicketPartEncoder.java
     (original)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/EncTicketPartEncoder.java
     Sat Oct 30 17:21:04 2004
@@ -25,11 +25,11 @@
        
        public static final int APPLICATION_CODE = 3;
        
-       public byte[] encode(Ticket ticket) throws IOException {
+       public byte[] encode(EncTicketPart ticketPart) throws IOException {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ASN1OutputStream aos = new ASN1OutputStream(baos);
                
-               DERSequence ticketSequence = encodeInitialSequence(ticket);
+               DERSequence ticketSequence = encodeInitialSequence(ticketPart);
                aos.writeObject(new DERApplicationSpecific(APPLICATION_CODE, 
ticketSequence));
                aos.close();
                
@@ -51,29 +51,29 @@
                              caddr[9]             HostAddresses OPTIONAL,
                              authorization-data[10]   AuthorizationData 
OPTIONAL
        }*/
-       public DERSequence encodeInitialSequence(Ticket ticket) {
+       public DERSequence encodeInitialSequence(EncTicketPart ticketPart) {
                ASN1EncodableVector vector = new ASN1EncodableVector();
                
-               vector.add(new DERTaggedObject(0, 
encodeTicketFlags(ticket.getFlags())));
-               vector.add(new DERTaggedObject(1, 
encodeEncryptionKey(ticket.getSessionKey())));
-               vector.add(new DERTaggedObject(2, 
encodeRealm(ticket.getClientRealm())));
-               vector.add(new DERTaggedObject(3, 
encodePrincipalName(ticket.getClientName())));
-               vector.add(new DERTaggedObject(4, 
encodeTransitedEncoding(ticket.getTransitedEncoding())));
-               vector.add(new DERTaggedObject(5, 
encodeKerberosTime(ticket.getAuthtime())));
+               vector.add(new DERTaggedObject(0, 
encodeTicketFlags(ticketPart.getFlags())));
+               vector.add(new DERTaggedObject(1, 
encodeEncryptionKey(ticketPart.getSessionKey())));
+               vector.add(new DERTaggedObject(2, 
encodeRealm(ticketPart.getClientRealm())));
+               vector.add(new DERTaggedObject(3, 
encodePrincipalName(ticketPart.getClientPrincipal())));
+               vector.add(new DERTaggedObject(4, 
encodeTransitedEncoding(ticketPart.getTransitedEncoding())));
+               vector.add(new DERTaggedObject(5, 
encodeKerberosTime(ticketPart.getAuthTime())));
                
                // OPTIONAL
-               if (ticket.getStartTime() != null)
-                       vector.add(new DERTaggedObject(6, 
encodeKerberosTime(ticket.getStartTime())));
+               if (ticketPart.getStartTime() != null)
+                       vector.add(new DERTaggedObject(6, 
encodeKerberosTime(ticketPart.getStartTime())));
                
-               vector.add(new DERTaggedObject(7, 
encodeKerberosTime(ticket.getEndTime())));
+               vector.add(new DERTaggedObject(7, 
encodeKerberosTime(ticketPart.getEndTime())));
                
                // OPTIONAL
-               if (ticket.getRenewTill() != null)
-                       vector.add(new DERTaggedObject(8, 
encodeKerberosTime(ticket.getRenewTill())));
-               if (ticket.getClientAddresses() != null)
-                       vector.add(new DERTaggedObject(9, 
encodeHostAddresses(ticket.getClientAddresses())));
-               if (ticket.getAuthorizationData() != null)
-                       vector.add(new DERTaggedObject(10, 
encodeAuthorizationData(ticket.getAuthorizationData())));
+               if (ticketPart.getRenewTill() != null)
+                       vector.add(new DERTaggedObject(8, 
encodeKerberosTime(ticketPart.getRenewTill())));
+               if (ticketPart.getClientAddresses() != null)
+                       vector.add(new DERTaggedObject(9, 
encodeHostAddresses(ticketPart.getClientAddresses())));
+               if (ticketPart.getAuthorizationData() != null)
+                       vector.add(new DERTaggedObject(10, 
encodeAuthorizationData(ticketPart.getAuthorizationData())));
                
                return new DERSequence(vector);
        }

Modified: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
==============================================================================
--- 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
  (original)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReplyEncoder.java
  Sat Oct 30 17:21:04 2004
@@ -57,8 +57,8 @@
                vector.add(new DERTaggedObject(1, new 
DERInteger(app.getMessageType().getOrdinal())));
                if (app.getPaData() != null)
                        vector.add(new DERTaggedObject(2, 
encodePaData(app.getPaData())));
-               vector.add(new DERTaggedObject(3, 
encodeRealm(app.getCrealm())));
-               vector.add(new DERTaggedObject(4, 
encodePrincipalName(app.getCname())));
+               vector.add(new DERTaggedObject(3, 
encodeRealm(app.getClientRealm())));
+               vector.add(new DERTaggedObject(4, 
encodePrincipalName(app.getClientPrincipal())));
                vector.add(new DERTaggedObject(5, 
encodeTicket(app.getTicket())));
                vector.add(new DERTaggedObject(6, 
encodeEncryptedData(app.getEncPart())));
                

Modified: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReqBodyEncoder.java
==============================================================================
--- 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReqBodyEncoder.java
        (original)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KdcReqBodyEncoder.java
        Sat Oct 30 17:21:04 2004
@@ -59,12 +59,12 @@
                
                vector.add(new DERTaggedObject(0, 
encodeKdcOptions(request.getKdcOptions())));
                // OPTIONAL
-               if (request.getCname() != null)
-                       vector.add(new DERTaggedObject(1, 
encodePrincipalName(request.getCname())));
+               if (request.getClientPrincipal() != null)
+                       vector.add(new DERTaggedObject(1, 
encodePrincipalName(request.getClientPrincipal())));
                vector.add(new DERTaggedObject(2, 
encodeRealm(request.getRealm())));
                // OPTIONAL
-               if (request.getSname() != null)
-                       vector.add(new DERTaggedObject(3, 
encodePrincipalName(request.getSname())));
+               if (request.getServerPrincipal() != null)
+                       vector.add(new DERTaggedObject(3, 
encodePrincipalName(request.getServerPrincipal())));
                // OPTIONAL
                if (request.getFrom() != null)
                        vector.add(new DERTaggedObject(4, 
encodeKerberosTime(request.getFrom())));

Modified: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java
==============================================================================
--- 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java
   (original)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/encoder/KerberosMessageEncoder.java
   Sat Oct 30 17:21:04 2004
@@ -23,6 +23,8 @@
 
 import java.util.*;
 
+import javax.security.auth.kerberos.*;
+
 public abstract class KerberosMessageEncoder {
        
        /*
@@ -30,18 +32,18 @@
                      name-type[0]     INTEGER,
                      name-string[1]   SEQUENCE OF GeneralString
        }*/
-       protected DERSequence encodePrincipalName(PrincipalName name) {
+       protected DERSequence encodePrincipalName(KerberosPrincipal principal) {
                
                ASN1EncodableVector vector = new ASN1EncodableVector();
                
-               vector.add(new DERTaggedObject(0, new 
DERInteger(name.getNameType())));
-               vector.add(new DERTaggedObject(1, encodeNameSequence(name)));
+               vector.add(new DERTaggedObject(0, new 
DERInteger(principal.getNameType())));
+               vector.add(new DERTaggedObject(1, 
encodeNameSequence(principal)));
                
                return new DERSequence(vector);
        }
        
-       protected DERSequence encodeNameSequence(PrincipalName name) {
-               Iterator it = name.getNameStrings().iterator();
+       protected DERSequence encodeNameSequence(KerberosPrincipal principal) {
+               Iterator it = getNameStrings(principal).iterator();
                
                ASN1EncodableVector vector = new ASN1EncodableVector();
                
@@ -52,6 +54,16 @@
                
        }
        
+       protected List getNameStrings(KerberosPrincipal principal) {
+               
+               final String COMPONENT_SEPARATOR = "/";
+               final String REALM_SEPARATOR     = "@";
+               
+               String nameComponent = 
principal.getName().split(REALM_SEPARATOR)[0];
+               String[] components = nameComponent.split(COMPONENT_SEPARATOR);
+               return Arrays.asList(components);
+       }
+       
        /*
        Ticket ::=                    [APPLICATION 1] SEQUENCE {
         tkt-vno[0]                   INTEGER,
@@ -64,8 +76,8 @@
                ASN1EncodableVector vector = new ASN1EncodableVector();
                
                vector.add(new DERTaggedObject(0, new 
DERInteger(ticket.getTicketVersionNumber())));
-               vector.add(new DERTaggedObject(1, new 
DERGeneralString(ticket.getRealm().toString())));
-               vector.add(new DERTaggedObject(2, 
encodePrincipalName(ticket.getServerName())));
+               vector.add(new DERTaggedObject(1, new 
DERGeneralString(ticket.getRealm())));
+               vector.add(new DERTaggedObject(2, 
encodePrincipalName(ticket.getServerPrincipal())));
                vector.add(new DERTaggedObject(3, 
encodeEncryptedData(ticket.getEncPart())));
                
                DERApplicationSpecific ticketSequence = null;
@@ -147,7 +159,7 @@
                return new DERSequence(vector);
        }
        
-       protected DERGeneralString encodeRealm(Realm realm) {
+       protected DERGeneralString encodeRealm(String realm) {
                return new DERGeneralString(realm.toString());
        }
        

Reply via email to