From: Pierangelo Masarati Date: Sat, 28 Dec 2013 15:18:10 +0000 (+0100) Subject: handle softadd/softdel (internal modifications; ITS#7773) X-Git-Tag: OPENLDAP_REL_ENG_2_4_39~10 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f12a84a70e5497367ef65ff48299dc77ea238b90;hp=c22f451985f3db5c2b6ca40d28b43302b71fc6f4;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;