tailscale/cmd
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
..
addlicense all: update tools that manage copyright headers 2023-01-27 15:36:29 -08:00
cloner cmd/cloner: fix typo in test type's name 2023-09-30 10:18:18 -07:00
containerboot cmd/containerboot: only wipeout serve config when TS_SERVE_CONFIG is set 2023-09-29 09:28:48 -07:00
derper net/packet: implement methods for rewriting v6 addresses 2023-10-02 11:13:27 -07:00
derpprobe prober: migrate to Prometheus metric library 2023-04-11 08:37:32 +01:00
dist cmd/dist,release/dist: add distsign signing hooks (#9070) 2023-08-24 14:36:47 -07:00
get-authkey all: use cmpx.Or where it made sense 2023-06-07 22:06:24 -07:00
gitops-pusher .github,cmd/gitops-pusher: update to checkout@v4 2023-09-04 15:12:57 -07:00
hello all: update copyright and license headers 2023-01-27 15:36:29 -08:00
k8s-operator cmd/k8s-operator: fix reconcile filters (#9533) 2023-09-26 06:09:35 +01:00
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2023-03-01 15:45:12 -07:00
mkpkg go.mod: upgrade nfpm to v2 (#8786) 2023-08-03 13:00:45 -07:00
mkversion version/mkversion: open-source version generation logic 2023-02-18 05:21:05 +00:00
nardump all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netlogfmt go.mod: update github.com/go-json-experiment/json (#9508) 2023-09-21 14:19:27 -07:00
nginx-auth tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
pgproxy various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
printdep cmd/printdep: print correct toolchain URL 2023-02-11 17:57:36 +00:00
proxy-to-grafana tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
sniproxy cmd/sniproxy: move default debug-port away from 8080. 2023-08-30 10:52:22 -07:00
speedtest all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh-auth-none-demo all: replace deprecated ioutil references 2023-08-23 23:53:19 +01:00
stunc all: update copyright and license headers 2023-01-27 15:36:29 -08:00
sync-containers all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
tailscale cmd/tailscale,ipn/ipnlocal: print debug component names 2023-10-03 06:07:34 -07:00
tailscaled net/dns/resolver: race UDP and TCP queries (#9544) 2023-10-03 16:26:38 -04:00
testcontrol all: update copyright and license headers 2023-01-27 15:36:29 -08:00
testwrapper cmd/testwrapper: include flake URL in JSON metadata 2023-09-28 18:37:22 -07:00
tsconnect go.mod,cmd/tsconnect: bump esbuild 2023-09-29 14:28:45 -07:00
tsshd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
viewer cmd/cloner: add regression test for slice nil/empty semantics 2023-09-29 19:00:40 -07:00