diff options
| author | Brad Fitzpatrick <bradfitz@tailscale.com> | 2024-05-03 07:01:42 -0700 |
|---|---|---|
| committer | Brad Fitzpatrick <brad@danga.com> | 2024-05-03 08:24:24 -0700 |
| commit | 15fc6cd96637e8a0e697ff2157c1608ada8e4a39 (patch) | |
| tree | b8c15c6cd24be2c62018527c227479f9ca7dead3 /control/controlknobs | |
| parent | 1fe0983f2d016b525e0d33e76631e333efefb466 (diff) | |
| download | tailscale-15fc6cd96637e8a0e697ff2157c1608ada8e4a39.tar.xz tailscale-15fc6cd96637e8a0e697ff2157c1608ada8e4a39.zip | |
derp/derphttp: fix netcheck HTTPS probes
The netcheck client, when no UDP is available, probes distance using
HTTPS.
Several problems:
* It probes using /derp/latency-check.
* But cmd/derper serves the handler at /derp/probe
* Despite the difference, it work by accident until c8f4dfc8c0600
which made netcheck's probe require a 2xx status code.
* in tests, we only use derphttp.Handler, so the cmd/derper-installed
mux routes aren't preesnt, so there's no probe. That breaks
tests in airplane mode. netcheck.Client then reports "unexpected
HTTP status 426" (Upgrade Required)
This makes derp handle both /derp/probe and /derp/latency-check
equivalently, and in both cmd/derper and derphttp.Handler standalone
modes.
I notice this when wgengine/magicsock TestActiveDiscovery was failing
in airplane mode (no wifi). It still doesn't pass, but it gets
further.
Fixes #11989
Change-Id: I45213d4bd137e0f29aac8bd4a9ac92091065113f
Diffstat (limited to 'control/controlknobs')
0 files changed, 0 insertions, 0 deletions
