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/wgengine
David Crawshaw a6ad3c46e2 magicsock: spray some normal packets after a handshake
In particular, this is designed to catch the case where a
HandshakeInitiation packet is sent out but the intermediate NATs
have not been primed, so the packet passes over DERP.
In that case, the HandshakeResponse also comes back over DERP,
and the connection proceeds via DERP without ever trying to punch
through the NAT.

With this change, the HandshakeResponse (which was sprayed out
and so primed one NAT) triggers an UpdateDst, which triggers
the extra spray logic.

(For this to work, there has to be an initial supply of packets
to send on to a peer for the three seconds following a handshake.
The source of these packets is left as a future exercise.)

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
6 years ago
..
filter Move Linux client & common packages into a public repo. 6 years ago
magicsock magicsock: spray some normal packets after a handshake 6 years ago
monitor wgengine/monitor: use RTMGRP_* consts from x/sys/unix 6 years ago
packet wgengine/packet: fix minor lint errors. 6 years ago
winnet Move Linux client & common packages into a public repo. 6 years ago
faketun.go wgengine: flesh out some docs 6 years ago
ifconfig_windows.go wgengine: fix build on linux/freebsd/openbsd/windows 6 years ago
router_darwin.go wgengine: move link monitor to be owned by the engine, not the router 6 years ago
router_darwin_support.go wgengine: make SetRoutesFunc less appealing to use. 6 years ago
router_default.go wgengine: simplify, change some signatures 6 years ago
router_fake.go wgengine: move link monitor to be owned by the engine, not the router 6 years ago
router_freebsd.go wgengine: fix build on linux/freebsd/openbsd/windows 6 years ago
router_linux.go wgengine: resolv.conf spelling corrections 6 years ago
router_openbsd.go wgengine: add OpenBSD router DNS update handling 6 years ago
router_windows.go wgengine: move link monitor to be owned by the engine, not the router 6 years ago
rusage.go Move "logger" package to under types, now that we have it. 6 years ago
rusage_nowindows.go wgengine: flesh out some docs 6 years ago
rusage_windows.go Move Linux client & common packages into a public repo. 6 years ago
userspace.go wgengine, magicsock: adjust for wireguard-go conn/device package split 6 years ago
watchdog.go wgengine: flesh out some docs 6 years ago
watchdog_test.go wgengine: simplify, change some signatures 6 years ago
wgengine.go wgengine: update for wgcfg changes 6 years ago