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
729773fdf3
More odds and ends
2018-05-13 19:52:13 +02:00
Jason A. Donenfeld
680a57faae
Fix up tests
2018-05-13 19:35:11 +02:00
Jason A. Donenfeld
2326d6a4d7
Odds and ends
2018-05-13 19:34:28 +02:00
Jason A. Donenfeld
e94185681f
Cleanup ratelimiter
2018-05-13 18:42:06 +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
375dcbd4ae
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
2018-05-05 22:10:22 +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
Jason A. Donenfeld
c29428b075
Reorder stopping messages so that logs are coherent
2018-05-05 06:09:30 +02:00
Jason A. Donenfeld
a46401bbb1
More robust solution to close deadlock
2018-05-05 06:00:38 +02:00
Jason A. Donenfeld
09a9bc2899
Fix infinite loop in exit routine
2018-05-05 05:33:29 +02:00
Mathias Hall-Andersen
34891d92cd
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
2018-05-05 04:42:44 +02:00
Mathias Hall-Andersen
8ba28be732
Use Int32n for jitter
2018-05-05 04:42:17 +02:00
Jason A. Donenfeld
beab52258a
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
2018-05-05 04:20:16 +02:00
Mathias Hall-Andersen
d8d592787d
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
2018-05-05 04:15:41 +02:00
Mathias Hall-Andersen
7a83f2565a
Removed old signals
2018-05-05 04:15:07 +02:00
Jason A. Donenfeld
36659454ce
tun: simplify and combine creation logic on Linux
2018-05-05 03:40:52 +02:00
Jason A. Donenfeld
142e53f698
Style
2018-05-05 02:48:21 +02:00
Mathias Hall-Andersen
4d9f3a2f53
Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go
2018-05-05 02:47:59 +02:00
Jason A. Donenfeld
4a177de09c
tun: account for null termination on Linux
2018-05-05 02:47:35 +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
e1de0f229a
uapi: use kqueue for sock deletion on darwin
2018-05-04 21:51:55 +02:00
Jason A. Donenfeld
ac898bb35a
tun: print automatically assigned interface name to stdout
...
This way scripts know what process they just started.
2018-05-04 21:20:19 +02:00
Jason A. Donenfeld
de7ecc571b
tun: allow darwin to auto assign names
2018-05-04 21:11:51 +02:00
Jason A. Donenfeld
0f322f83f5
warning: put into main
2018-05-04 19:50:08 +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
209dd22ea0
Daemonize with environment variable
2018-05-03 14:55:10 +02:00
Jason A. Donenfeld
258a9223b9
Start to dust off Darwin
2018-05-03 14:55:10 +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
Jason A. Donenfeld
b34604245e
Clear src cache if route changes to new ifindex
2018-04-27 05:41:07 +02:00
Jason A. Donenfeld
92261b770f
Fix error handling and cleanup of netlink listener
2018-04-27 02:47:31 +02:00
Jason A. Donenfeld
0715bdf353
Fix wrong debug messages
2018-04-20 07:13:40 +02:00
Jason A. Donenfeld
5ba84696e2
Rework sticky sockets
2018-04-20 06:51:28 +02:00
Jason A. Donenfeld
f5c256affd
Check for correct first nibble
...
The code before assumed that the flow label was always zero.
2018-04-20 06:51:28 +02:00
Jason A. Donenfeld
4973ea0c9e
Signal using select and a pipe for bringing down TUN reader
...
Waiting on resolution of these to fix in better way:
- https://github.com/golang/go/issues/22939
- https://github.com/golang/go/issues/24331
2018-04-20 04:16:34 +02:00
Jason A. Donenfeld
676bb91434
We can determine the interface name ourselves
2018-04-19 16:00:20 +02:00
Jason A. Donenfeld
ab875491c0
Do not hard code MTU default
2018-04-19 15:54:51 +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
26a56a652e
Allow determining name
2018-04-18 16:42:30 +02:00
Jason A. Donenfeld
0b940a7568
Use socketcall on x86
2018-04-18 10:17:04 +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
6cecaf3157
Begin work on full device<->device unit-test
...
To simulate a full interaction between two WireGuard
instances without networking, using dummy instances of the interfaces
2018-03-08 16:44:46 +01:00
Jason A. Donenfeld
fd248c6cb1
Support nopi mode
2018-02-28 19:58:51 +01:00
Jason A. Donenfeld
09de7d1342
Close tun fd when bringing down tunnel
2018-02-18 22:54:33 +01:00
Jason A. Donenfeld
519c5d200a
Fix timer typo
2018-02-18 20:58:43 +01:00
Mathias Hall-Andersen
9de17e6c9c
Seperated fwmark update code into function
2018-02-18 20:49:03 +01:00