Hi,

On 10/5/26 22:13, Lukas Tribus wrote:
A single added sentence in the docs is probably not going to change
much for the people running into it, because they start with the
conviction that this is supported (otherwise they would not put it
there).

Perhaps now with AI going through our docs pointing this out more
explicitly can indeed help users asking a LLM for advice on this. Also
by calling this out specifically we possibly avoid that LLMs
hallucinate that this is supported (confusing ACL definition with ACL
usage).

I added a few words on this, I think it's short, clear but still helpful. See the attached git format patch. Feel free to apply or eventually modify it as needed. Let me know if a bug report or merge request is needed otherwise.


Maybe also a warning for haproxy -c could be issued if it
looks like a logical operator is being used in an acl definition.

That's what -dD does (since haproxy-3.0) which you can add to -c. In
your case it raises the following diagnostic warnings:
that's interesting, didn't know that yet...

Cheers
Björn
From 8a686da54cad85d482e751e2253de600dc6d2e5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Jacke?= <[email protected]>
Date: Tue, 6 Oct 2026 22:55:50 +0200
Subject: [PATCH] DOC: state out that per acl line only a single acl matching
 statement is allowed

---
 doc/configuration.txt | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/doc/configuration.txt b/doc/configuration.txt
index b814e5bae..56bc825bd 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -20933,7 +20933,13 @@ Their evaluation only returns a match or a mismatch, which is comparable to
 booleans in many programming languages. Contrary to functions in programming
 languages, ACLs may be overloaded as many times as needed in order to define
 additional matching methods for the same name. In this case they will all be
-evaluated in their declaration order until one matches.
+evaluated in their declaration order until one matches. In other words,
+multiple declarations of the same ACL name are logically combined by OR.
+
+Each ACL declaration line must only contain a single ACL matching keyword,
+followed by one or multiple pattern values. It's not allowed to use multiple
+matching keywords and combine them by logical or/and operators in an ACL
+declaration line.
 
 The use of ACLs provides a flexible solution to perform content switching and
 generally to take decisions based on content extracted from the request, the
-- 
2.47.3

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to