From: Remi Gacogne Date: Wed, 5 Nov 2025 15:32:46 +0000 (+0100) Subject: dnsdist: Document that `Regex` matches in a case-insensitive way X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F16372%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Document that `Regex` matches in a case-insensitive way Signed-off-by: Remi Gacogne --- diff --git a/pdns/dnsdistdist/dnsdist-selectors-definitions.yml b/pdns/dnsdistdist/dnsdist-selectors-definitions.yml index 9131dbb496..9430c97a47 100644 --- a/pdns/dnsdistdist/dnsdist-selectors-definitions.yml +++ b/pdns/dnsdistdist/dnsdist-selectors-definitions.yml @@ -48,7 +48,7 @@ rust-type: "String" description: "The full 16bit RCode will be matched. If no EDNS OPT RR is present, the upper 12 bits are treated as 0" - name: "HTTPHeader" - description: "Matches DNS over HTTPS queries with a HTTP header name whose content matches the supplied regular expression in Posix Extended Regular Expressions format. It is necessary to set the ``keepIncomingHeaders`` to :func:`addDOHLocal()` to use this rule" + description: "Matches DNS over HTTPS queries with a HTTP header name whose content matches the supplied regular expression in Posix Extended Regular Expressions format. The match is done in a case-insensitive way. It is necessary to set the ``keepIncomingHeaders`` to :func:`addDOHLocal()` to use this rule" parameters: - name: "header" type: "String" @@ -70,7 +70,7 @@ parameters: - name: "expression" type: "String" - description: "The regex to match on, in Posix Extended Regular Expressions format" + description: "The regex to match on, in Posix Extended Regular Expressions format. The match is done in a case-insensitive way" - name: "IncomingProtocol" description: "Matches queries received over a specific protocol" version_added: 2.1.0 @@ -392,7 +392,7 @@ Set the ``source`` parameter to ``false`` to match against destination address i parameters: - name: "expression" type: "String" - description: "The regular expression to match the QNAME, in Posix Extended Regular Expressions format" + description: "The regular expression to match the QNAME, in Posix Extended Regular Expressions format. The match is done in a case-insensitive way" - name: "SNI" description: "Matches against the TLS Server Name Indication value sent by the client, if any. Only makes sense for DoT or DoH, and for that last one matching on the HTTP Host header using :ref:`yaml-settings-HTTPHeaderSelector` might provide more consistent results" parameters: diff --git a/pdns/dnsdistdist/docs/reference/selectors.rst b/pdns/dnsdistdist/docs/reference/selectors.rst index e9dab66a3a..1aafd51f9f 100644 --- a/pdns/dnsdistdist/docs/reference/selectors.rst +++ b/pdns/dnsdistdist/docs/reference/selectors.rst @@ -59,7 +59,7 @@ Selectors can be combined via :func:`AndRule`, :func:`OrRule` and :func:`NotRule .. versionchanged:: 1.8.0 see ``keepIncomingHeaders`` on :func:`addDOHLocal` - Matches DNS over HTTPS queries with a HTTP header ``name`` whose content matches the regular expression ``regex`` in Posix Extended Regular Expressions format. + Matches DNS over HTTPS queries with a HTTP header ``name`` whose content matches the regular expression ``regex`` in Posix Extended Regular Expressions format. The match is done in a case-insensitive way. Since 1.8.0 it is necessary to set the ``keepIncomingHeaders`` option to true on :func:`addDOHLocal` to be able to use this rule. :param str name: The case-insensitive name of the HTTP header to match on @@ -69,7 +69,7 @@ Selectors can be combined via :func:`AndRule`, :func:`OrRule` and :func:`NotRule .. versionadded:: 1.4.0 - Matches DNS over HTTPS queries with a HTTP path matching the regular expression supplied in ``regex`` in Posix Extended Regular Expressions format. For example, if the query has been sent to the https://192.0.2.1:443/PowerDNS?dns=... URL, the path would be '/PowerDNS'. + Matches DNS over HTTPS queries with a HTTP path matching the regular expression supplied in ``regex`` in Posix Extended Regular Expressions format. The match is done in a case-insensitive way. For example, if the query has been sent to the https://192.0.2.1:443/PowerDNS?dns=... URL, the path would be '/PowerDNS'. Only valid DNS over HTTPS queries are matched. If you want to match all HTTP queries, see :meth:`DOHFrontend:setResponsesMap` instead. :param str regex: The regex to match on @@ -302,7 +302,7 @@ Selectors can be combined via :func:`AndRule`, :func:`OrRule` and :func:`NotRule .. function:: RegexRule(regex) - Matches the query name against the ``regex`` in Posix Extended Regular Expressions format. + Matches the query name against the ``regex`` in Posix Extended Regular Expressions format. The match is done in a case-insensitive way. .. code-block:: Lua