Hi list,

We haven't heard back yet and just wanted to check if you had a chance to look 
at it, or if there's anything we should address before it gets reviewed. Do you 
think the feature makes sense?

Thanks,

Alexander


From: Stephan, Alexander <[email protected]>
Date: Friday, 25. September 2026 at 14:26
To: [email protected] <[email protected]>
Cc: Weis, Benedict <[email protected]>
Subject: [PATCH 1/3] MEDIUM: proxy: support "use-server" rules in defaults 
sections

 Hi Willy,

This small series adds support for "use-server" rules in "defaults" sections,
so that a common set of rules can be shared across all backends inheriting from
a given defaults section, the same way "http-request" and "tcp-request" rules
already work.

Since a "defaults" section has no servers of its own, a static server name
could never be resolved there. For that reason, only the dynamic (log-format)
form is accepted, e.g.:

defaults
    mode http
    use-server "%[req.hdr(x-srv)]" if { req.hdr(x-srv) -m found }

backend b1
    server s1 ...
    server s2 …

A plain server name in a defaults section is rejected at parse time with a
clear error. At request time, a backend evaluates its own "use-server" rules
first, then the ones inherited from its defaults section (reached through the
existing px->defpx reference, so no rule is duplicated or copied).

Implementation notes:
- The static/dynamic classification that was inlined in proxy_finalize() is
factored into a small helper and reused by a new proxy_resolve_server_rules(),
called from check_config_validity() for the defaults proxies that
proxy_finalize() skips.
- The inherited rules are owned by the defaults proxy and freed in
defaults_px_free().

The series is doc'd and comes with a regtest covering both the dynamic
inheritance path and the parse-time rejection of a static name.

Best regards,

Benedict and Alexander

Reply via email to