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/net
Jordan Whited 755309c04e net/udprelay: use blake2s-256 MAC for handshake challenge
This commit replaces crypto/rand challenge generation with a blake2s-256
MAC. This enables the peer relay server to respond to multiple forward
disco.BindUDPRelayEndpoint messages per handshake generation without
sacrificing the proof of IP ownership properties of the handshake.

Responding to multiple forward disco.BindUDPRelayEndpoint messages per
handshake generation improves client address/path selection where
lowest client->server path/addr one-way delay does not necessarily
equate to lowest client<->server round trip delay.

It also improves situations where outbound traffic is filtered
independent of input, and the first reply
disco.BindUDPRelayEndpointChallenge message is dropped on the reply
path, but a later reply using a different source would make it through.

Reduction in serverEndpoint state saves 112 bytes per instance, trading
for slightly more expensive crypto ops: 277ns/op vs 321ns/op on an M1
Macbook Pro.

Updates tailscale/corp#34414

Signed-off-by: Jordan Whited <jordan@tailscale.com>
1 week ago
..
ace feature/ace: make ACE modular 2 months ago
art all: rename variables with lowercase-l/uppercase-I 2 weeks ago
bakedroots tstest/tlstest: simplify, don't even bake in any keys 6 months ago
batching net/batching: fix import formatting 2 weeks ago
captivedetection syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
connectproxy net/tlsdial: fix TLS cert validation of HTTPS proxies 6 months ago
dns all: rename variables with lowercase-l/uppercase-I 2 weeks ago
dnscache syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
dnsfallback feature, net/tshttpproxy: pull out support for using proxies as a feature 2 months ago
flowtrack net/flowtrack: fix, test String method 1 year ago
ipset all: use iterators over slice views more 1 year ago
ktimeout all: rename variables with lowercase-l/uppercase-I 2 weeks ago
memnet all: rename variables with lowercase-l/uppercase-I 2 weeks ago
netaddr all: rename variables with lowercase-l/uppercase-I 2 weeks ago
netcheck all: rename variables with lowercase-l/uppercase-I 2 weeks ago
neterror net/neterror, wgengine/magicsock: use UDP GSO and GRO on Linux (#7791) 3 years ago
netkernelconf all: remove non-applicable "linux" deps on Android 7 months ago
netknob all: update copyright and license headers 3 years ago
netmon syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
netns net/netns: remove spammy logs for interface binding caps 2 weeks ago
netstat all: add test for package comments, fix, add comments as needed 1 year ago
netutil syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
netx net/{netx,memnet},all: add netx.DialFunc, move memnet Network impl 8 months ago
packet wgengine: stop importing flowtrack when unused 2 months ago
ping syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
portmapper go.mod: bump golang.org/x/crypto (#17907) 2 weeks ago
proxymux all: cleanup unused code, part 1 (#10661) 2 years ago
routetable net/routetable: don't try to fetch the route table on android 8 months ago
sockopts wgengine/magicsock,net/sockopts: export Windows ICMP suppression logic (#16917) 3 months ago
socks5 all: rename variables with lowercase-l/uppercase-I 2 weeks ago
sockstats go.mod: bump golang.org/x/crypto (#17907) 2 weeks ago
speedtest all: rename variables with lowercase-l/uppercase-I 2 weeks ago
stun ci: enable checklocks workflow for specific packages 1 year ago
stunserver all: use Go 1.22 range-over-int 2 years ago
tcpinfo all: use Go 1.22 range-over-int 2 years ago
tlsdial feature/featuretags, all: add build features, use existing ones in more places 2 months ago
tsaddr net/tsaddr: include test input in test failure output 1 year ago
tsdial types/netmap,*: remove some redundant fields from NetMap 2 weeks ago
tshttpproxy go.mod: bump golang.org/x/crypto (#17907) 2 weeks ago
tstun wgengine/netlog: embed node information in network flow logs (#17668) 1 month ago
udprelay net/udprelay: use blake2s-256 MAC for handshake challenge 1 week ago
wsconn syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago