You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/net/dnscache
Brad Fitzpatrick 39ffa16853 net/dnscache, net/tsdial: add DNS caching to tsdial UserDial
This is enough to handle the DNS queries as generated by Go's
net package (which our HTTP/SOCKS client uses), and the responses
generated by the ExitDNS DoH server.

This isn't yet suitable for putting on 100.100.100.100 where a number
of different DNS clients would hit it, as this doesn't yet do
EDNS0. It might work, but it's untested and likely incomplete.

Likewise, this doesn't handle anything about truncation, as the
exchanges are entirely in memory between Go or DoH. That would also
need to be handled later, if/when it's hooked up to 100.100.100.100.

Updates #3507

Change-Id: I1736b0ad31eea85ea853b310c52c5e6bf65c6e2a
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
3 years ago
..
dnscache.go net/{dnscache,interfaces}: use netaddr.IP.IsPrivate, delete copied code 3 years ago
dnscache_test.go net/{dnscache,interfaces}: use netaddr.IP.IsPrivate, delete copied code 3 years ago
messagecache.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 3 years ago
messagecache_test.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 3 years ago