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