zrhoffman / rpms / 389-ds-base

Forked from rpms/389-ds-base 3 years ago
Clone

Blame SOURCES/0001-Issue-51076-prevent-unnecessarily-duplication-of-the.patch

5873fa
From 97ecf0190f264a2d87750bc2d26ebf011542e3e1 Mon Sep 17 00:00:00 2001
5873fa
From: Mark Reynolds <mreynolds@redhat.com>
5873fa
Date: Fri, 8 May 2020 10:52:43 -0400
5873fa
Subject: [PATCH 01/12] Issue 51076 - prevent unnecessarily duplication of the
5873fa
 target entry
5873fa
5873fa
Bug Description:  For any update operation the MEP plugin was calling
5873fa
                  slapi_search_internal_get_entry() which duplicates
5873fa
                  the entry it returns.  In this case the entry is just
5873fa
                  read from and discarded, but this entry is already
5873fa
                  in the pblock (the PRE OP ENTRY).
5873fa
5873fa
Fix Description:  Just grab the PRE OP ENTRY from the pblock and use
5873fa
                  that to read the attribute values from.  This saves
5873fa
                  two entry duplications for every update operation
5873fa
                  from MEP.
5873fa
5873fa
fixes:  https://pagure.io/389-ds-base/issue/51076
5873fa
5873fa
Reviewed by: tbordaz & firstyear(Thanks!!)
5873fa
---
5873fa
 ldap/servers/plugins/mep/mep.c | 5 ++---
5873fa
 1 file changed, 2 insertions(+), 3 deletions(-)
5873fa
5873fa
diff --git a/ldap/servers/plugins/mep/mep.c b/ldap/servers/plugins/mep/mep.c
5873fa
index ca9a64b3b..401d95e3a 100644
5873fa
--- a/ldap/servers/plugins/mep/mep.c
5873fa
+++ b/ldap/servers/plugins/mep/mep.c
5873fa
@@ -2165,9 +2165,8 @@ mep_pre_op(Slapi_PBlock *pb, int modop)
5873fa
                 if (e && free_entry) {
5873fa
                     slapi_entry_free(e);
5873fa
                 }
5873fa
-
5873fa
-                slapi_search_internal_get_entry(sdn, 0, &e, mep_get_plugin_id());
5873fa
-                free_entry = 1;
5873fa
+                slapi_pblock_get(pb, SLAPI_ENTRY_PRE_OP, &e);
5873fa
+                free_entry = 0;
5873fa
             }
5873fa
 
5873fa
             if (e && mep_is_managed_entry(e)) {
5873fa
-- 
5873fa
2.26.2
5873fa