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/tsdial
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
..
dnsmap.go net/tsdial: give netstack a Dialer, start refactoring name resolution 3 years ago
dnsmap_test.go net/tsdial: give netstack a Dialer, start refactoring name resolution 3 years ago
dohclient.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 3 years ago
dohclient_test.go ipn/ipnlocal, net/tsdial: make SOCKS/HTTP dials use ExitDNS 3 years ago
peerapi_macios_ext.go net/tsdial: move macOS/iOS peerapi sockopt logic from LocalBackend 3 years ago
tsdial.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 3 years ago