From 1b00a59effd69fa2f9c8ec326fd5aea17dc0831d Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Mon, 11 Aug 2008 20:57:54 +0000
Subject: [PATCH] Fix for issue 3474:  authzid is ignored when checking groupdn membership.

---
 opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java b/opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java
index d5a73c5..7e301bc 100644
--- a/opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java
+++ b/opends/src/server/org/opends/server/authorization/dseecompat/AciContainer.java
@@ -834,18 +834,22 @@
      * {@inheritDoc}
      */
     public boolean isMemberOf(Group group) {
-      boolean ret;
-      try {
-        Entry e = getClientEntry();
-        if(e != null) {
-          ret=group.isMember(e);
-        } else {
-          ret=group.isMember(getClientDN());
+        boolean ret;
+        try {
+            if(useAuthzid) {
+                ret = group.isMember(this.authzid);
+            } else {
+                Entry e = getClientEntry();
+                if(e != null) {
+                    ret=group.isMember(e);
+                } else {
+                    ret=group.isMember(getClientDN());
+                }
+            }
+        } catch (DirectoryException ex) {
+            ret=false;
         }
-      } catch (DirectoryException ex) {
-        ret=false;
-      }
-      return  ret;
+        return  ret;
     }
 
   /**

--
Gitblit v1.10.0