From: Howard Chu Date: Thu, 30 Oct 2008 18:22:11 +0000 (+0000) Subject: ITS#5781 fix modification of MV attrs with no EQ rule X-Git-Tag: ACLCHECK_0~1176 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=fa245f749145d20bed6609019f3451407ddff9c6;p=openldap ITS#5781 fix modification of MV attrs with no EQ rule --- diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index b53032a3b7..dd39e3cea4 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2900,8 +2900,13 @@ attr_cmp( Operation *op, Attribute *old, Attribute *new, * Modify would fail if provider has replaced entry with a new, * and the new explicitly includes a superior of a class that was * only included implicitly in the old entry. Ref ITS#5517. + * + * Also use replace op if attr has no equality matching rule. + * (ITS#5781) */ - if ( nn && no < o && old->a_desc == slap_schema.si_ad_objectClass ) + if ( nn && no < o && + ( old->a_desc == slap_schema.si_ad_objectClass || + !old->a_desc->ad_type->sat_equality )) no = o; i = j;