CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]       2026/11/01 01:28:43

Modified files:
        usr.sbin/relayd: parse.y relay_http.c relayd.c relayd.conf.5 
                         relayd.h 

Log message:
relayd: add "glob" and "glob ignorecase" matching keywords

In addition to the recent "pattern", the cookie, header, path, query and url
keys and values now accept "glob" and "glob ignorecase". The keywords can also
be given before "file" and then apply to every key read from it.

Without a keyword the old type defaults stay as they were. Header names are
case-insensitive (RFC 9110), so "glob" on a header name is treated as "glob
ignorecase". The "pattern" stays case-sensitive. The defaults are now clearly
documented.

The parser is stricter now!  The following are errors now:
- a matching keyword together with "set" or "append"
- a matching keyword without a key or file, except with "log"
- "file" without a preceding lookup type
- a duplicate lookup type in the same rule

Valid configs keep working, configs that were silently misinterpreted before
are now rejected.

Lots of (edge) cases found by kirill@
OK kirill@

Reply via email to