From: Pierangelo Masarati Date: Sun, 18 Apr 2010 05:37:36 +0000 (+0000) Subject: fix syncrepl when attr has no matching rule (ITS#6458) X-Git-Tag: MIGRATION_CVS2GIT~617 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8025becf916edadf4bf3cc52846f6ad8e3d38881;p=openldap fix syncrepl when attr has no matching rule (ITS#6458) --- diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index a5a35d5ba4..f05be0a49c 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -3286,10 +3286,12 @@ attr_cmp( Operation *op, Attribute *old, Attribute *new, * Also use replace op if attr has no equality matching rule. * (ITS#5781) */ - if ( nn && no < o && + if ( ( nn || ( no > 0 && no < o ) ) && ( old->a_desc == slap_schema.si_ad_objectClass || - !old->a_desc->ad_type->sat_equality )) + !old->a_desc->ad_type->sat_equality ) ) + { no = o; + } i = j; /* all old values were deleted, just use the replace op */