tailscale/wgengine/magicsock
James Tucker 6cfcb3cae4 wgengine/magicsock: fix synchronization of endpoint disco fields
Identified in review in #7821 endpoint.discoKey and endpoint.discoShort
are often accessed without first taking endpoint.mu. The arrangement
with endpoint.mu is inconvenient for a good number of those call-sites,
so it is instead replaced with an atomic pointer to carry both pieces of
disco info. This will also help with #7821 that wants to add explicit
checks/guards to disable disco behaviors when disco keys are missing
which is necessarily implicitly mostly covered by this change.

Updates #7821

Signed-off-by: James Tucker <james@tailscale.com>
2023-04-08 17:15:54 -07:00
..
debughttp.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
debugknobs.go derp,magicsock: add debug envknobs for HTTP and derp server name (#7744) 2023-04-04 17:10:50 -07:00
debugknobs_stubs.go derp,magicsock: add debug envknobs for HTTP and derp server name (#7744) 2023-04-04 17:10:50 -07:00
discopingpurpose_string.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
magicsock.go wgengine/magicsock: fix synchronization of endpoint disco fields 2023-04-08 17:15:54 -07:00
magicsock_default.go net/neterror, wgengine/magicsock: use UDP GSO and GRO on Linux (#7791) 2023-04-04 16:32:16 -07:00
magicsock_linux.go net/neterror, wgengine/magicsock: use UDP GSO and GRO on Linux (#7791) 2023-04-04 16:32:16 -07:00
magicsock_test.go wgengine/magicsock: fix synchronization of endpoint disco fields 2023-04-08 17:15:54 -07:00
magicsock_unix_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pathfinder.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00