Commit Graph

322 Commits

Author SHA1 Message Date
Mathias Hall-Andersen
5f0a91a127 Moved ratelimiter to internal package 2018-02-11 22:53:39 +01:00
Mathias Hall-Andersen
1cf23c0005 Moved tai64n into sub-package 2018-02-11 19:25:33 +01:00
Mathias Hall-Andersen
743364f647 Fixed tabs 2018-02-11 19:02:50 +01:00
Mathias Hall-Andersen
73cb1a1155 Reverted event changes
This feature was not needed for Android, upon further inspection.
2018-02-11 18:55:30 +01:00
Mathias Hall-Andersen
b461343171 Started migration to sub-packages 2018-02-09 18:56:00 +01:00
Jason A. Donenfeld
51a6001bb9 Go treats underscores specially
In case there's ever a platform called helpers or protocol, we don't
want to be doing this.
2018-02-07 18:59:41 +01:00
Mathias Hall-Andersen
ceccd39420 Work on logging format 2018-02-04 19:18:44 +01:00
Mathias Hall-Andersen
283e7117cf Merge branch 'master' into timer-teardown 2018-02-04 16:48:03 +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
Mathias Hall-Andersen
5871ec04de Fixed tests 2018-02-02 20:45:25 +01:00
Mathias Hall-Andersen
4f97b52ea6 Clear cryptographic state when interface down
Attempts to clear the cryptographic state for every
peer when the device goes down.
2018-02-02 17:24:29 +01:00
Mathias Hall-Andersen
029410b118 Rework of entire locking system
Locking on the Device instance is now much more fined-grained,
seperating out the fields into "resources" st. most common interactions
only require a small number.
2018-02-02 16:40:14 +01:00
Mathias Hall-Andersen
1e42b14022 Merge branch 'timer-teardown' of git.zx2c4.com:wireguard-go into timer-teardown 2018-02-01 11:20:36 +01:00
Mathias Hall-Andersen
a57c790e36 Added binary to .gitignore 2018-01-31 10:11:36 +01:00
Mathias Hall-Andersen
f73d2fb2d9 Added initial version of peer teardown
There is a double lock issue with device.Close which has yet to be
resolved.
2018-01-26 22:52:32 +01:00
Mathias Hall-Andersen
068d932f2c Fixed potential DoS issue 2018-01-16 14:57:12 +01:00
Mathias Hall-Andersen
1dd590b91b Work on timer teardown + bug fixes
Added waitgroups to peer struct for routine
start / stop synchronisation
2018-01-13 09:00:37 +01:00
Mathias Hall-Andersen
5f01086f19 Fixed fwmark update without device status change
An update of the fwmark was missing,
when the device was not bought up after the change.
2018-01-09 17:26:18 +01:00
Mathias Hall-Andersen
9360bac632 Revert "Peer timer teardown"
This reverts commit d73f960aab.

Problems with deadlocking arises due to orphaned packets in per-peer
queues. Additional work on this issue continues in seperate branch.
2018-01-04 14:24:14 +01:00
Mathias Hall-Andersen
d73f960aab Peer timer teardown 2017-12-29 17:42:09 +01:00
Mathias Hall-Andersen
996c7c4d8a Removed IFF_NO_PI from TUN linux
This change was needed for the Linux TUN status hack
to work properly (not increment the error counter).

This commit also updates the TUN interface to allow for
the construction / removal of the TUN info headers in-place.
2017-12-04 21:39:06 +01:00
Mathias Hall-Andersen
9fef0ca2fb Removed profiler code 2017-12-02 00:00:45 +01:00
Mathias Hall-Andersen
eaca1ee1f7 More consistent use of signal struct 2017-12-01 23:37:26 +01:00
Mathias Hall-Andersen
cb09125dc4 Fixed receive path infinite loop 2017-12-01 00:03:06 +01:00
Mathias Hall-Andersen
cd369cde45 Added missing exit codes 2017-11-30 23:30:29 +01:00
Mathias Hall-Andersen
02ce67294c Refactor timers.go 2017-11-30 23:22:40 +01:00
Mathias Hall-Andersen
479a6f240e Fixed typos 2017-11-29 21:12:09 +01:00
Mathias Hall-Andersen
471f7ff08e Added cross namespace TUN status detection 2017-11-29 18:46:31 +01:00
Mathias Hall-Andersen
af464cff00 Better naming of bind helpers 2017-11-19 13:35:17 +01:00
Mathias Hall-Andersen
b5ae42349c Merge branch 'source-caching' 2017-11-19 13:19:07 +01:00
Mathias Hall-Andersen
9ebab57c41 Implemented missing methods for Bind and Endpoint 2017-11-19 13:14:15 +01:00
Mathias Hall-Andersen
a79fdc13a2 Begin generic Bind implementation 2017-11-19 00:21:58 +01:00
Mathias Hall-Andersen
d10126f883 Moved endpoint into interface and simplified peer 2017-11-18 23:34:02 +01:00
Mathias Hall-Andersen
fa399a91d5 Ported remaining netns.sh
- Ported remaining netns.sh tests
- Begin work on generic implementation of bind interface
2017-11-17 17:25:58 +01:00
Mathias Hall-Andersen
e1227d3af4 Allows passing UAPI fd to service 2017-11-17 14:36:08 +01:00
Mathias Hall-Andersen
88801529fd Moved TUN device creation to pre-fork 2017-11-14 18:26:28 +01:00
Mathias Hall-Andersen
69fe86edf0 Initial working source caching 2017-11-14 16:27:53 +01:00
Mathias Hall-Andersen
566269275e Fixed blocking reader on closed socket 2017-11-11 23:26:44 +01:00
Mathias Hall-Andersen
892276aa64 Fixed port endianness 2017-11-11 15:43:55 +01:00
Aurélien Chabot
5705a5e2ef Close tun device with device 2017-11-11 12:27:24 +01:00
Mathias Hall-Andersen
0485c34c8e Fixed message header length in conn_linux 2017-10-27 10:43:37 +02:00
Mathias Hall-Andersen
fd6f2e1f55 Fixed timer issue when failing to send handshake
+ Identified send4 issue
2017-10-17 16:50:23 +02:00
Mathias Hall-Andersen
e86d03dca2 Initial implementation of source caching
Yet untested.
2017-10-16 21:33:47 +02:00
Mathias Hall-Andersen
a72b0f7ae5 Added new UDPBind interface 2017-10-08 22:03:32 +02:00
Mathias Hall-Andersen
2d856045a0 Begin incorporating new src cache into receive 2017-10-07 22:35:23 +02:00
Mathias Hall-Andersen
c70f0c5da2 Definition of platform specific socket bind 2017-10-06 22:56:01 +02:00
Jason A. Donenfeld
32d8932d1b Sleep to close fd 2017-09-26 15:24:18 +02:00
Jason A. Donenfeld
6fa65bded4 Clean up error handling of listen port 2017-09-26 15:15:27 +02:00
Jason A. Donenfeld
012e7b9d33 Simplified xplatform spec 2017-09-26 14:26:50 +02:00