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>
2021-12-09 11:34:21 -08:00
..
dnsmap.go net/tsdial: give netstack a Dialer, start refactoring name resolution 2021-12-02 11:33:13 -08:00
dnsmap_test.go net/tsdial: give netstack a Dialer, start refactoring name resolution 2021-12-02 11:33:13 -08:00
dohclient.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 2021-12-09 11:34:21 -08:00
dohclient_test.go ipn/ipnlocal, net/tsdial: make SOCKS/HTTP dials use ExitDNS 2021-12-03 13:39:37 -08:00
peerapi_macios_ext.go net/tsdial: move macOS/iOS peerapi sockopt logic from LocalBackend 2021-12-01 12:55:31 -08:00
tsdial.go net/dnscache, net/tsdial: add DNS caching to tsdial UserDial 2021-12-09 11:34:21 -08:00