From 0c0b4df54e3be5cc4ed4dec61c0788f4001977c4 Mon Sep 17 00:00:00 2001
From: Mark Reynolds <mreynolds@redhat.com>
Date: Wed, 12 Nov 2014 10:15:46 -0500
Subject: [PATCH 267/267] 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)
---
ldap/servers/plugins/acl/acl.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
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);
--
1.9.3