Blame SOURCES/0019-Ticket-47534-RUV-tombstone-search-with-scope-one-doe.patch

ba46c7
From debd7eeaa129d176c14e6e9d45a9c302c0b508a7 Mon Sep 17 00:00:00 2001
ba46c7
From: Noriko Hosoi <nhosoi@redhat.com>
ba46c7
Date: Fri, 27 Sep 2013 11:23:42 -0700
ba46c7
Subject: [PATCH 19/28] Ticket #47534 - RUV tombstone search with scope "one" doesn`t work
ba46c7
ba46c7
Bug description: slapi_sdn_scope_test_ext examines the given dn
ba46c7
satisfies the scope against the base dn.  Onelevel case for the
ba46c7
tombstone DN ignores the nsuniqueid leaf rdn before checking the
ba46c7
scope which should not be done for the RUV tombstone.
ba46c7
ba46c7
Fix description: This patch correctly handles the RUV tombstone
ba46c7
as an exception.
ba46c7
ba46c7
https://fedorahosted.org/389/ticket/47534
ba46c7
ba46c7
Reviewed by rmeggins (Thanks, Rich!)
ba46c7
(cherry picked from commit fbece32d94515bc1ca3889c3d7c0691bbeec3ab0)
ba46c7
(cherry picked from commit a8795a928511321f3b46461680cfbf8314edc982)
ba46c7
---
ba46c7
 ldap/servers/slapd/dn.c |    5 ++++-
ba46c7
 1 files changed, 4 insertions(+), 1 deletions(-)
ba46c7
ba46c7
diff --git a/ldap/servers/slapd/dn.c b/ldap/servers/slapd/dn.c
ba46c7
index 9ed8091..9530b84 100644
ba46c7
--- a/ldap/servers/slapd/dn.c
ba46c7
+++ b/ldap/servers/slapd/dn.c
ba46c7
@@ -2645,7 +2645,10 @@ slapi_sdn_scope_test_ext( const Slapi_DN *dn, const Slapi_DN *base, int scope, i
ba46c7
         }
ba46c7
         break;
ba46c7
     case LDAP_SCOPE_ONELEVEL:
ba46c7
-        if (flags & SLAPI_ENTRY_FLAG_TOMBSTONE) {
ba46c7
+#define RUVRDN SLAPI_ATTR_UNIQUEID "=" RUV_STORAGE_ENTRY_UNIQUEID ","
ba46c7
+        if ((flags & SLAPI_ENTRY_FLAG_TOMBSTONE) &&
ba46c7
+            (strncmp(slapi_sdn_get_ndn(dn), RUVRDN, sizeof(RUVRDN) - 1))) {
ba46c7
+            /* tombstones except RUV tombstone */
ba46c7
             Slapi_DN parent;
ba46c7
             slapi_sdn_init(&parent);
ba46c7
             slapi_sdn_get_parent(dn, &parent);
ba46c7
-- 
ba46c7
1.7.1
ba46c7