From 0c0b4df54e3be5cc4ed4dec61c0788f4001977c4 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Jan 09 2015 18:35:20 +0000 Subject: Ticket 47953 - Should not check aci syntax when deleting an aci Bug Description: Trying to delete an aci that has an invalid sytenx, generates a syntax error when trying to remove it. Fix Description: Do not check the syntax of an aci if it's being deleted. https://fedorahosted.org/389/ticket/47953 Reviewed by: rmeggins(Thanks!) (cherry picked from commit 3ce60db0a404b4663df6005b78027332d0e56f95) Conflicts: ldap/servers/plugins/acl/acl.c (cherry picked from commit 234f118efe7867cbbe36ca5c8b13ea7195114a38) (cherry picked from commit 67a084d288b971fa31c58375d06a521e4776c6ca) --- diff --git a/ldap/servers/plugins/acl/acl.c b/ldap/servers/plugins/acl/acl.c index d27c0e1..598601b 100644 --- a/ldap/servers/plugins/acl/acl.c +++ b/ldap/servers/plugins/acl/acl.c @@ -1485,13 +1485,15 @@ acl_check_mods( /* Are we adding/replacing a aci attribute ** value. In that case, we need to make - ** sure that the new value has thr right + ** sure that the new value has the right ** syntax */ - if (strcmp(mod->mod_type, - aci_attr_type) == 0) { - if ( 0 != (rv = acl_verify_syntax( e_sdn, - mod->mod_bvalues[i], errbuf))) { + + if (!SLAPI_IS_MOD_DELETE(mod->mod_op) && + strcmp(mod->mod_type, aci_attr_type) == 0) + { + if ( 0 != (rv = acl_verify_syntax(e_sdn, + mod->mod_bvalues[i], errbuf))) { aclutil_print_err(rv, e_sdn, mod->mod_bvalues[i], errbuf);