You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/11/26 03:10:42 UTC
directory-kerby git commit: DIRKRB-475 The decoded asn1 object with
the wrong tagFlags.
Repository: directory-kerby
Updated Branches:
refs/heads/master c307970d9 -> 5706da2eb
DIRKRB-475 The decoded asn1 object with the wrong tagFlags.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/5706da2e
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/5706da2e
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/5706da2e
Branch: refs/heads/master
Commit: 5706da2ebb7cc5aea15dcb186efe2995de28f6af
Parents: c307970
Author: plusplusjiajia <ji...@intel.com>
Authored: Thu Nov 26 10:16:56 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Thu Nov 26 10:16:56 2015 +0800
----------------------------------------------------------------------
.../main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java | 3 ++-
.../java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java | 4 +++-
.../src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java | 3 ++-
3 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/5706da2e/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java
index f0fbf35..305f986 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/AbstractAsn1Type.java
@@ -209,9 +209,10 @@ public abstract class AbstractAsn1Type<T> implements Asn1Type {
protected void decode(LimitedByteBuffer content) throws IOException {
int tag = readTag(content);
int tagNo = readTagNo(content, tag);
+ int tagFlags = tag & 0xe0;
int length = readLength(content);
- decode(tag, tagNo, new LimitedByteBuffer(content, length));
+ decode(tagNo, tagNo, new LimitedByteBuffer(content, length));
}
public void decode(int tagFlags, int tagNo,
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/5706da2e/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java b/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
index da6c7ce..8c005b4 100644
--- a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
+++ b/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
@@ -19,8 +19,8 @@
*/
package org.apache.kerby.kerberos.kerb.codec;
-import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.KrbCodec;
+import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.spec.base.CheckSum;
import org.apache.kerby.kerberos.kerb.spec.base.CheckSumType;
import org.junit.Test;
@@ -41,5 +41,7 @@ public class CodecTest {
assertThat(restored).isNotNull();
assertThat(restored.getCksumtype()).isEqualTo(mcs.getCksumtype());
assertThat(mcs.getChecksum()).isEqualTo(restored.getChecksum());
+ assertThat(restored.tagNo()).isEqualTo(mcs.tagNo());
+ assertThat(restored.tagFlags()).isEqualTo(mcs.tagFlags());
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/5706da2e/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java
index fd3d4ba..4827961 100644
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java
+++ b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/KrbCodec.java
@@ -67,6 +67,7 @@ public class KrbCodec {
LimitedByteBuffer limitedBuffer = new LimitedByteBuffer(byteBuffer);
int tag = AbstractAsn1Type.readTag(limitedBuffer);
int tagNo = AbstractAsn1Type.readTagNo(limitedBuffer, tag);
+ int tagFlags = tag & 0xe0;
int length = AbstractAsn1Type.readLength(limitedBuffer);
LimitedByteBuffer valueBuffer = new LimitedByteBuffer(limitedBuffer, length);
@@ -89,7 +90,7 @@ public class KrbCodec {
} else {
throw new IOException("To be supported krb message type with tag: " + tag);
}
- msg.decode(tag, tagNo, valueBuffer);
+ msg.decode(tagFlags, tagNo, valueBuffer);
return msg;
}