From dca734722b5877669038c3c8511ee261cd98f61f Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Tue, 28 Apr 2009 18:53:06 +0000
Subject: [PATCH] Fix for issue 3949: Unknown trailing ASN.1 elements are now ignored when decoding the extended operation value.
---
opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
index fc113f0..a22a179 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
@@ -263,13 +263,18 @@
newPassword = reader.readOctetString();
break;
default:
- operation.setResultCode(ResultCode.PROTOCOL_ERROR);
+ // Its ok if we encounter unrecognized trailing tags
+ reader.skipElement();
+ if(reader.hasNextElement())
+ {
+ operation.setResultCode(ResultCode.PROTOCOL_ERROR);
- operation.appendErrorMessage(
- ERR_EXTOP_PASSMOD_ILLEGAL_REQUEST_ELEMENT_TYPE.get(
- byteToHex(reader.peekType())));
- return;
+ operation.appendErrorMessage(
+ ERR_EXTOP_PASSMOD_ILLEGAL_REQUEST_ELEMENT_TYPE.get(
+ byteToHex(reader.peekType())));
+ return;
+ }
}
}
reader.readEndSequence();
--
Gitblit v1.10.0