]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[9.18] fix: usr: '{&dns}' is as valid as '{?dns}' in a SVCB's dohpath
authorMark Andrews <marka@isc.org>
Tue, 26 Nov 2024 05:22:09 +0000 (05:22 +0000)
committerMark Andrews <marka@isc.org>
Tue, 26 Nov 2024 05:22:09 +0000 (05:22 +0000)
`dig` fails to parse a valid (as far as I can tell, and accepted by `kdig` and `Wireshark`) `SVCB` record with a `dohpath` URI template containing a `{&dns}`, like `dohpath=/some/path?key=value{&dns}"`. If the URI template contains a `{?dns}` instead `dig` is happy, but my understanding of rfc9461 and section 1.2. "Levels and Expression Types" of rfc6570 is that `{&dns}` is valid.
See for example section 1.2. "Levels and Expression Types" of rfc6570.

Note that Peter van Dijk suggested that `{dns}` and `{dns,someothervar}` might be valid forms as well, so my patch might be too restrictive, although it's anyone's guess how DoH clients would handle complex templates.

Closes https://gitlab.isc.org/isc-projects/bind9/-/issues/4922

Backport of MR !9455

Merge branch 'backport-svcb-dohpath-uri-template-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9770


Trivial merge