You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2004/11/03 05:12:08 UTC
svn commit: rev 56469 - in incubator/directory/kerberos/trunk/source/main/org/apache/kerberos: io/decoder messages/value
Author: erodriguez
Date: Tue Nov 2 20:12:07 2004
New Revision: 56469
Modified:
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/decoder/KerberosMessageDecoder.java
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/LastRequest.java
Log:
Implemented LastRequest handling.
Modified: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/decoder/KerberosMessageDecoder.java
==============================================================================
--- incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/decoder/KerberosMessageDecoder.java (original)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/io/decoder/KerberosMessageDecoder.java Tue Nov 2 20:12:07 2004
@@ -181,7 +181,7 @@
protected HostAddress decodeHostAddress(DERSequence sequence) {
HostAddressType type = HostAddressType.NULL;
- byte[] value = new byte[0];
+ byte[] value = null;
for (Enumeration e = sequence.getObjects(); e.hasMoreElements();) {
DERTaggedObject object = ((DERTaggedObject) e.nextElement());
@@ -288,13 +288,51 @@
lr-type[0] INTEGER,
lr-value[1] KerberosTime
}*/
- protected void decodeLastRequest() {};
+ protected LastRequest decodeLastRequest(DERSequence sequence) {
+
+ LastRequestEntry[] entries = new LastRequestEntry[sequence.size()];
+
+ int i = 0;
+ for (Enumeration e = sequence.getObjects(); e.hasMoreElements();) {
+ DERSequence object = ((DERSequence) e.nextElement());
+ LastRequestEntry entry = decodeLastRequestEntry(object);
+ entries[i] = entry;
+ i++;
+ }
+
+ return new LastRequest(entries);
+ }
+
+ protected LastRequestEntry decodeLastRequestEntry(DERSequence sequence) {
+
+ LastRequestType type = LastRequestType.NONE;
+ KerberosTime value = null;
+
+ for (Enumeration e = sequence.getObjects(); e.hasMoreElements();) {
+ DERTaggedObject object = ((DERTaggedObject) e.nextElement());
+ int tag = object.getTagNo();
+ DERObject derObject = object.getObject();
+ switch (tag) {
+ case 0:
+ DERInteger tag0 = (DERInteger)derObject;
+ type = LastRequestType.getTypeByOrdinal(tag0.getValue().intValue());
+ break;
+ case 1:
+ DERGeneralizedTime tag1 = (DERGeneralizedTime)derObject;
+ value = decodeKerberosTime(tag1);
+ break;
+ default:
+ System.out.println(derObject);
+ break;
+ }
+ }
+ return new LastRequestEntry(type, value);
+ }
/*
- TransitedEncoding ::= SEQUENCE {
- tr-type[0] INTEGER, -- must be registered
- contents[1] OCTET STRING
- }*/
+ * TransitedEncoding ::= SEQUENCE { tr-type[0] INTEGER, -- must be
+ * registered contents[1] OCTET STRING }
+ */
protected TransitedEncoding decodeTransitedEncoding(DERSequence sequence) {
TransitedEncodingType type = TransitedEncodingType.NULL;
byte[] contents = null;
Modified: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/LastRequest.java
==============================================================================
--- incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/LastRequest.java (original)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/LastRequest.java Tue Nov 2 20:12:07 2004
@@ -24,6 +24,10 @@
_entries[0] = new LastRequestEntry(LastRequestType.NONE, new KerberosTime());
}
+ public LastRequest(LastRequestEntry[] entries) {
+ _entries = entries;
+ }
+
public LastRequestEntry[] getEntries() {
return _entries;
}