ldap/servers/plugins/replication/repl5_replica.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit 37a2a4d4d823d2dc4211ef57165ad5daf42c63a0 Author: Rich Megginson rmeggins@redhat.com Date: Fri Sep 9 12:48:31 2011 -0600
Bug 736712 - Modifying ruv entry deadlocks server
https://bugzilla.redhat.com/show_bug.cgi?id=736712 Resolves: bug 736712 Bug Description: Modifying ruv entry deadlocks server Reviewed by: nkinder (Thanks!) Branch: master Fix Description: Disallow modifying the RUV entry directly. Server returns OPERATIONS_ERROR. Error log says to use CLEANRUV task instead. Platforms tested: RHEL6 x86_64 Flag Day: no Doc impact: no
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c index 92322ee..2a24f3e 100644 --- a/ldap/servers/plugins/replication/repl5_replica.c +++ b/ldap/servers/plugins/replication/repl5_replica.c @@ -2391,6 +2391,19 @@ replica_ruv_smods_for_op( Slapi_PBlock *pb, char **uniqueid, Slapi_Mods **smods Slapi_Mod smod; Slapi_Mod smod_last_modified; Slapi_Operation *op; + Slapi_Entry *target_entry = NULL; + + slapi_pblock_get(pb, SLAPI_ENTRY_PRE_OP, &target_entry); + if (target_entry && is_ruv_tombstone_entry(target_entry)) { + char ebuf[BUFSIZ]; + /* disallow direct modification of the RUV tombstone entry + must use the CLEANRUV task instead */ + slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, + "replica_ruv_smods_for_op: attempted to directly modify the tombstone RUV " + "entry [%s] - use the CLEANRUV task instead\n", + escape_string(slapi_entry_get_dn_const(target_entry),ebuf)); + return (-1); + }
replica_obj = replica_get_replica_for_op (pb); slapi_pblock_get( pb, SLAPI_OPERATION, &op );
389-commits@lists.fedoraproject.org