Dear Maintainer,
A bug was recently found where DNS stamp information is used
incorrectly to fill the resolver cache on initialization.
In short, DNS stamps of the various DNSCrypt/DoH/etc. resolvers include
hostname and port information for finding the server. Additionally, it
(optionally) includes an IPv4/IPv6 address to find the server without
nameserver resolution for bootstrapping/initialization purposes, in such
cases where it is unreliable or unavailable.
dnscrypt-proxy intends to use this address in all cases - caching the
address with unlimited lifetime, but accidentally stored it with incorrect
key "hostname with optional port number". Subsequently loading from a key
"hostname" will fail to load the address from the cache.
Consequently, in all cases of DoH servers that include a port number,
the bootstrapping address could not be loaded and dnscrypt-proxy needs to
rely on the system resolver to look up the address anyways.
The details can be found in
https://github.com/DNSCrypt/dnscrypt-proxy/issues/1861
and a side-effect was under discussion at
https://github.com/DNSCrypt/dnscrypt-proxy/discussions/1828
It is beneficial to use the DNS stamp information both for speed and
reliability of resolution.
Kind regards,
Danny
PS: I am not familiar with bug reporting or bug handling in Debian. Please
let me know if I should do things differently. I may be able to help if
you want to cherry-pick the bugfix from upstream. (Although I am not
affiliated with the project in any way.)