andykimpe / rpms / 389-ds-base

Forked from rpms/389-ds-base 5 months ago
Clone
Blob Blame History Raw
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