Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 40116 invoked from network); 10 Feb 2006 11:07:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 Feb 2006 11:07:36 -0000 Received: (qmail 14761 invoked by uid 500); 10 Feb 2006 11:00:10 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 14556 invoked by uid 500); 10 Feb 2006 11:00:08 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 14410 invoked by uid 99); 10 Feb 2006 11:00:06 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Feb 2006 03:00:06 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 10 Feb 2006 02:59:43 -0800 Received: (qmail 33910 invoked by uid 65534); 10 Feb 2006 10:59:22 -0000 Message-ID: <20060210105922.33909.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r376623 [24/38] - in /directory/sandbox/akarasulu/rc1/apacheds: core-plugin/src/main/java/org/apache/directory/server/core/tools/schema/ core-plugin/src/test/java/org/apache/directory/server/core/tools/schema/ core-shared/src/main/java/org/... Date: Fri, 10 Feb 2006 10:49:57 -0000 To: commits@directory.apache.org From: akarasulu@apache.org X-Mailer: svnmailer-1.0.6 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/AuthenticationReply.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/AuthenticationReply.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/AuthenticationReply.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/AuthenticationReply.java Fri Feb 10 02:48:07 2006 @@ -16,12 +16,14 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.components.Ticket; import org.apache.kerberos.messages.value.EncryptedData; import org.apache.kerberos.messages.value.PreAuthenticationData; + public class AuthenticationReply extends KdcReply { /** @@ -32,8 +34,9 @@ super( MessageType.KRB_AS_REP ); } - public AuthenticationReply( PreAuthenticationData[] paData, KerberosPrincipal clientPrincipal, - Ticket ticket, EncryptedData encPart ) + + public AuthenticationReply(PreAuthenticationData[] paData, KerberosPrincipal clientPrincipal, Ticket ticket, + EncryptedData encPart) { super( paData, clientPrincipal, ticket, encPart, MessageType.KRB_AS_REP ); } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/Encodable.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/Encodable.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/Encodable.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/Encodable.java Fri Feb 10 02:48:07 2006 @@ -17,6 +17,7 @@ package org.apache.kerberos.messages; + /** * Marker interface for ASN.1 encodable objects. */ Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessage.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessage.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessage.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessage.java Fri Feb 10 02:48:07 2006 @@ -16,78 +16,90 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.KerberosTime; + public class ErrorMessage extends KerberosMessage { - private KerberosTime clientTime; //optional - private Integer clientMicroSecond; //optional - private KerberosTime serverTime; - private int serverMicroSecond; - private int errorCode; - private KerberosPrincipal clientPrincipal; //optional - private KerberosPrincipal serverPrincipal; - private String explanatoryText; //optional - private byte[] explanatoryData; //optional - - public ErrorMessage( KerberosTime clientTime, Integer clientMicroSecond, KerberosTime serverTime, - int serverMicroSecond, int errorCode, KerberosPrincipal clientPrincipal, - KerberosPrincipal serverPrincipal, String explanatoryText, byte[] explanatoryData ) - { - super( MessageType.KRB_ERROR ); - - this.clientTime = clientTime; - this.clientMicroSecond = clientMicroSecond; - this.serverTime = serverTime; - this.serverMicroSecond = serverMicroSecond; - this.errorCode = errorCode; - this.clientPrincipal = clientPrincipal; - this.serverPrincipal = serverPrincipal; - this.explanatoryText = explanatoryText; - this.explanatoryData = explanatoryData; - } + private KerberosTime clientTime; //optional + private Integer clientMicroSecond; //optional + private KerberosTime serverTime; + private int serverMicroSecond; + private int errorCode; + private KerberosPrincipal clientPrincipal; //optional + private KerberosPrincipal serverPrincipal; + private String explanatoryText; //optional + private byte[] explanatoryData; //optional + + + public ErrorMessage(KerberosTime clientTime, Integer clientMicroSecond, KerberosTime serverTime, + int serverMicroSecond, int errorCode, KerberosPrincipal clientPrincipal, KerberosPrincipal serverPrincipal, + String explanatoryText, byte[] explanatoryData) + { + super( MessageType.KRB_ERROR ); + + this.clientTime = clientTime; + this.clientMicroSecond = clientMicroSecond; + this.serverTime = serverTime; + this.serverMicroSecond = serverMicroSecond; + this.errorCode = errorCode; + this.clientPrincipal = clientPrincipal; + this.serverPrincipal = serverPrincipal; + this.explanatoryText = explanatoryText; + this.explanatoryData = explanatoryData; + } - public KerberosPrincipal getClientPrincipal() + + public KerberosPrincipal getClientPrincipal() { return clientPrincipal; } + public KerberosTime getClientTime() { return clientTime; } + public Integer getClientMicroSecond() { return clientMicroSecond; } + public byte[] getExplanatoryData() { return explanatoryData; } + public int getErrorCode() { return errorCode; } + public String getExplanatoryText() { return explanatoryText; } + public KerberosPrincipal getServerPrincipal() { return serverPrincipal; } + public KerberosTime getServerTime() { return serverTime; } + public int getServerMicroSecond() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessageModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessageModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessageModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/ErrorMessageModifier.java Fri Feb 10 02:48:07 2006 @@ -16,67 +16,79 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.KerberosTime; + public class ErrorMessageModifier { - private KerberosTime clientTime; //optional - private Integer clientMicroSecond; //optional - private KerberosTime serverTime; - private int serverMicroSecond; - private int errorCode; - private KerberosPrincipal clientPrincipal; //optional - private KerberosPrincipal serverPrincipal; - private String explanatoryText; //optional - private byte[] explanatoryData; //optional + private KerberosTime clientTime; //optional + private Integer clientMicroSecond; //optional + private KerberosTime serverTime; + private int serverMicroSecond; + private int errorCode; + private KerberosPrincipal clientPrincipal; //optional + private KerberosPrincipal serverPrincipal; + private String explanatoryText; //optional + private byte[] explanatoryData; //optional + - public ErrorMessage getErrorMessage() + public ErrorMessage getErrorMessage() { - return new ErrorMessage( clientTime, clientMicroSecond, serverTime, serverMicroSecond, - errorCode, clientPrincipal, serverPrincipal, explanatoryText, explanatoryData ); + return new ErrorMessage( clientTime, clientMicroSecond, serverTime, serverMicroSecond, errorCode, + clientPrincipal, serverPrincipal, explanatoryText, explanatoryData ); } + public void setClientPrincipal( KerberosPrincipal principal ) { this.clientPrincipal = principal; } + public void setClientTime( KerberosTime time ) { this.clientTime = time; } + public void setClientMicroSecond( Integer clientMicroSecond ) { this.clientMicroSecond = clientMicroSecond; } + public void setExplanatoryData( byte[] data ) { this.explanatoryData = data; } + public void setErrorCode( int code ) { this.errorCode = code; } + public void setExplanatoryText( String text ) { this.explanatoryText = text; } + public void setServerPrincipal( KerberosPrincipal principal ) { this.serverPrincipal = principal; } + public void setServerTime( KerberosTime time ) { this.serverTime = time; } + public void setServerMicroSecond( int serverMicroSecond ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcReply.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcReply.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcReply.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcReply.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.components.EncKdcRepPart; @@ -28,22 +29,25 @@ import org.apache.kerberos.messages.value.PreAuthenticationData; import org.apache.kerberos.messages.value.TicketFlags; + public class KdcReply extends KerberosMessage implements Encodable { - private PreAuthenticationData[] paData; //optional - private KerberosPrincipal clientPrincipal; - private Ticket ticket; - - private EncKdcRepPart encKDCRepPart = new EncKdcRepPart(); - private EncryptedData encPart; + private PreAuthenticationData[] paData; //optional + private KerberosPrincipal clientPrincipal; + private Ticket ticket; + + private EncKdcRepPart encKDCRepPart = new EncKdcRepPart(); + private EncryptedData encPart; - public KdcReply( MessageType msgType ) + + public KdcReply(MessageType msgType) { super( msgType ); } - public KdcReply( PreAuthenticationData[] paData, KerberosPrincipal clientPrincipal, - Ticket ticket, EncryptedData encPart, MessageType msgType ) + + public KdcReply(PreAuthenticationData[] paData, KerberosPrincipal clientPrincipal, Ticket ticket, + EncryptedData encPart, MessageType msgType) { this( msgType ); this.paData = paData; @@ -52,169 +56,202 @@ this.encPart = encPart; } + // getters public KerberosPrincipal getClientPrincipal() { return clientPrincipal; } + public String getClientRealm() { return clientPrincipal.getRealm(); } + public EncryptedData getEncPart() { return encPart; } + public PreAuthenticationData[] getPaData() { return paData; } + public Ticket getTicket() { return ticket; } + // setters public void setClientPrincipal( KerberosPrincipal clientPrincipal ) { this.clientPrincipal = clientPrincipal; } + public void setEncKDCRepPart( EncKdcRepPart repPart ) { encKDCRepPart = repPart; } + public void setEncPart( EncryptedData part ) { encPart = part; } + public void setPaData( PreAuthenticationData[] data ) { paData = data; } + public void setTicket( Ticket ticket ) { this.ticket = ticket; } + // EncKdcRepPart delegate getters public KerberosTime getAuthTime() { return encKDCRepPart.getAuthTime(); } + public HostAddresses getClientAddresses() { return encKDCRepPart.getClientAddresses(); } + public KerberosTime getEndTime() { return encKDCRepPart.getEndTime(); } + public TicketFlags getFlags() { return encKDCRepPart.getFlags(); } + public EncryptionKey getKey() { return encKDCRepPart.getKey(); } + public KerberosTime getKeyExpiration() { return encKDCRepPart.getKeyExpiration(); } + public LastRequest getLastRequest() { return encKDCRepPart.getLastRequest(); } + public int getNonce() { return encKDCRepPart.getNonce(); } + public KerberosTime getRenewTill() { return encKDCRepPart.getRenewTill(); } + public KerberosPrincipal getServerPrincipal() { return encKDCRepPart.getServerPrincipal(); } + public String getServerRealm() { return encKDCRepPart.getServerRealm(); } + public KerberosTime getStartTime() { return encKDCRepPart.getStartTime(); } + // EncKdcRepPart delegate setters public void setAuthTime( KerberosTime time ) { encKDCRepPart.setAuthTime( time ); } + public void setClientAddresses( HostAddresses addresses ) { encKDCRepPart.setClientAddresses( addresses ); } + public void setEndTime( KerberosTime time ) { encKDCRepPart.setEndTime( time ); } + public void setFlags( TicketFlags flags ) { encKDCRepPart.setFlags( flags ); } + public void setKey( EncryptionKey key ) { encKDCRepPart.setKey( key ); } + public void setKeyExpiration( KerberosTime expiration ) { encKDCRepPart.setKeyExpiration( expiration ); } + public void setLastRequest( LastRequest request ) { encKDCRepPart.setLastRequest( request ); } + public void setNonce( int nonce ) { encKDCRepPart.setNonce( nonce ); } + public void setRenewTill( KerberosTime till ) { encKDCRepPart.setRenewTill( till ); } + public void setServerPrincipal( KerberosPrincipal principal ) { encKDCRepPart.setServerPrincipal( principal ); } + public void setStartTime( KerberosTime time ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcRequest.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcRequest.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcRequest.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KdcRequest.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.crypto.encryption.EncryptionType; @@ -27,108 +28,127 @@ import org.apache.kerberos.messages.value.PreAuthenticationData; import org.apache.kerberos.messages.value.RequestBody; + public class KdcRequest extends KerberosMessage { private PreAuthenticationData[] preAuthData; //optional private RequestBody requestBody; private byte[] bodyBytes; - public KdcRequest( int pvno, MessageType messageType, PreAuthenticationData[] preAuthData, - RequestBody requestBody ) + + public KdcRequest(int pvno, MessageType messageType, PreAuthenticationData[] preAuthData, RequestBody requestBody) { super( pvno, messageType ); this.preAuthData = preAuthData; this.requestBody = requestBody; } - public KdcRequest( int pvno, MessageType messageType, PreAuthenticationData[] preAuthData, - RequestBody requestBody, byte[] bodyBytes ) + + public KdcRequest(int pvno, MessageType messageType, PreAuthenticationData[] preAuthData, RequestBody requestBody, + byte[] bodyBytes) { this( pvno, messageType, preAuthData, requestBody ); this.bodyBytes = bodyBytes; } + public PreAuthenticationData[] getPreAuthData() { return preAuthData; } + public byte[] getBodyBytes() { return bodyBytes; } + // RequestBody delegate methods public Ticket[] getAdditionalTickets() { return requestBody.getAdditionalTickets(); } + public HostAddresses getAddresses() { return requestBody.getAddresses(); } + public KerberosPrincipal getClientPrincipal() { return requestBody.getClientPrincipal(); } + public String getRealm() { return requestBody.getServerPrincipal().getRealm(); } + public EncryptedData getEncAuthorizationData() { return requestBody.getEncAuthorizationData(); } + public EncryptionType[] getEType() { return requestBody.getEType(); } + public KerberosTime getFrom() { return requestBody.getFrom(); } + public KdcOptions getKdcOptions() { return requestBody.getKdcOptions(); } + public int getNonce() { return requestBody.getNonce(); } + public KerberosTime getRtime() { return requestBody.getRtime(); } + public KerberosPrincipal getServerPrincipal() { return requestBody.getServerPrincipal(); } + public KerberosTime getTill() { return requestBody.getTill(); } + // RequestBody KdcOptions delegate accesors public boolean getOption( int option ) { return requestBody.getKdcOptions().get( option ); } + public void setOption( int option ) { requestBody.getKdcOptions().set( option ); } + public void clearOption( int option ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KerberosMessage.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KerberosMessage.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KerberosMessage.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/KerberosMessage.java Fri Feb 10 02:48:07 2006 @@ -16,39 +16,46 @@ */ package org.apache.kerberos.messages; + public class KerberosMessage { // Kerberos protocol version number - public static final int PVNO = 5; + public static final int PVNO = 5; + + private int protocolVersionNumber; + private MessageType messageType; - private int protocolVersionNumber; - private MessageType messageType; - - public KerberosMessage( MessageType type ) + + public KerberosMessage(MessageType type) { this( PVNO, type ); } - public KerberosMessage( int versionNumber, MessageType type ) + + public KerberosMessage(int versionNumber, MessageType type) { protocolVersionNumber = versionNumber; messageType = type; } + public MessageType getMessageType() { return messageType; } + public void setMessageType( MessageType type ) { messageType = type; } + public int getProtocolVersionNumber() { return protocolVersionNumber; } + public void setProtocolVersionNumber( int versionNumber ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/MessageType.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/MessageType.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/MessageType.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/MessageType.java Fri Feb 10 02:48:07 2006 @@ -16,79 +16,86 @@ */ package org.apache.kerberos.messages; + import java.util.Arrays; import java.util.Collections; import java.util.List; + public final class MessageType implements Comparable { - /** - * Enumeration elements are constructed once upon class loading. - * Order of appearance here determines the order of compareTo. - */ - public static final MessageType NULL = new MessageType( 0, "null" ); - public static final MessageType KRB_AS_REQ = new MessageType( 10, "initial authentication request" ); - public static final MessageType KRB_AS_REP = new MessageType( 11, "initial authentication response" ); - public static final MessageType KRB_TGS_REQ = new MessageType( 12, "request for authentication based on TGT" ); - public static final MessageType KRB_TGS_REP = new MessageType( 13, "response to authentication based on TGT" ); - public static final MessageType KRB_AP_REQ = new MessageType( 14, "application request" ); - public static final MessageType KRB_AP_REP = new MessageType( 15, "application response" ); - public static final MessageType KRB_SAFE = new MessageType( 20, "safe (checksummed) application message" ); - public static final MessageType KRB_PRIV = new MessageType( 21, "private (encrypted) application message" ); - public static final MessageType KRB_CRED = new MessageType( 22, "private (encrypted) message to forward credentials" ); - public static final MessageType ENC_AP_REP_PART = new MessageType( 27, "encrypted application reply part" ); - public static final MessageType ENC_PRIV_PART = new MessageType( 28, "encrypted private message part" ); - public static final MessageType KRB_ERROR = new MessageType( 30, "error response" ); - - /** Array for building a List of VALUES. */ - private static final MessageType[] values = { - NULL, KRB_AS_REQ, KRB_AS_REP, KRB_TGS_REQ, KRB_TGS_REP, KRB_AP_REQ, KRB_AP_REP, - KRB_SAFE, KRB_PRIV, KRB_CRED, ENC_AP_REP_PART, ENC_PRIV_PART, KRB_ERROR - }; - - /** A list of all the message type constants. */ - public static final List VALUES = Collections.unmodifiableList( Arrays.asList( values ) ); - - /** the name of the message type */ - private final String name; - - /** the value/code for the message type */ - private final int ordinal; - - /** - * Private constructor prevents construction outside of this class. - */ - private MessageType( int ordinal, String name ) - { - this.ordinal = ordinal; - this.name = name; - } - - public String toString() - { - return name + " (" + ordinal + ")"; - } - - public int compareTo( Object that ) - { - return ordinal - ( (MessageType) that ).ordinal; - } - - public static MessageType getTypeByOrdinal( int type ) - { - for ( int ii = 0; ii < values.length; ii++ ) - { - if ( values[ ii ].ordinal == type ) - { - return values[ ii ]; - } - } - - return NULL; - } - - public int getOrdinal() - { - return ordinal; - } + /** + * Enumeration elements are constructed once upon class loading. + * Order of appearance here determines the order of compareTo. + */ + public static final MessageType NULL = new MessageType( 0, "null" ); + public static final MessageType KRB_AS_REQ = new MessageType( 10, "initial authentication request" ); + public static final MessageType KRB_AS_REP = new MessageType( 11, "initial authentication response" ); + public static final MessageType KRB_TGS_REQ = new MessageType( 12, "request for authentication based on TGT" ); + public static final MessageType KRB_TGS_REP = new MessageType( 13, "response to authentication based on TGT" ); + public static final MessageType KRB_AP_REQ = new MessageType( 14, "application request" ); + public static final MessageType KRB_AP_REP = new MessageType( 15, "application response" ); + public static final MessageType KRB_SAFE = new MessageType( 20, "safe (checksummed) application message" ); + public static final MessageType KRB_PRIV = new MessageType( 21, "private (encrypted) application message" ); + public static final MessageType KRB_CRED = new MessageType( 22, + "private (encrypted) message to forward credentials" ); + public static final MessageType ENC_AP_REP_PART = new MessageType( 27, "encrypted application reply part" ); + public static final MessageType ENC_PRIV_PART = new MessageType( 28, "encrypted private message part" ); + public static final MessageType KRB_ERROR = new MessageType( 30, "error response" ); + + /** Array for building a List of VALUES. */ + private static final MessageType[] values = + { NULL, KRB_AS_REQ, KRB_AS_REP, KRB_TGS_REQ, KRB_TGS_REP, KRB_AP_REQ, KRB_AP_REP, KRB_SAFE, KRB_PRIV, KRB_CRED, + ENC_AP_REP_PART, ENC_PRIV_PART, KRB_ERROR }; + + /** A list of all the message type constants. */ + public static final List VALUES = Collections.unmodifiableList( Arrays.asList( values ) ); + + /** the name of the message type */ + private final String name; + + /** the value/code for the message type */ + private final int ordinal; + + + /** + * Private constructor prevents construction outside of this class. + */ + private MessageType(int ordinal, String name) + { + this.ordinal = ordinal; + this.name = name; + } + + + public String toString() + { + return name + " (" + ordinal + ")"; + } + + + public int compareTo( Object that ) + { + return ordinal - ( ( MessageType ) that ).ordinal; + } + + + public static MessageType getTypeByOrdinal( int type ) + { + for ( int ii = 0; ii < values.length; ii++ ) + { + if ( values[ii].ordinal == type ) + { + return values[ii]; + } + } + + return NULL; + } + + + public int getOrdinal() + { + return ordinal; + } } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/TicketGrantReply.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/TicketGrantReply.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/TicketGrantReply.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/TicketGrantReply.java Fri Feb 10 02:48:07 2006 @@ -16,12 +16,14 @@ */ package org.apache.kerberos.messages; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.components.Ticket; import org.apache.kerberos.messages.value.EncryptedData; import org.apache.kerberos.messages.value.PreAuthenticationData; + public class TicketGrantReply extends KdcReply { /** @@ -32,8 +34,9 @@ super( MessageType.KRB_TGS_REP ); } - public TicketGrantReply( PreAuthenticationData[] pAData, KerberosPrincipal clientPrincipal, - Ticket ticket, EncryptedData encPart ) + + public TicketGrantReply(PreAuthenticationData[] pAData, KerberosPrincipal clientPrincipal, Ticket ticket, + EncryptedData encPart) { super( pAData, clientPrincipal, ticket, encPart, MessageType.KRB_TGS_REP ); } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/ApplicationReply.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/ApplicationReply.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/ApplicationReply.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/ApplicationReply.java Fri Feb 10 02:48:07 2006 @@ -16,19 +16,23 @@ */ package org.apache.kerberos.messages.application; + import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.value.EncryptedData; + public class ApplicationReply extends KerberosMessage { private EncryptedData encryptedPart; - public ApplicationReply( EncryptedData encPart ) + + public ApplicationReply(EncryptedData encPart) { super( MessageType.KRB_AP_REP ); encryptedPart = encPart; } + public EncryptedData getEncPart() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/CredentialMessage.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/CredentialMessage.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/CredentialMessage.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/CredentialMessage.java Fri Feb 10 02:48:07 2006 @@ -16,27 +16,32 @@ */ package org.apache.kerberos.messages.application; + import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.components.Ticket; import org.apache.kerberos.messages.value.EncryptedData; + public class CredentialMessage extends KerberosMessage { private EncryptedData encPart; - private Ticket[] tickets; + private Ticket[] tickets; + - public CredentialMessage( EncryptedData encPart, Ticket[] tickets ) + public CredentialMessage(EncryptedData encPart, Ticket[] tickets) { super( MessageType.KRB_CRED ); this.encPart = encPart; this.tickets = tickets; } + public EncryptedData getEncPart() { return encPart; } + public Ticket[] getTickets() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/PrivateMessage.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/PrivateMessage.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/PrivateMessage.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/PrivateMessage.java Fri Feb 10 02:48:07 2006 @@ -16,30 +16,36 @@ */ package org.apache.kerberos.messages.application; + import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.value.EncryptedData; + public class PrivateMessage extends KerberosMessage { private EncryptedData encryptedPart; + public PrivateMessage() { super( MessageType.KRB_PRIV ); // used by ASN.1 decoder } - public PrivateMessage( EncryptedData encryptedPart ) + + public PrivateMessage(EncryptedData encryptedPart) { super( MessageType.KRB_PRIV ); this.encryptedPart = encryptedPart; } + public EncryptedData getEncryptedPart() { return encryptedPart; } + public void setEncryptedPart( EncryptedData encryptedData ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeBody.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeBody.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeBody.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeBody.java Fri Feb 10 02:48:07 2006 @@ -16,56 +16,65 @@ */ package org.apache.kerberos.messages.application; + import org.apache.kerberos.messages.value.HostAddress; import org.apache.kerberos.messages.value.KerberosTime; + public class SafeBody { - private byte[] userData; + private byte[] userData; private KerberosTime timestamp; //optional - private Integer usec; //optional - private Integer seqNumber; //optional - private HostAddress sAddress; //optional - private HostAddress rAddress; //optional + private Integer usec; //optional + private Integer seqNumber; //optional + private HostAddress sAddress; //optional + private HostAddress rAddress; //optional + /** * Class constructor */ - public SafeBody( byte[] userData, KerberosTime timestamp, Integer usec, Integer seqNumber, - HostAddress sAddress, HostAddress rAddress ) + public SafeBody(byte[] userData, KerberosTime timestamp, Integer usec, Integer seqNumber, HostAddress sAddress, + HostAddress rAddress) { - this.userData = userData; + this.userData = userData; this.timestamp = timestamp; - this.usec = usec; + this.usec = usec; this.seqNumber = seqNumber; - this.sAddress = sAddress; - this.rAddress = rAddress; + this.sAddress = sAddress; + this.rAddress = rAddress; } + public HostAddress getRAddress() { return rAddress; } + public HostAddress getSAddress() { return sAddress; } + public Integer getSeqNumber() { return seqNumber; } + public KerberosTime getTimestamp() { return timestamp; } + public Integer getUsec() { return usec; } + public byte[] getUserData() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeMessage.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeMessage.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeMessage.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/application/SafeMessage.java Fri Feb 10 02:48:07 2006 @@ -16,54 +16,64 @@ */ package org.apache.kerberos.messages.application; + import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.value.Checksum; import org.apache.kerberos.messages.value.HostAddress; import org.apache.kerberos.messages.value.KerberosTime; + public class SafeMessage extends KerberosMessage { private SafeBody safeBody; private Checksum cksum; - public SafeMessage( SafeBody safeBody, Checksum cksum ) + + public SafeMessage(SafeBody safeBody, Checksum cksum) { super( MessageType.KRB_SAFE ); this.safeBody = safeBody; this.cksum = cksum; } + public Checksum getCksum() { return cksum; } + // SafeBody delegate methods public HostAddress getRAddress() { return safeBody.getRAddress(); } + public HostAddress getSAddress() { return safeBody.getSAddress(); } + public Integer getSeqNumber() { return safeBody.getSeqNumber(); } + public KerberosTime getTimestamp() { return safeBody.getTimestamp(); } + public Integer getUsec() { return safeBody.getUsec(); } + public byte[] getUserData() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Authenticator.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Authenticator.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Authenticator.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Authenticator.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.Encodable; @@ -24,75 +25,85 @@ import org.apache.kerberos.messages.value.EncryptionKey; import org.apache.kerberos.messages.value.KerberosTime; + public class Authenticator implements Encodable { - public static final int AUTHENTICATOR_VNO = 5; + public static final int AUTHENTICATOR_VNO = 5; + + private int versionNumber; + private KerberosPrincipal clientPrincipal; + private Checksum checksum; + private int clientMicroSecond; + private KerberosTime clientTime; + private EncryptionKey subSessionKey; + private int sequenceNumber; + private AuthorizationData authorizationData; - private int versionNumber; - private KerberosPrincipal clientPrincipal; - private Checksum checksum; - private int clientMicroSecond; - private KerberosTime clientTime; - private EncryptionKey subSessionKey; - private int sequenceNumber; - private AuthorizationData authorizationData; - - public Authenticator( KerberosPrincipal clientPrincipal, Checksum checksum, - int clientMicroSecond, KerberosTime clientTime, EncryptionKey subSessionKey, - int sequenceNumber, AuthorizationData authorizationData ) - { - this( AUTHENTICATOR_VNO, clientPrincipal, checksum, clientMicroSecond, clientTime, - subSessionKey, sequenceNumber, authorizationData ); - } - - public Authenticator( int versionNumber, KerberosPrincipal clientPrincipal, Checksum checksum, - int clientMicroSecond, KerberosTime clientTime, EncryptionKey subSessionKey, - int sequenceNumber, AuthorizationData authorizationData ) - { - this.versionNumber = versionNumber; - this.clientPrincipal = clientPrincipal; - this.checksum = checksum; + + public Authenticator(KerberosPrincipal clientPrincipal, Checksum checksum, int clientMicroSecond, + KerberosTime clientTime, EncryptionKey subSessionKey, int sequenceNumber, AuthorizationData authorizationData) + { + this( AUTHENTICATOR_VNO, clientPrincipal, checksum, clientMicroSecond, clientTime, subSessionKey, + sequenceNumber, authorizationData ); + } + + + public Authenticator(int versionNumber, KerberosPrincipal clientPrincipal, Checksum checksum, + int clientMicroSecond, KerberosTime clientTime, EncryptionKey subSessionKey, int sequenceNumber, + AuthorizationData authorizationData) + { + this.versionNumber = versionNumber; + this.clientPrincipal = clientPrincipal; + this.checksum = checksum; this.clientMicroSecond = clientMicroSecond; - this.clientTime = clientTime; - this.subSessionKey = subSessionKey; - this.sequenceNumber = sequenceNumber; + this.clientTime = clientTime; + this.subSessionKey = subSessionKey; + this.sequenceNumber = sequenceNumber; this.authorizationData = authorizationData; } + public KerberosPrincipal getClientPrincipal() { return clientPrincipal; } + public KerberosTime getClientTime() { return clientTime; } + public int getClientMicroSecond() { return clientMicroSecond; } + public AuthorizationData getAuthorizationData() { return authorizationData; } + public Checksum getChecksum() { return checksum; } + public int getSequenceNumber() { return sequenceNumber; } + public EncryptionKey getSubSessionKey() { return subSessionKey; } + public int getVersionNumber() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/AuthenticatorModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/AuthenticatorModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/AuthenticatorModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/AuthenticatorModifier.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.AuthorizationData; @@ -25,65 +26,76 @@ import org.apache.kerberos.messages.value.KerberosTime; import org.apache.kerberos.messages.value.PrincipalName; + public class AuthenticatorModifier { - private int versionNumber; - private KerberosPrincipalModifier clientModifier = new KerberosPrincipalModifier(); - private Checksum checksum; - private int clientMicroSecond; - private KerberosTime clientTime; - private EncryptionKey subSessionKey; - private int sequenceNumber; - private AuthorizationData authorizationData; + private int versionNumber; + private KerberosPrincipalModifier clientModifier = new KerberosPrincipalModifier(); + private Checksum checksum; + private int clientMicroSecond; + private KerberosTime clientTime; + private EncryptionKey subSessionKey; + private int sequenceNumber; + private AuthorizationData authorizationData; + - public Authenticator getAuthenticator() + public Authenticator getAuthenticator() { KerberosPrincipal clientPrincipal = clientModifier.getKerberosPrincipal(); - return new Authenticator( versionNumber, clientPrincipal, checksum, clientMicroSecond, - clientTime, subSessionKey, sequenceNumber, authorizationData ); + return new Authenticator( versionNumber, clientPrincipal, checksum, clientMicroSecond, clientTime, + subSessionKey, sequenceNumber, authorizationData ); } + public void setVersionNumber( int versionNumber ) { this.versionNumber = versionNumber; } + public void setClientName( PrincipalName name ) { clientModifier.setPrincipalName( name ); } + public void setClientRealm( String realm ) { clientModifier.setRealm( realm ); } + public void setAuthorizationData( AuthorizationData data ) { authorizationData = data; } + public void setChecksum( Checksum checksum ) { this.checksum = checksum; } + public void setClientMicroSecond( int microSecond ) { clientMicroSecond = microSecond; } + public void setClientTime( KerberosTime time ) { clientTime = time; } + public void setSequenceNumber( int number ) { sequenceNumber = number; } + public void setSubSessionKey( EncryptionKey sessionKey ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPart.java Fri Feb 10 02:48:07 2006 @@ -16,47 +16,53 @@ */ package org.apache.kerberos.messages.components; + import org.apache.kerberos.messages.Encodable; import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.value.EncryptionKey; import org.apache.kerberos.messages.value.KerberosTime; + /** * Encrypted part of the application response */ public class EncApRepPart extends KerberosMessage implements Encodable { - private KerberosTime clientTime; - private int cusec; + private KerberosTime clientTime; + private int cusec; private EncryptionKey subSessionKey; //optional - private Integer sequenceNumber; //optional + private Integer sequenceNumber; //optional - public EncApRepPart( KerberosTime clientTime, int cusec, EncryptionKey subSessionKey, - Integer sequenceNumber ) + + public EncApRepPart(KerberosTime clientTime, int cusec, EncryptionKey subSessionKey, Integer sequenceNumber) { super( MessageType.ENC_AP_REP_PART ); - this.clientTime = clientTime; - this.cusec = cusec; - this.subSessionKey = subSessionKey; + this.clientTime = clientTime; + this.cusec = cusec; + this.subSessionKey = subSessionKey; this.sequenceNumber = sequenceNumber; } + public KerberosTime getClientTime() { return clientTime; } + public int getClientMicroSecond() { return cusec; } + public Integer getSequenceNumber() { return sequenceNumber; } + public EncryptionKey getSubSessionKey() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPartModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPartModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPartModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncApRepPartModifier.java Fri Feb 10 02:48:07 2006 @@ -16,35 +16,42 @@ */ package org.apache.kerberos.messages.components; + import org.apache.kerberos.messages.value.EncryptionKey; import org.apache.kerberos.messages.value.KerberosTime; + public class EncApRepPartModifier { - private KerberosTime clientTime; - private int cusec; + private KerberosTime clientTime; + private int cusec; private EncryptionKey subSessionKey; //optional - private Integer sequenceNumber; //optional + private Integer sequenceNumber; //optional + public EncApRepPart getEncApRepPart() { return new EncApRepPart( clientTime, cusec, subSessionKey, sequenceNumber ); } + public void setClientTime( KerberosTime clientTime ) { this.clientTime = clientTime; } + public void setClientMicroSecond( int cusec ) { this.cusec = cusec; } + public void setSubSessionKey( EncryptionKey subSessionKey ) { this.subSessionKey = subSessionKey; } + public void setSequenceNumber( Integer sequenceNumber ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncAsRepPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncAsRepPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncAsRepPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncAsRepPart.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.EncryptionKey; @@ -24,6 +25,7 @@ import org.apache.kerberos.messages.value.LastRequest; import org.apache.kerberos.messages.value.TicketFlags; + /** * Encrypted part of the authentication service response */ @@ -32,12 +34,11 @@ /** * Class constructor */ - public EncAsRepPart( EncryptionKey key, LastRequest lastReq, int nonce, - KerberosTime keyExpiration, TicketFlags flags, KerberosTime authTime, - KerberosTime startTime, KerberosTime endTime, KerberosTime renewTill, - KerberosPrincipal serverPrincipal, HostAddresses caddr ) + public EncAsRepPart(EncryptionKey key, LastRequest lastReq, int nonce, KerberosTime keyExpiration, + TicketFlags flags, KerberosTime authTime, KerberosTime startTime, KerberosTime endTime, KerberosTime renewTill, + KerberosPrincipal serverPrincipal, HostAddresses caddr) { - super( key, lastReq, nonce, keyExpiration, flags, authTime, startTime, endTime, renewTill, - serverPrincipal, caddr, MessageComponentType.KRB_ENC_AS_REP_PART ); + super( key, lastReq, nonce, keyExpiration, flags, authTime, startTime, endTime, renewTill, serverPrincipal, + caddr, MessageComponentType.KRB_ENC_AS_REP_PART ); } } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKdcRepPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKdcRepPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKdcRepPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKdcRepPart.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.EncryptionKey; @@ -24,25 +25,27 @@ import org.apache.kerberos.messages.value.LastRequest; import org.apache.kerberos.messages.value.TicketFlags; + /** * Base class for encrypted parts of KDC responses */ public class EncKdcRepPart { - private EncryptionKey key; - private LastRequest lastRequest; - private int nonce; - private KerberosTime keyExpiration; //optional - private TicketFlags flags = new TicketFlags(); - private KerberosTime authTime; - private KerberosTime startTime; //optional - private KerberosTime endTime; - private KerberosTime renewTill; //optional - private KerberosPrincipal serverPrincipal; - private HostAddresses clientAddresses; //optional - private MessageComponentType componentType; + private EncryptionKey key; + private LastRequest lastRequest; + private int nonce; + private KerberosTime keyExpiration; //optional + private TicketFlags flags = new TicketFlags(); + private KerberosTime authTime; + private KerberosTime startTime; //optional + private KerberosTime endTime; + private KerberosTime renewTill; //optional + private KerberosPrincipal serverPrincipal; + private HostAddresses clientAddresses; //optional + private MessageComponentType componentType; + - /** + /** * Class constructors */ public EncKdcRepPart() @@ -50,25 +53,25 @@ // built up by setter during reply generation } - public EncKdcRepPart( EncryptionKey key, LastRequest lastReq, int nonce, - KerberosTime keyExpiration, TicketFlags flags, KerberosTime authtime, - KerberosTime starttime, KerberosTime endtime, KerberosTime renewTill, - KerberosPrincipal serverPrincipal, HostAddresses caddr, - MessageComponentType componentType ) - { - this.key = key; - this.lastRequest = lastReq; - this.nonce = nonce; - this.keyExpiration = keyExpiration; - this.flags = flags; - this.authTime = authtime; - this.startTime = starttime; - this.endTime = endtime; - this.renewTill = renewTill; - this.serverPrincipal = serverPrincipal; - this.clientAddresses = caddr; - this.componentType = componentType; - } + + public EncKdcRepPart(EncryptionKey key, LastRequest lastReq, int nonce, KerberosTime keyExpiration, + TicketFlags flags, KerberosTime authtime, KerberosTime starttime, KerberosTime endtime, KerberosTime renewTill, + KerberosPrincipal serverPrincipal, HostAddresses caddr, MessageComponentType componentType) + { + this.key = key; + this.lastRequest = lastReq; + this.nonce = nonce; + this.keyExpiration = keyExpiration; + this.flags = flags; + this.authTime = authtime; + this.startTime = starttime; + this.endTime = endtime; + this.renewTill = renewTill; + this.serverPrincipal = serverPrincipal; + this.clientAddresses = caddr; + this.componentType = componentType; + } + // getters public KerberosTime getAuthTime() @@ -76,116 +79,139 @@ return authTime; } + public HostAddresses getClientAddresses() { return clientAddresses; } + public KerberosTime getEndTime() { return endTime; } + public TicketFlags getFlags() { return flags; } + public EncryptionKey getKey() { return key; } + public KerberosTime getKeyExpiration() { return keyExpiration; } + public LastRequest getLastRequest() { return lastRequest; } + public int getNonce() { return nonce; } + public KerberosTime getRenewTill() { return renewTill; } + public KerberosPrincipal getServerPrincipal() { return serverPrincipal; } + public String getServerRealm() { return serverPrincipal.getRealm(); } + public KerberosTime getStartTime() { return startTime; } + public MessageComponentType getComponentType() { return componentType; } + // setters public void setAuthTime( KerberosTime time ) { authTime = time; } + public void setClientAddresses( HostAddresses addresses ) { clientAddresses = addresses; } + public void setEndTime( KerberosTime time ) { endTime = time; } + public void setFlags( TicketFlags flags ) { this.flags = flags; } + public void setKey( EncryptionKey key ) { this.key = key; } + public void setKeyExpiration( KerberosTime expiration ) { keyExpiration = expiration; } + public void setLastRequest( LastRequest request ) { lastRequest = request; } + public void setNonce( int nonce ) { this.nonce = nonce; } + public void setRenewTill( KerberosTime till ) { renewTill = till; } + public void setServerPrincipal( KerberosPrincipal principal ) { serverPrincipal = principal; } + public void setStartTime( KerberosTime time ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbCredPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbCredPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbCredPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbCredPart.java Fri Feb 10 02:48:07 2006 @@ -16,34 +16,37 @@ */ package org.apache.kerberos.messages.components; + import org.apache.kerberos.messages.value.HostAddress; import org.apache.kerberos.messages.value.HostAddresses; import org.apache.kerberos.messages.value.KerberosTime; import org.apache.kerberos.messages.value.KrbCredInfo; + /** * Encrypted part of credential message types */ public class EncKrbCredPart { - public KrbCredInfo[] ticketInfo; - public Integer nonce; //optional - public KerberosTime timeStamp; //optional - public Integer usec; //optional - public HostAddress sAddress; //optional - public HostAddresses rAddress; //optional + public KrbCredInfo[] ticketInfo; + public Integer nonce; //optional + public KerberosTime timeStamp; //optional + public Integer usec; //optional + public HostAddress sAddress; //optional + public HostAddresses rAddress; //optional + - /** + /** * Class constructor */ - public EncKrbCredPart( KrbCredInfo[] ticketInfo, KerberosTime timeStamp, Integer usec, - Integer nonce, HostAddress sAddress, HostAddresses rAddress ) + public EncKrbCredPart(KrbCredInfo[] ticketInfo, KerberosTime timeStamp, Integer usec, Integer nonce, + HostAddress sAddress, HostAddresses rAddress) { this.ticketInfo = ticketInfo; - this.nonce = nonce; - this.timeStamp = timeStamp; - this.usec = usec; - this.sAddress = sAddress; - this.rAddress = rAddress; + this.nonce = nonce; + this.timeStamp = timeStamp; + this.usec = usec; + this.sAddress = sAddress; + this.rAddress = rAddress; } } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPart.java Fri Feb 10 02:48:07 2006 @@ -16,61 +16,70 @@ */ package org.apache.kerberos.messages.components; + import org.apache.kerberos.messages.Encodable; import org.apache.kerberos.messages.KerberosMessage; import org.apache.kerberos.messages.MessageType; import org.apache.kerberos.messages.value.HostAddress; import org.apache.kerberos.messages.value.KerberosTime; + /** * Encrypted part of private messages */ public class EncKrbPrivPart extends KerberosMessage implements Encodable { - private byte[] userData; - private KerberosTime timestamp; //optional - private Integer usec; //optional - private Integer sequenceNumber; //optional - private HostAddress senderAddress; //optional - private HostAddress recipientAddress; //optional + private byte[] userData; + private KerberosTime timestamp; //optional + private Integer usec; //optional + private Integer sequenceNumber; //optional + private HostAddress senderAddress; //optional + private HostAddress recipientAddress; //optional + - public EncKrbPrivPart( byte[] userData, KerberosTime timestamp, Integer usec, - Integer sequenceNumber, HostAddress senderAddress, HostAddress recipientAddress ) + public EncKrbPrivPart(byte[] userData, KerberosTime timestamp, Integer usec, Integer sequenceNumber, + HostAddress senderAddress, HostAddress recipientAddress) { super( MessageType.ENC_PRIV_PART ); - - this.userData = userData; - this.timestamp = timestamp; - this.usec = usec; - this.sequenceNumber = sequenceNumber; - this.senderAddress = senderAddress; - this.recipientAddress = recipientAddress; - } + + this.userData = userData; + this.timestamp = timestamp; + this.usec = usec; + this.sequenceNumber = sequenceNumber; + this.senderAddress = senderAddress; + this.recipientAddress = recipientAddress; + } + public HostAddress getRecipientAddress() { return recipientAddress; } + public HostAddress getSenderAddress() { return senderAddress; } + public Integer getSequenceNumber() { return sequenceNumber; } + public KerberosTime getTimestamp() { return timestamp; } + public Integer getMicroSecond() { return usec; } + public byte[] getUserData() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPartModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPartModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPartModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncKrbPrivPartModifier.java Fri Feb 10 02:48:07 2006 @@ -16,48 +16,56 @@ */ package org.apache.kerberos.messages.components; + import org.apache.kerberos.messages.value.HostAddress; import org.apache.kerberos.messages.value.KerberosTime; + public class EncKrbPrivPartModifier { - private byte[] userData; - private KerberosTime timestamp; //optional - private Integer usec; //optional - private Integer sequenceNumber; //optional - private HostAddress senderAddress; //optional - private HostAddress recipientAddress; //optional + private byte[] userData; + private KerberosTime timestamp; //optional + private Integer usec; //optional + private Integer sequenceNumber; //optional + private HostAddress senderAddress; //optional + private HostAddress recipientAddress; //optional + - public EncKrbPrivPart getEncKrbPrivPart() + public EncKrbPrivPart getEncKrbPrivPart() { - return new EncKrbPrivPart( userData, timestamp, usec, sequenceNumber, senderAddress, - recipientAddress ); + return new EncKrbPrivPart( userData, timestamp, usec, sequenceNumber, senderAddress, recipientAddress ); } + public void setRecipientAddress( HostAddress address ) { recipientAddress = address; } + public void setSenderAddress( HostAddress address ) { senderAddress = address; } + public void setSequenceNumber( Integer number ) { sequenceNumber = number; } + public void setTimestamp( KerberosTime timestamp ) { this.timestamp = timestamp; } + public void setMicroSecond( Integer usec ) { this.usec = usec; } + public void setUserData( byte[] data ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTgsRepPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTgsRepPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTgsRepPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTgsRepPart.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.EncryptionKey; @@ -24,6 +25,7 @@ import org.apache.kerberos.messages.value.LastRequest; import org.apache.kerberos.messages.value.TicketFlags; + /** * Encrypted part of TGS responses */ @@ -32,13 +34,12 @@ /** * Class constructor */ - public EncTgsRepPart( EncryptionKey key, LastRequest lastReq, int nonce, - KerberosTime keyExpiration, TicketFlags flags, KerberosTime authtime, - KerberosTime starttime, KerberosTime endtime, KerberosTime renewTill, - KerberosPrincipal serverPrincipal, HostAddresses caddr ) + public EncTgsRepPart(EncryptionKey key, LastRequest lastReq, int nonce, KerberosTime keyExpiration, + TicketFlags flags, KerberosTime authtime, KerberosTime starttime, KerberosTime endtime, KerberosTime renewTill, + KerberosPrincipal serverPrincipal, HostAddresses caddr) { - super( key, lastReq, nonce, keyExpiration, flags, authtime, starttime, endtime, renewTill, - serverPrincipal, caddr, MessageComponentType.KRB_ENC_TGS_REP_PART ); + super( key, lastReq, nonce, keyExpiration, flags, authtime, starttime, endtime, renewTill, serverPrincipal, + caddr, MessageComponentType.KRB_ENC_TGS_REP_PART ); } } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPart.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPart.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPart.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPart.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.Encodable; @@ -26,88 +27,101 @@ import org.apache.kerberos.messages.value.TicketFlags; import org.apache.kerberos.messages.value.TransitedEncoding; + /** * Encrypted part of Tickets */ public class EncTicketPart implements Encodable { - private TicketFlags flags; - private EncryptionKey sessionKey; - private KerberosPrincipal clientPrincipal; - private TransitedEncoding transitedEncoding; - private KerberosTime authtime; - private KerberosTime startTime; //optional - private KerberosTime endTime; - private KerberosTime renewTill; //optional - private HostAddresses clientAddresses; //optional - private AuthorizationData authorizationData; //optional - - public EncTicketPart(TicketFlags flags, EncryptionKey key, KerberosPrincipal clientPrincipal, - TransitedEncoding transited, KerberosTime authtime, KerberosTime starttime, - KerberosTime endtime, KerberosTime renewTill, HostAddresses caddr, - AuthorizationData authorizationData) { - - this.flags = flags; - this.sessionKey = key; - this.clientPrincipal = clientPrincipal; + private TicketFlags flags; + private EncryptionKey sessionKey; + private KerberosPrincipal clientPrincipal; + private TransitedEncoding transitedEncoding; + private KerberosTime authtime; + private KerberosTime startTime; //optional + private KerberosTime endTime; + private KerberosTime renewTill; //optional + private HostAddresses clientAddresses; //optional + private AuthorizationData authorizationData; //optional + + + public EncTicketPart(TicketFlags flags, EncryptionKey key, KerberosPrincipal clientPrincipal, + TransitedEncoding transited, KerberosTime authtime, KerberosTime starttime, KerberosTime endtime, + KerberosTime renewTill, HostAddresses caddr, AuthorizationData authorizationData) + { + + this.flags = flags; + this.sessionKey = key; + this.clientPrincipal = clientPrincipal; this.transitedEncoding = transited; - this.authtime = authtime; - this.startTime = starttime; - this.endTime = endtime; - this.renewTill = renewTill; - this.clientAddresses = caddr; + this.authtime = authtime; + this.startTime = starttime; + this.endTime = endtime; + this.renewTill = renewTill; + this.clientAddresses = caddr; this.authorizationData = authorizationData; - } + } + public AuthorizationData getAuthorizationData() { return authorizationData; } + public KerberosTime getAuthTime() { return authtime; } + public HostAddresses getClientAddresses() { return clientAddresses; } + public KerberosPrincipal getClientPrincipal() { return clientPrincipal; } + public String getClientRealm() { return clientPrincipal.getRealm(); } + public KerberosTime getEndTime() { return endTime; } + public TicketFlags getFlags() { return flags; } + public EncryptionKey getSessionKey() { return sessionKey; } + public KerberosTime getRenewTill() { return renewTill; } + public KerberosTime getStartTime() { return startTime; } + public TransitedEncoding getTransitedEncoding() { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPartModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPartModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPartModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/EncTicketPartModifier.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.AuthorizationData; @@ -27,98 +28,114 @@ import org.apache.kerberos.messages.value.TicketFlags; import org.apache.kerberos.messages.value.TransitedEncoding; + /** * Encrypted part of Tickets */ public class EncTicketPartModifier { - private TicketFlags flags = new TicketFlags(); - private EncryptionKey sessionKey; - private KerberosPrincipalModifier modifier = new KerberosPrincipalModifier(); - private KerberosPrincipal clientPrincipal; - private TransitedEncoding transitedEncoding; - private KerberosTime authTime; - private KerberosTime startTime; //optional - private KerberosTime endTime; - private KerberosTime renewTill; //optional - private HostAddresses clientAddresses; //optional - private AuthorizationData authorizationData; //optional + private TicketFlags flags = new TicketFlags(); + private EncryptionKey sessionKey; + private KerberosPrincipalModifier modifier = new KerberosPrincipalModifier(); + private KerberosPrincipal clientPrincipal; + private TransitedEncoding transitedEncoding; + private KerberosTime authTime; + private KerberosTime startTime; //optional + private KerberosTime endTime; + private KerberosTime renewTill; //optional + private HostAddresses clientAddresses; //optional + private AuthorizationData authorizationData; //optional + - public EncTicketPart getEncTicketPart() + public EncTicketPart getEncTicketPart() { if ( clientPrincipal == null ) { clientPrincipal = modifier.getKerberosPrincipal(); } - return new EncTicketPart( flags, sessionKey, clientPrincipal, transitedEncoding, authTime, - startTime, endTime, renewTill, clientAddresses, authorizationData ); + return new EncTicketPart( flags, sessionKey, clientPrincipal, transitedEncoding, authTime, startTime, endTime, + renewTill, clientAddresses, authorizationData ); } + public void setClientName( PrincipalName name ) { modifier.setPrincipalName( name ); } + public void setClientRealm( String realm ) { modifier.setRealm( realm ); } + public void setClientPrincipal( KerberosPrincipal principal ) { clientPrincipal = principal; } + public void setAuthorizationData( AuthorizationData data ) { authorizationData = data; } + public void setAuthTime( KerberosTime authtime ) { authTime = authtime; } + public void setClientAddresses( HostAddresses addresses ) { clientAddresses = addresses; } + public void setEndTime( KerberosTime time ) { endTime = time; } + public void setFlags( TicketFlags flags ) { this.flags = flags; } + public void setFlag( int flag ) { flags.set( flag ); } + public void clearFlag( int flag ) { flags.clear( flag ); } + public void setRenewTill( KerberosTime till ) { renewTill = till; } + public void setSessionKey( EncryptionKey key ) { sessionKey = key; } + public void setStartTime( KerberosTime time ) { startTime = time; } + public void setTransitedEncoding( TransitedEncoding encoding ) { Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/MessageComponentType.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/MessageComponentType.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/MessageComponentType.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/MessageComponentType.java Fri Feb 10 02:48:07 2006 @@ -16,75 +16,87 @@ */ package org.apache.kerberos.messages.components; + import java.util.Arrays; import java.util.Collections; import java.util.List; + /** * Type-safe enumerator for message component types */ public class MessageComponentType implements Comparable { - /** - * Enumeration elements are constructed once upon class loading. - * Order of appearance here determines the order of compareTo. - */ - public static final MessageComponentType NULL = new MessageComponentType(0, "null"); - public static final MessageComponentType KRB_TKT = new MessageComponentType(1, "ticket"); - public static final MessageComponentType KRB_AUTHENTICATOR = new MessageComponentType(2, "authenticator"); - public static final MessageComponentType KRB_ENC_TKT_PART = new MessageComponentType(3, "encrypted ticket part"); - public static final MessageComponentType KRB_ENC_AS_REP_PART = new MessageComponentType(25, "encrypted initial authentication part"); - public static final MessageComponentType KRB_ENC_TGS_REP_PART = new MessageComponentType(26, "encrypted TGS request part"); - public static final MessageComponentType KRB_ENC_AP_REP_PART = new MessageComponentType(27, "encrypted application request part"); - public static final MessageComponentType KRB_ENC_KRB_PRIV_PART = new MessageComponentType(28, "encrypted application message part"); - public static final MessageComponentType KRB_ENC_KRB_CRED_PART = new MessageComponentType(29, "encrypted credentials forward part"); + /** + * Enumeration elements are constructed once upon class loading. + * Order of appearance here determines the order of compareTo. + */ + public static final MessageComponentType NULL = new MessageComponentType( 0, "null" ); + public static final MessageComponentType KRB_TKT = new MessageComponentType( 1, "ticket" ); + public static final MessageComponentType KRB_AUTHENTICATOR = new MessageComponentType( 2, "authenticator" ); + public static final MessageComponentType KRB_ENC_TKT_PART = new MessageComponentType( 3, "encrypted ticket part" ); + public static final MessageComponentType KRB_ENC_AS_REP_PART = new MessageComponentType( 25, + "encrypted initial authentication part" ); + public static final MessageComponentType KRB_ENC_TGS_REP_PART = new MessageComponentType( 26, + "encrypted TGS request part" ); + public static final MessageComponentType KRB_ENC_AP_REP_PART = new MessageComponentType( 27, + "encrypted application request part" ); + public static final MessageComponentType KRB_ENC_KRB_PRIV_PART = new MessageComponentType( 28, + "encrypted application message part" ); + public static final MessageComponentType KRB_ENC_KRB_CRED_PART = new MessageComponentType( 29, + "encrypted credentials forward part" ); /** * These two lines are all that's necessary to export a List of VALUES. */ - private static final MessageComponentType[] values = { NULL, KRB_TKT, KRB_AUTHENTICATOR, - KRB_ENC_TKT_PART, KRB_ENC_AS_REP_PART, KRB_ENC_TGS_REP_PART, KRB_ENC_AP_REP_PART, - KRB_ENC_KRB_PRIV_PART, KRB_ENC_KRB_CRED_PART }; + private static final MessageComponentType[] values = + { NULL, KRB_TKT, KRB_AUTHENTICATOR, KRB_ENC_TKT_PART, KRB_ENC_AS_REP_PART, KRB_ENC_TGS_REP_PART, + KRB_ENC_AP_REP_PART, KRB_ENC_KRB_PRIV_PART, KRB_ENC_KRB_CRED_PART }; public static final List VALUES = Collections.unmodifiableList( Arrays.asList( values ) ); private final String name; private final int ordinal; + /** * Private constructor prevents construction outside of this class. */ - private MessageComponentType( int ordinal, String name ) + private MessageComponentType(int ordinal, String name) { this.ordinal = ordinal; - this.name = name; + this.name = name; } + public static MessageComponentType getTypeByOrdinal( int type ) { for ( int ii = 0; ii < values.length; ii++ ) { - if ( values[ ii ].ordinal == type ) + if ( values[ii].ordinal == type ) { - return values[ ii ]; + return values[ii]; } } return NULL; } + public int getOrdinal() { return ordinal; } + public String toString() { return name + " (" + ordinal + ")"; } + public int compareTo( Object that ) { - return ordinal - ( (MessageComponentType) that ).ordinal; + return ordinal - ( ( MessageComponentType ) that ).ordinal; } } Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Ticket.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Ticket.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Ticket.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/Ticket.java Fri Feb 10 02:48:07 2006 @@ -16,6 +16,7 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.AuthorizationData; @@ -26,6 +27,7 @@ import org.apache.kerberos.messages.value.TicketFlags; import org.apache.kerberos.messages.value.TransitedEncoding; + /** * Ticket message component as handed out by the ticket granting service */ @@ -33,109 +35,129 @@ { public static final int TICKET_VNO = 5; - private int versionNumber; + private int versionNumber; private KerberosPrincipal serverPrincipal; - private EncryptedData encPart; - private EncTicketPart encTicketPart; + private EncryptedData encPart; + private EncTicketPart encTicketPart; + - public Ticket( KerberosPrincipal serverPrincipal, EncryptedData encPart ) + public Ticket(KerberosPrincipal serverPrincipal, EncryptedData encPart) { this( TICKET_VNO, serverPrincipal, encPart ); } - public Ticket( int versionNumber, KerberosPrincipal serverPrincipal, EncryptedData encPart ) + + public Ticket(int versionNumber, KerberosPrincipal serverPrincipal, EncryptedData encPart) { - this.versionNumber = versionNumber; + this.versionNumber = versionNumber; this.serverPrincipal = serverPrincipal; - this.encPart = encPart; + this.encPart = encPart; } + public void setEncTicketPart( EncTicketPart decryptedPart ) { encTicketPart = decryptedPart; } + // getters public int getVersionNumber() { return versionNumber; } + public KerberosPrincipal getServerPrincipal() { return serverPrincipal; } + public String getRealm() { return serverPrincipal.getRealm(); } + public EncryptedData getEncPart() { return encPart; } + public EncTicketPart getEncTicketPart() { return encTicketPart; } + // EncTicketPart delegate getters public AuthorizationData getAuthorizationData() { return encTicketPart.getAuthorizationData(); } + public KerberosTime getAuthTime() { return encTicketPart.getAuthTime(); } + public HostAddresses getClientAddresses() { return encTicketPart.getClientAddresses(); } + public KerberosPrincipal getClientPrincipal() { return encTicketPart.getClientPrincipal(); } + public String getClientRealm() { return encTicketPart.getClientPrincipal().getRealm(); } + public KerberosTime getEndTime() { return encTicketPart.getEndTime(); } + public TicketFlags getFlags() { return encTicketPart.getFlags(); } + public KerberosTime getRenewTill() { return encTicketPart.getRenewTill(); } + public EncryptionKey getSessionKey() { return encTicketPart.getSessionKey(); } + public KerberosTime getStartTime() { return encTicketPart.getStartTime(); } + public TransitedEncoding getTransitedEncoding() { return encTicketPart.getTransitedEncoding(); } + // EncTicketPart TicketFlag delegates public boolean getFlag( int flag ) Modified: directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/TicketModifier.java URL: http://svn.apache.org/viewcvs/directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/TicketModifier.java?rev=376623&r1=376622&r2=376623&view=diff ============================================================================== --- directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/TicketModifier.java (original) +++ directory/sandbox/akarasulu/rc1/apacheds/kerberos-shared/src/main/java/org/apache/kerberos/messages/components/TicketModifier.java Fri Feb 10 02:48:07 2006 @@ -16,38 +16,45 @@ */ package org.apache.kerberos.messages.components; + import javax.security.auth.kerberos.KerberosPrincipal; import org.apache.kerberos.messages.value.EncryptedData; import org.apache.kerberos.messages.value.KerberosPrincipalModifier; import org.apache.kerberos.messages.value.PrincipalName; + public class TicketModifier { - private int ticketVersionNumber; - private KerberosPrincipalModifier serverModifier = new KerberosPrincipalModifier(); - private EncryptedData encPart; - - public Ticket getTicket() + private int ticketVersionNumber; + private KerberosPrincipalModifier serverModifier = new KerberosPrincipalModifier(); + private EncryptedData encPart; + + + public Ticket getTicket() { KerberosPrincipal serverPrincipal = serverModifier.getKerberosPrincipal(); return new Ticket( ticketVersionNumber, serverPrincipal, encPart ); } + public void setTicketVersionNumber( int versionNumber ) { ticketVersionNumber = versionNumber; } + public void setEncPart( EncryptedData part ) { encPart = part; } + public void setServerName( PrincipalName name ) { serverModifier.setPrincipalName( name ); } + public void setServerRealm( String realm ) {