From 345fecc0f5ac93f4415cb96f53003b046fea4d8b Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Mon, 12 Mar 2007 20:22:47 +0000
Subject: [PATCH] Add support for subordinate subtree to ACI.
---
opends/src/server/org/opends/server/authorization/dseecompat/AciTargets.java | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/opends/src/server/org/opends/server/authorization/dseecompat/AciTargets.java b/opends/src/server/org/opends/server/authorization/dseecompat/AciTargets.java
index 59230ee..dce9200 100644
--- a/opends/src/server/org/opends/server/authorization/dseecompat/AciTargets.java
+++ b/opends/src/server/org/opends/server/authorization/dseecompat/AciTargets.java
@@ -321,9 +321,6 @@
targetScope, targAttrFilters);
}
- /*
- * TODO Add support for the SearchScope.SUBORDINATE_SUBTREE scope.
- */
/**
* Evaluates a provided scope string and returns an appropriate
* SearchScope enumeration.
@@ -340,6 +337,8 @@
return SearchScope.SINGLE_LEVEL;
else if(expression.equalsIgnoreCase("subtree"))
return SearchScope.WHOLE_SUBTREE;
+ else if(expression.equalsIgnoreCase("subordinate"))
+ return SearchScope.SUBORDINATE_SUBTREE;
else {
int msgID =
MSGID_ACI_SYNTAX_INVALID_TARGETSCOPE_EXPRESSION;
@@ -501,12 +500,12 @@
if(!entryDN.isDescendantOf(targetDN))
return false;
break;
- /*
- * TODO Add support for the SearchScope.SUBORDINATE_SUBTREE scope.
- *
- * The isTargetApplicable method doesn't account for the subordinate
- * subtree search scope.
- */
+ case SUBORDINATE_SUBTREE:
+ if ((entryDN.getNumComponents() <= targetDN.getNumComponents()) ||
+ !entryDN.isDescendantOf(targetDN)) {
+ return false;
+ }
+ break;
default:
return false;
}
--
Gitblit v1.10.0