From 713d9fabc5e30e0dd4016328904dca66d75cf7e3 Mon Sep 17 00:00:00 2001
From: jdemendi <jdemendi@localhost>
Date: Tue, 31 Mar 2009 15:52:47 +0000
Subject: [PATCH] fix 3892, ACI evaluation is made optional when returning entries and references to clients
---
opends/src/server/org/opends/server/core/SearchOperation.java | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/SearchOperation.java b/opends/src/server/org/opends/server/core/SearchOperation.java
index ee0edfa..c69a599 100644
--- a/opends/src/server/org/opends/server/core/SearchOperation.java
+++ b/opends/src/server/org/opends/server/core/SearchOperation.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.core;
@@ -242,6 +242,26 @@
public abstract boolean returnEntry(Entry entry, List<Control> controls);
/**
+ * Used as a callback for backends to indicate that the provided entry matches
+ * the search criteria and that additional processing should be performed to
+ * potentially send it back to the client.
+ *
+ * @param entry The entry that matches the search criteria and should
+ * be sent to the client.
+ * @param controls The set of controls to include with the entry (may be
+ * <CODE>null</CODE> if none are needed).
+ * @param evaluateAci Indicates whether the access rights to the entry
+ * should be evaluated.
+ *
+ * @return <CODE>true</CODE> if the caller should continue processing the
+ * search request and sending additional entries and references, or
+ * <CODE>false</CODE> if not for some reason (e.g., the size limit
+ * has been reached or the search has been abandoned).
+ */
+ public abstract boolean returnEntry(Entry entry, List<Control> controls,
+ boolean evaluateAci);
+
+ /**
* Used as a callback for backends to indicate that the provided search
* reference was encountered during processing and that additional processing
* should be performed to potentially send it back to the client.
@@ -258,6 +278,25 @@
SearchResultReference reference);
/**
+ * Used as a callback for backends to indicate that the provided search
+ * reference was encountered during processing and that additional processing
+ * should be performed to potentially send it back to the client.
+ *
+ * @param reference The search reference to send to the client.
+ * @param dn The DN related to the specified search reference.
+ * @param evaluateAci Indicates whether the access rights to the entry
+ * should be evaluated.
+ *
+ * @return <CODE>true</CODE> if the caller should continue processing the
+ * search request and sending additional entries and references , or
+ * <CODE>false</CODE> if not for some reason (e.g., the size limit
+ * has been reached or the search has been abandoned).
+ */
+ public abstract boolean returnReference(DN dn,
+ SearchResultReference reference,
+ boolean evaluateAci);
+
+ /**
* Sends the search result done message to the client. Note that this method
* should only be called from external classes in special cases (e.g.,
* persistent search) where they are sure that the result won't be sent by the
--
Gitblit v1.10.0