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/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
1 year ago
..
addlicense all: update tools that manage copyright headers 2 years ago
cloner cmd/cloner: fix typo in test type's name 1 year ago
containerboot cmd/containerboot: only wipeout serve config when TS_SERVE_CONFIG is set 1 year ago
derper net/packet: implement methods for rewriting v6 addresses 1 year ago
derpprobe prober: migrate to Prometheus metric library 1 year ago
dist cmd/dist,release/dist: add distsign signing hooks (#9070) 1 year ago
get-authkey all: use cmpx.Or where it made sense 1 year ago
gitops-pusher .github,cmd/gitops-pusher: update to checkout@v4 1 year ago
hello all: update copyright and license headers 2 years ago
k8s-operator cmd/k8s-operator: fix reconcile filters (#9533) 1 year ago
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2 years ago
mkpkg go.mod: upgrade nfpm to v2 (#8786) 1 year ago
mkversion version/mkversion: open-source version generation logic 2 years ago
nardump all: update copyright and license headers 2 years ago
netlogfmt go.mod: update github.com/go-json-experiment/json (#9508) 1 year ago
nginx-auth tailcfg,all: add and use Node.IsTagged() 2 years ago
pgproxy various: add golangci-lint, fix issues (#7905) 1 year ago
printdep cmd/printdep: print correct toolchain URL 2 years ago
proxy-to-grafana tailcfg,all: add and use Node.IsTagged() 2 years ago
sniproxy cmd/sniproxy: move default debug-port away from 8080. 1 year ago
speedtest all: update copyright and license headers 2 years ago
ssh-auth-none-demo all: replace deprecated ioutil references 1 year ago
stunc all: update copyright and license headers 2 years ago
sync-containers all: adjust some build tags for plan9 1 year ago
tailscale cmd/tailscale,ipn/ipnlocal: print debug component names 1 year ago
tailscaled net/dns/resolver: race UDP and TCP queries (#9544) 1 year ago
testcontrol all: update copyright and license headers 2 years ago
testwrapper cmd/testwrapper: include flake URL in JSON metadata 1 year ago
tsconnect go.mod,cmd/tsconnect: bump esbuild 1 year ago
tsshd all: update copyright and license headers 2 years ago
viewer cmd/cloner: add regression test for slice nil/empty semantics 1 year ago