aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Initial version of migration to new event modelMathias Hall-Andersen2018-05-058-183/+203
| | | | | - Begin move away from global timer state. - Made logging format more consistent
* Add missing locks and fix debug output, and try to flush queuesJason A. Donenfeld2018-05-015-42/+116
| | | | | | 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.
* Clear src cache if route changes to new ifindexJason A. Donenfeld2018-04-272-14/+151
|
* Fix error handling and cleanup of netlink listenerJason A. Donenfeld2018-04-271-22/+29
|
* Fix wrong debug messagesJason A. Donenfeld2018-04-201-1/+3
|
* Rework sticky socketsJason A. Donenfeld2018-04-203-269/+150
|
* Check for correct first nibbleJason A. Donenfeld2018-04-201-1/+1
| | | | The code before assumed that the flow label was always zero.
* Signal using select and a pipe for bringing down TUN readerJason A. Donenfeld2018-04-201-9/+104
| | | | | | Waiting on resolution of these to fix in better way: - https://github.com/golang/go/issues/22939 - https://github.com/golang/go/issues/24331
* We can determine the interface name ourselvesJason A. Donenfeld2018-04-192-4/+8
|
* Do not hard code MTU defaultJason A. Donenfeld2018-04-191-2/+2
|
* Fixed read from closed channelMathias Hall-Andersen2018-04-184-10/+26
| | | | | | | A premature waitgroup .Done resulted in reading from closed channel. This caused a nil-pointer deref & crash. Added additional debugging when closing routines.
* Allow determining nameJason A. Donenfeld2018-04-183-7/+28
|
* Use socketcall on x86Jason A. Donenfeld2018-04-183-44/+89
|
* Use simple 16-bit integer for persistent keepaliveJason A. Donenfeld2018-04-183-11/+8
| | | | Races for this aren't a huge problem.
* Align 64-bit atomicsJason A. Donenfeld2018-04-182-2/+2
| | | | | 64-bit varibles that are accessed using the Go atomic functions must be 8-byte aligned on 32-bit platforms. Otherwise there are crashes.
* Begin work on full device<->device unit-testMathias Hall-Andersen2018-03-084-1/+142
| | | | | To simulate a full interaction between two WireGuard instances without networking, using dummy instances of the interfaces
* Support nopi modeJason A. Donenfeld2018-02-281-16/+27
|
* Close tun fd when bringing down tunnelJason A. Donenfeld2018-02-181-1/+1
|
* Fix timer typoJason A. Donenfeld2018-02-181-1/+1
|
* Seperated fwmark update code into functionMathias Hall-Andersen2018-02-182-9/+34
|
* MPLv2 for App StoreJason A. Donenfeld2018-02-131-1/+10
|
* Reimplemented bind_rtmgrp in pure GoDominik Süß2018-02-131-40/+30
| | | | | | | | | Getting rid of the Cgo dependency for listing on netlink. Ported original patch from "syscall" to "golang.org/x/sys/unix". Signed-off-by: Dominik Süß <dominik.suess@outlook.at> Co-Authored-By: Mathias Hall-Andersen <mathias@hall-andersen.dk>
* Use relative importsJason A. Donenfeld2018-02-129-3/+3
|
* Revert "Don't use modules"Mathias Hall-Andersen2018-02-129-20/+23
| | | | This reverts commit bffe99aeadae09abd02f2bd3184925af6b680535.
* Don't use modulesJason A. Donenfeld2018-02-129-23/+20
| | | | | Feel free to revert this if you have a strong feeling about it. But so far as I can see, it adds a lot of complexity for basically no upsides.
* Moved test-processes to backgroundMathias Hall-Andersen2018-02-111-2/+2
|
* TUN status hack was causing spam during shutdownMathias Hall-Andersen2018-02-114-36/+39
|
* Added missing mutex acquisitionMathias Hall-Andersen2018-02-111-0/+3
|
* Removed exported methods from ratelimiter packageMathias Hall-Andersen2018-02-112-42/+38
|
* Moved ratelimiter to internal packageMathias Hall-Andersen2018-02-116-24/+60
|
* Moved tai64n into sub-packageMathias Hall-Andersen2018-02-113-48/+47
|
* Fixed tabsMathias Hall-Andersen2018-02-114-392/+392
|
* Reverted event changesMathias Hall-Andersen2018-02-113-57/+18
| | | | This feature was not needed for Android, upon further inspection.
* Started migration to sub-packagesMathias Hall-Andersen2018-02-096-29/+69
|
* Go treats underscores speciallyJason A. Donenfeld2018-02-073-0/+0
| | | | | In case there's ever a platform called helpers or protocol, we don't want to be doing this.
* Work on logging formatMathias Hall-Andersen2018-02-047-32/+51
|
* Merge branch 'master' into timer-teardownMathias Hall-Andersen2018-02-040-0/+0
|\
| * Fixed fwmark update without device status changeMathias Hall-Andersen2018-01-092-2/+9
| | | | | | | | | | An update of the fwmark was missing, when the device was not bought up after the change.
| * Revert "Peer timer teardown"Mathias Hall-Andersen2018-01-047-163/+102
| | | | | | | | | | | | | | This reverts commit d73f960aab86b9a12b0b7d18aa80ce1d4f130695. Problems with deadlocking arises due to orphaned packets in per-peer queues. Additional work on this issue continues in seperate branch.
* | Removed debugging locksMathias Hall-Andersen2018-02-042-48/+39
| |
* | Align with go library layoutMathias Hall-Andersen2018-02-0450-4/+4
| |
* | Fixed testsMathias Hall-Andersen2018-02-023-22/+35
| |
* | Clear cryptographic state when interface downMathias Hall-Andersen2018-02-025-41/+58
| | | | | | | | | | Attempts to clear the cryptographic state for every peer when the device goes down.
* | Rework of entire locking systemMathias Hall-Andersen2018-02-0210-224/+371
| | | | | | | | | | | | 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.
* | Merge branch 'timer-teardown' of git.zx2c4.com:wireguard-go into timer-teardownMathias Hall-Andersen2018-02-016-66/+173
|\ \
| * | Added initial version of peer teardownMathias Hall-Andersen2018-01-266-66/+173
| | | | | | | | | | | | | | | There is a double lock issue with device.Close which has yet to be resolved.
* | | Added binary to .gitignoreMathias Hall-Andersen2018-01-311-0/+1
|/ /
* | Fixed potential DoS issueMathias Hall-Andersen2018-01-161-3/+3
| |
* | Work on timer teardown + bug fixesMathias Hall-Andersen2018-01-138-47/+102
|/ | | | | Added waitgroups to peer struct for routine start / stop synchronisation
* Peer timer teardownMathias Hall-Andersen2017-12-297-102/+163
|