tailscale/cmd/tailscaled
Andrew Dunham 286c6ce27c
net/dns/resolver: race UDP and TCP queries (#9544)
Instead of just falling back to making a TCP query to an upstream DNS
server when the UDP query returns a truncated query, also start a TCP
query in parallel with the UDP query after a given race timeout. This
ensures that if the upstream DNS server does not reply over UDP (or if
the response packet is blocked, or there's an error), we can still make
queries if the server replies to TCP queries.

This also adds a new package, util/race, to contain the logic required for
racing two different functions and returning the first non-error answer.

Updates tailscale/corp#14809

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: I4311702016c1093b1beaa31b135da1def6d86316
2023-10-03 16:26:38 -04:00
..
childproc all: update copyright and license headers 2023-01-27 15:36:29 -08:00
debug.go net/netmon: make ChangeFunc's signature take new ChangeDelta, not bool 2023-08-23 10:42:14 -07:00
depaware.txt net/dns/resolver: race UDP and TCP queries (#9544) 2023-10-03 16:26:38 -04:00
generate.go cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2023-03-01 15:45:12 -07:00
install_darwin.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
install_windows.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
proxy.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
required_version.go all: require Go 1.21 2023-08-08 21:15:08 -07:00
sigpipe.go all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
ssh.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
taildrop.go various: add detection and Taildrop for Unraid 2023-05-04 13:40:13 -07:00
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 2020-03-13 14:38:04 -07:00
tailscaled.go wgengine, proxymap: split out port mapping from Engine to new type 2023-09-17 20:06:43 +01:00
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 2021-07-08 14:39:45 -04:00
tailscaled.service cmd/tailscaled: use explicit equal sign in --port=$PORT in tailscaled.service 2022-09-22 11:54:22 -07:00
tailscaled_bird.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tailscaled_notwindows.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tailscaled_test.go util/linuxfw: remove yet-unused code to fix linux/arm64 crash 2023-07-20 23:18:40 -07:00
tailscaled_windows.go util/syspolicy: add read boolean setting (#9592) 2023-09-29 21:27:04 -04:00
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
with_cli.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00