From: Howard Chu Date: Sun, 4 Feb 2007 00:16:54 +0000 (+0000) Subject: Fix prev commit X-Git-Tag: OPENLDAP_REL_ENG_2_4_4ALPHA~8^2~91 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7d2a744acf2a2b7c30594f89861e731d58337273;p=openldap Fix prev commit --- 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; }