Blob Blame Raw
From ea4b10991ea02274cd4861a123494917c3f2e8d5 Mon Sep 17 00:00:00 2001
From: "Thierry bordaz (tbordaz)" <>
Date: Thu, 11 Sep 2014 09:47:29 +0200
Subject: [PATCH 7/7] Ticket 47889 - DS crashed during ipa-server-install on

Bug Description:
	During a MOD the target entry is duplicated and mods are applied
	on the duplicated entry that is set in the pblock (SLAPI_MODIFY_EXISTING_ENTRY).
	In case of transient DB error, ldbm_back_modify retries.
	But when retrying the duplicated entry will be freed and needs to be duplicated again.
	The new duplicated entry needs to be set in the pblock. erronously skip the setting of SLAPI_MODIFY_EXISTING_ENTRY

Fix Description:

Reviewed by: ?

Platforms tested: F20

Flag Day: no

Doc impact: no

(cherry picked from commit 3b5f3fa1b82cde2bda1104cf758acb64f6484009)
(cherry picked from commit 0363fa49265c0c27d510064cea361eb400802548)
 ldap/servers/slapd/back-ldbm/ldbm_modify.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ldap/servers/slapd/back-ldbm/ldbm_modify.c b/ldap/servers/slapd/back-ldbm/ldbm_modify.c
index 254ef29..529bd32 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_modify.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_modify.c
@@ -529,6 +529,7 @@ ldbm_back_modify( Slapi_PBlock *pb )
 					CACHE_REMOVE(&inst->inst_cache, ec);
 				CACHE_RETURN(&inst->inst_cache, &ec);
+				slapi_pblock_set( pb, SLAPI_MODIFY_EXISTING_ENTRY, original_entry->ep_entry );
 				ec = original_entry;
 				original_entry = tmpentry;
 				tmpentry = NULL;