1
0
mirror of https://git.zx2c4.com/wireguard-go synced 2024-11-15 01:05:15 +01:00
Commit Graph

30 Commits

Author SHA1 Message Date
Florent Daigniere
0c2d06d8a5
net: implement ECN handling, rfc6040 style
To decide whether we should use the compatibility mode or the normal
mode with a peer, we use the handshake messages as a signaling channel.

If we receive the expected ECN bits, it most likely means they're
running a compatible version.

Signed-off-by: Florent Daigniere <nextgens@freenetproject.org>
2019-02-25 18:20:23 +01:00
Florent Daigniere
9e686cd714
send: propagate DSCP bits to the outer tunnel
Like many, I am using WiFi a lot and often on congested networks.
 Without this, Wireguard strips the DSCP bits, preventing WME from
 kicking in and improving the audio/video experience.

Yes, it's technically an information leak. Who cares? It's not like if
traffic analysis based on packet sizes or timings wasn't a thing.

This is the first patch of the serie, more work has to happen on ECN

Signed-off-by: Florent Daigniere <nextgens@freenetproject.org>
2019-02-23 14:14:09 +01:00
Jason A. Donenfeld
89d2c5ed7a Extend structs rather than embed, when possible 2019-02-05 12:59:42 +01:00
Jason A. Donenfeld
dff424baf8 Update copyright 2019-02-05 12:59:42 +01:00
Jason A. Donenfeld
5be541d147 global: fix up copyright headers 2018-09-16 18:49:19 +02:00
Jason A. Donenfeld
fc3a7635e5 Disappointing anti-sticky experiment 2018-05-27 22:55:15 +02:00
Jason A. Donenfeld
84c5357cf3 Reasonable punctuation given the spacing 2018-05-21 02:50:39 +02:00
Jason A. Donenfeld
acb5481246 Fix data races in timers 2018-05-20 06:50:07 +02:00
Jason A. Donenfeld
e04f9543c0 Fix race in packetInNonceQueueIsAwaitingKey 2018-05-20 03:24:14 +02:00
Mathias Hall-Andersen
38accea986 Add copyright headers 2018-05-19 02:40:22 +02:00
Jason A. Donenfeld
846d721dfd Finer-grained start-stop synchronization 2018-05-16 22:20:15 +02:00
Jason A. Donenfeld
17262dfd62 No need for padding any more 2018-05-14 04:36:20 +02:00
Jason A. Donenfeld
e21ea58db3 Prettier abbreviation 2018-05-13 23:27:28 +02:00
Jason A. Donenfeld
b56af1829d More refactoring 2018-05-13 23:20:13 +02:00
Jason A. Donenfeld
2326d6a4d7 Odds and ends 2018-05-13 19:34:28 +02:00
Jason A. Donenfeld
2c27ab205c Rework index hashtable 2018-05-13 18:26:09 +02:00
Jason A. Donenfeld
233f079a94 Rewrite timers and related state machines 2018-05-10 16:08:03 +02:00
Mathias Hall-Andersen
abe2651ad5 Removed remaining signals from peer
1. Removed remaining signals from peer struct
2. Made needAnotherKeepalive local
3. Removed environment check from warning text (annoying when debugging)
2018-05-05 22:07:58 +02:00
Mathias Hall-Andersen
7a83f2565a Removed old signals 2018-05-05 04:15:07 +02:00
Mathias Hall-Andersen
edbce6b400 Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go 2018-05-05 02:23:03 +02:00
Mathias Hall-Andersen
6db41d5a26 Initial version of migration to new event model
- Begin move away from global timer state.
- Made logging format more consistent
2018-05-05 02:20:52 +02:00
Jason A. Donenfeld
a040786645 global: Add SPDX tags and copyright header
Mathias should probably add his copyright headers to each file too.
2018-05-03 15:06:25 +02:00
Jason A. Donenfeld
168ef61a63 Add missing locks and fix debug output, and try to flush queues
Flushing queues on exit is sort of a partial solution, but this could be
better. Really what we want is for no more packets to be enqueued after
isUp is set to false.
2018-05-01 17:46:28 +02:00
Mathias Hall-Andersen
ac9912345b Fixed read from closed channel
A premature waitgroup .Done resulted in reading from closed channel.
This caused a nil-pointer deref & crash.

Added additional debugging when closing routines.
2018-04-18 20:29:48 +02:00
Jason A. Donenfeld
eb6728400b Use simple 16-bit integer for persistent keepalive
Races for this aren't a huge problem.
2018-04-18 07:24:33 +02:00
Jason A. Donenfeld
099219be2a Align 64-bit atomics
64-bit varibles that are accessed using the Go atomic functions must be
8-byte aligned on 32-bit platforms. Otherwise there are crashes.
2018-04-18 06:54:21 +02:00
Mathias Hall-Andersen
6cba91999c TUN status hack was causing spam during shutdown 2018-02-11 23:26:54 +01:00
Mathias Hall-Andersen
ceccd39420 Work on logging format 2018-02-04 19:18:44 +01:00
Mathias Hall-Andersen
9c5083bd19 Removed debugging locks 2018-02-04 16:46:24 +01:00
Mathias Hall-Andersen
a0f54cbe5a Align with go library layout 2018-02-04 16:08:26 +01:00