From: Pierangelo Masarati Date: Sat, 28 Dec 2013 15:18:10 +0000 (+0100) Subject: handle softadd/softdel (internal modifications; ITS#7773) X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3be02f83df3cff594f87323f9f3a3fbf3c32a4f8;p=openldap handle softadd/softdel (internal modifications; ITS#7773) --- diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c index 62dec6be95..4e8b13dd6c 100644 --- a/servers/slapd/overlays/constraint.c +++ b/servers/slapd/overlays/constraint.c @@ -855,6 +855,7 @@ constraint_check_count_violation( Modifications *m, Entry *target_entry, constra ca = m->sml_numvals; switch ( m->sml_op ) { case LDAP_MOD_DELETE: + case SLAP_MOD_SOFTDEL: if ( !ca || ca > ce ) { ce = 0; } else { @@ -865,6 +866,7 @@ constraint_check_count_violation( Modifications *m, Entry *target_entry, constra break; case LDAP_MOD_ADD: + case SLAP_MOD_SOFTADD: ce += ca; break; @@ -872,6 +874,11 @@ constraint_check_count_violation( Modifications *m, Entry *target_entry, constra ce = ca; break; +#if 0 + /* TODO */ + case handle SLAP_MOD_ADD_IF_NOT_PRESENT: +#endif + default: /* impossible! assert? */ return 1;