From 93d7b9ef7af5747859b82f4326661728106b0149 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Wed, 10 Dec 2025 12:07:18 +0000 Subject: [PATCH] ITS#7347 Allow subtractive -a/z/i to work as expected --- servers/slapd/acl.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/servers/slapd/acl.c b/servers/slapd/acl.c index 6e841a7548..780bb21790 100644 --- a/servers/slapd/acl.c +++ b/servers/slapd/acl.c @@ -1860,6 +1860,11 @@ slap_acl_mask( ACL_PRIV_CLR( *mask, modmask ); /* cleanup */ + if ( (modmask & ACL_PRIV_WRITE) && (*mask & ACL_PRIV_WRITE) ) { + /* ITS#7347 Allow subtractive -a/z/i to keep the other counterpart (so + * that "=w" then "-a" -> "zi" etc.) */ + ACL_PRIV_SET( *mask, ACL_ACCESS2PRIV(ACL_WRITE_) ); + } ACL_PRIV_CLR( *mask, ~ACL_PRIV_MASK ); } else { -- 2.47.3