From 7d2a744acf2a2b7c30594f89861e731d58337273 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 4 Feb 2007 00:16:54 +0000 Subject: [PATCH] Fix prev commit --- servers/slapd/syncrepl.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index 58e68f5e16..75fcc6662a 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -1942,6 +1942,10 @@ retry_add:; "syncrepl_entry: rid %03ld be_modify failed (%d)\n", si->si_rid, rs_modify.sr_err, 0 ); } + } else { + Debug( LDAP_DEBUG_SYNC, + "syncrepl_entry: rid %03ld entry unchanged, ignored (%s)\n", + si->si_rid, op->o_req_dn.bv_val, 0 ); } goto done; case LDAP_SYNC_DELETE : @@ -2615,11 +2619,14 @@ dn_callback( continue; } /* kludge - always update modifiersName so that it - * stays co-located with the other mod opattrs + * stays co-located with the other mod opattrs. But only + * if we know there are other valid mods. */ - attr_cmp( op, old->a_desc != - slap_schema.si_ad_modifiersName ? old : NULL, - new, &modtail, &ml ); + if ( old->a_desc == slap_schema.si_ad_modifiersName && + dni->mods ) + attr_cmp( op, NULL, new, &modtail, &ml ); + else + attr_cmp( op, old, new, &modtail, &ml ); new = new->a_next; old = old->a_next; } -- 2.39.5