18f43705ec
Fix race with closing event channel
...
There's still a tiny race on Linux, since the tun channel is written to
from two places.
2018-05-20 06:38:39 +02:00
058cedcf66
Style
2018-05-20 06:29:46 +02:00
c5fa3de24c
Remove unused mtu variable
2018-05-20 06:29:21 +02:00
1068d6b92b
Give bind its own wait group
...
In a waitgroup, all waits must come after all adds
2018-05-20 06:29:21 +02:00
5e924e5407
Avoid deadlock when the mutex isn't required, since these are atomics
...
Maybe this fixes the "double lock issue" in
f73d2fb2d96bc3fbc8bc4cce452e3c19689de01e?
2018-05-20 06:29:21 +02:00
b290cf05e3
Use proper status listener on Darwin
2018-05-20 06:29:21 +02:00
b95a4c61a5
Reduce the hack listener to once a second
2018-05-20 04:03:11 +02:00
a5b3340e5b
Fix race in netlink peer correlator
2018-05-20 03:37:42 +02:00
7c21a3de0a
Fix race in lock pending
2018-05-20 03:31:27 +02:00
0a68c1ab17
Fix race in stats
2018-05-20 03:26:46 +02:00
e04f9543c0
Fix race in packetInNonceQueueIsAwaitingKey
2018-05-20 03:24:14 +02:00
fa003b6933
Discourage building for Linux
2018-05-20 03:19:03 +02:00
75cdc5986a
Revert "Temporary work around. Please revert me"
...
This reverts commit 4312a7c70a
.
0.0.20180519
2018-05-19 02:40:22 +02:00
5a267f0b8c
timers: no need to clear keepalive in persistent keepalive
...
We do this after sending the keepalive anyway.
This is something of a regression, though, since before we'd cancel and
then send, but now we send and then cancel, so it introduces a potential
race, but hopefully that isn't too big of a deal.
Kernel module commit a24b3e6e15ae1ea1291666e5da910caf43eedbaf
2018-05-19 02:40:22 +02:00
870734ab5e
timers: clear send_keepalive timer on sending handshake response
...
We reorganize this into also doing so on sending keepalives itself,
which means the state machine is much more consistent, even if this was
already implied.
Kernel module commit 30290ef1d2581a3e6ee8ffcdb05d580cfba976be
2018-05-19 02:40:22 +02:00
2a432523ed
Listen for flush in outer select
...
Now listen for flushNonceQueue signal in outer select during
the RoutineNonce routine. This is needed to handle the edge case
where the queue is flushed, but no packets are in the nonce queue.
Since the signal has capacity 1 this signal will remain and potentially
flush the queue at a later time, with packets meant for transmission.
2018-05-19 02:40:22 +02:00
38accea986
Add copyright headers
2018-05-19 02:40:22 +02:00
125976edce
Avoid using v6-mapped-v4
2018-05-18 05:02:35 +02:00
52d797ce1a
Style
2018-05-18 04:51:02 +02:00
711f929879
Fill out readme
2018-05-17 16:55:45 +02:00
846d721dfd
Finer-grained start-stop synchronization
2018-05-16 22:20:15 +02:00
23eca94508
Fix dir permissions
0.0.20180514
2018-05-15 19:57:43 +02:00
4312a7c70a
Temporary work around. Please revert me
2018-05-15 19:56:06 +02:00
207fd644e8
Lock timers on modification
2018-05-15 18:44:00 +02:00
ab02aacdd6
Avoid vendoring tooling as much as possible
2018-05-15 15:27:46 +02:00
0e4ebfa194
Add vendoring for Homebrew
2018-05-15 14:49:52 +02:00
cf161f270e
Do not send keepalive if closed
2018-05-15 13:29:52 +02:00
27091c3284
Fix refactoring mistakes
2018-05-15 06:28:42 +02:00
08d7602dc3
Improve makefile
2018-05-15 02:16:51 +02:00
115a2e3946
Use /dev/null as place holder
2018-05-14 20:06:33 +02:00
28c7eb4335
Print utun name on darwin
2018-05-14 19:33:35 +02:00
7a1a537f43
Mask IPs when showing from trie
...
Otherwise intermediate nodes that get collapsed to real nodes will
display the wrong value.
2018-05-14 17:57:58 +02:00
a62c770a99
Ugly hack to suppress warning on backgrounded process
2018-05-14 16:01:58 +02:00
09235d48d8
Better common bits function
2018-05-14 15:49:20 +02:00
7f1c9d1cc2
Fix noise test
2018-05-14 14:47:31 +02:00
021724a535
Cancelable netlink writes and better response correlation
2018-05-14 14:18:26 +02:00
795f76cffa
Netlink sockets can't be shutdown
2018-05-14 14:08:03 +02:00
2dfd4e7d8c
Cleanup socket file
2018-05-14 13:05:37 +02:00
355e9bd619
Clean more
2018-05-14 12:27:29 +02:00
8b30278ce6
No more finalizer for rwcancel
2018-05-14 06:10:08 +02:00
17262dfd62
No need for padding any more
2018-05-14 04:36:20 +02:00
25df2e6942
Shorthand for empty channels
2018-05-14 04:19:25 +02:00
b76ab82539
Allow go routine to shutdown in darwin tun
2018-05-14 04:14:57 +02:00
5f5503afa8
Add rwcancelation to darwin
2018-05-14 04:02:59 +02:00
f738c45a68
Smoother netlink shutdown
2018-05-14 03:44:57 +02:00
c1e097d6d0
Optional logging even in background
2018-05-14 03:38:06 +02:00
e75d2d4496
Fix dummy additions
2018-05-14 03:29:21 +02:00
0fb14232fa
Look up route for every peer
2018-05-14 03:26:38 +02:00
659106bd6d
Ensure go routines can exit
2018-05-14 02:14:33 +02:00
29b0453cf1
Send event on erroring kqueue
2018-05-14 00:48:59 +02:00