]>
git.ipfire.org Git - thirdparty/wireguard-go.git/log
Jason A. Donenfeld [Tue, 1 May 2018 14:59:13 +0000 (16:59 +0200)]
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.
Jason A. Donenfeld [Fri, 27 Apr 2018 03:21:45 +0000 (05:21 +0200)]
Clear src cache if route changes to new ifindex
Jason A. Donenfeld [Fri, 27 Apr 2018 00:23:48 +0000 (02:23 +0200)]
Fix error handling and cleanup of netlink listener
Jason A. Donenfeld [Fri, 20 Apr 2018 05:13:40 +0000 (07:13 +0200)]
Fix wrong debug messages
Jason A. Donenfeld [Fri, 20 Apr 2018 02:05:11 +0000 (04:05 +0200)]
Rework sticky sockets
Jason A. Donenfeld [Fri, 20 Apr 2018 03:30:22 +0000 (05:30 +0200)]
Check for correct first nibble
The code before assumed that the flow label was always zero.
Jason A. Donenfeld [Thu, 19 Apr 2018 05:46:27 +0000 (07:46 +0200)]
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
Jason A. Donenfeld [Thu, 19 Apr 2018 13:54:33 +0000 (15:54 +0200)]
We can determine the interface name ourselves
Jason A. Donenfeld [Thu, 19 Apr 2018 13:52:59 +0000 (15:52 +0200)]
Do not hard code MTU default
Mathias Hall-Andersen [Wed, 18 Apr 2018 18:29:48 +0000 (20:29 +0200)]
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.
Jason A. Donenfeld [Wed, 18 Apr 2018 14:39:14 +0000 (16:39 +0200)]
Allow determining name
Jason A. Donenfeld [Wed, 18 Apr 2018 05:54:39 +0000 (07:54 +0200)]
Use socketcall on x86
Jason A. Donenfeld [Wed, 18 Apr 2018 05:24:33 +0000 (07:24 +0200)]
Use simple 16-bit integer for persistent keepalive
Races for this aren't a huge problem.
Jason A. Donenfeld [Wed, 18 Apr 2018 04:54:21 +0000 (06:54 +0200)]
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.
Mathias Hall-Andersen [Thu, 8 Mar 2018 15:44:27 +0000 (16:44 +0100)]
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
Jason A. Donenfeld [Wed, 28 Feb 2018 11:40:56 +0000 (12:40 +0100)]
Support nopi mode
Jason A. Donenfeld [Sun, 18 Feb 2018 21:54:33 +0000 (22:54 +0100)]
Close tun fd when bringing down tunnel
Jason A. Donenfeld [Sun, 18 Feb 2018 19:58:43 +0000 (20:58 +0100)]
Fix timer typo
Mathias Hall-Andersen [Sun, 18 Feb 2018 19:49:03 +0000 (20:49 +0100)]
Seperated fwmark update code into function
Jason A. Donenfeld [Tue, 13 Feb 2018 18:43:47 +0000 (19:43 +0100)]
MPLv2 for App Store
Dominik Süß [Tue, 13 Feb 2018 15:43:07 +0000 (16:43 +0100)]
Reimplemented bind_rtmgrp in pure Go
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>
Jason A. Donenfeld [Mon, 12 Feb 2018 22:48:09 +0000 (23:48 +0100)]
Use relative imports
Mathias Hall-Andersen [Mon, 12 Feb 2018 21:29:11 +0000 (22:29 +0100)]
Revert "Don't use modules"
This reverts commit
bffe99aeadae09abd02f2bd3184925af6b680535 .
Jason A. Donenfeld [Mon, 12 Feb 2018 19:10:44 +0000 (20:10 +0100)]
Don't use modules
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.
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:31:53 +0000 (23:31 +0100)]
Moved test-processes to background
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:26:54 +0000 (23:26 +0100)]
TUN status hack was causing spam during shutdown
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:07:07 +0000 (23:07 +0100)]
Added missing mutex acquisition
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:01:55 +0000 (23:01 +0100)]
Removed exported methods from ratelimiter package
Mathias Hall-Andersen [Sun, 11 Feb 2018 21:53:39 +0000 (22:53 +0100)]
Moved ratelimiter to internal package
Mathias Hall-Andersen [Sun, 11 Feb 2018 18:25:33 +0000 (19:25 +0100)]
Moved tai64n into sub-package
Mathias Hall-Andersen [Sun, 11 Feb 2018 18:02:50 +0000 (19:02 +0100)]
Fixed tabs
Mathias Hall-Andersen [Sun, 11 Feb 2018 17:55:30 +0000 (18:55 +0100)]
Reverted event changes
This feature was not needed for Android, upon further inspection.
Mathias Hall-Andersen [Fri, 9 Feb 2018 17:56:00 +0000 (18:56 +0100)]
Started migration to sub-packages
Jason A. Donenfeld [Wed, 7 Feb 2018 17:58:38 +0000 (18:58 +0100)]
Go treats underscores specially
In case there's ever a platform called helpers or protocol, we don't
want to be doing this.
Mathias Hall-Andersen [Sun, 4 Feb 2018 18:18:44 +0000 (19:18 +0100)]
Work on logging format
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:48:03 +0000 (16:48 +0100)]
Merge branch 'master' into timer-teardown
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:46:24 +0000 (16:46 +0100)]
Removed debugging locks
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:08:26 +0000 (16:08 +0100)]
Align with go library layout
Mathias Hall-Andersen [Fri, 2 Feb 2018 19:45:25 +0000 (20:45 +0100)]
Fixed tests
Mathias Hall-Andersen [Fri, 2 Feb 2018 16:24:29 +0000 (17:24 +0100)]
Clear cryptographic state when interface down
Attempts to clear the cryptographic state for every
peer when the device goes down.
Mathias Hall-Andersen [Fri, 2 Feb 2018 15:40:14 +0000 (16:40 +0100)]
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.
Mathias Hall-Andersen [Thu, 1 Feb 2018 10:20:36 +0000 (11:20 +0100)]
Merge branch 'timer-teardown' of git.zx2c4.com:wireguard-go into timer-teardown
Mathias Hall-Andersen [Wed, 31 Jan 2018 09:11:36 +0000 (10:11 +0100)]
Added binary to .gitignore
Mathias Hall-Andersen [Fri, 26 Jan 2018 21:52:32 +0000 (22:52 +0100)]
Added initial version of peer teardown
There is a double lock issue with device.Close which has yet to be
resolved.
Mathias Hall-Andersen [Tue, 16 Jan 2018 13:57:12 +0000 (14:57 +0100)]
Fixed potential DoS issue
Mathias Hall-Andersen [Sat, 13 Jan 2018 08:00:37 +0000 (09:00 +0100)]
Work on timer teardown + bug fixes
Added waitgroups to peer struct for routine
start / stop synchronisation
Mathias Hall-Andersen [Tue, 9 Jan 2018 16:26:18 +0000 (17:26 +0100)]
Fixed fwmark update without device status change
An update of the fwmark was missing,
when the device was not bought up after the change.
Mathias Hall-Andersen [Thu, 4 Jan 2018 13:24:14 +0000 (14:24 +0100)]
Revert "Peer timer teardown"
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.
Mathias Hall-Andersen [Fri, 29 Dec 2017 16:42:09 +0000 (17:42 +0100)]
Peer timer teardown
Mathias Hall-Andersen [Mon, 4 Dec 2017 20:39:06 +0000 (21:39 +0100)]
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.
Mathias Hall-Andersen [Fri, 1 Dec 2017 23:00:45 +0000 (00:00 +0100)]
Removed profiler code
Mathias Hall-Andersen [Fri, 1 Dec 2017 22:37:26 +0000 (23:37 +0100)]
More consistent use of signal struct
Mathias Hall-Andersen [Thu, 30 Nov 2017 23:03:06 +0000 (00:03 +0100)]
Fixed receive path infinite loop
Mathias Hall-Andersen [Thu, 30 Nov 2017 22:30:29 +0000 (23:30 +0100)]
Added missing exit codes
Mathias Hall-Andersen [Thu, 30 Nov 2017 22:22:40 +0000 (23:22 +0100)]
Refactor timers.go
Mathias Hall-Andersen [Wed, 29 Nov 2017 20:12:09 +0000 (21:12 +0100)]
Fixed typos
Mathias Hall-Andersen [Wed, 29 Nov 2017 17:46:31 +0000 (18:46 +0100)]
Added cross namespace TUN status detection
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:35:17 +0000 (13:35 +0100)]
Better naming of bind helpers
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:19:07 +0000 (13:19 +0100)]
Merge branch 'source-caching'
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:14:15 +0000 (13:14 +0100)]
Implemented missing methods for Bind and Endpoint
Mathias Hall-Andersen [Sat, 18 Nov 2017 23:21:58 +0000 (00:21 +0100)]
Begin generic Bind implementation
Mathias Hall-Andersen [Sat, 18 Nov 2017 22:34:02 +0000 (23:34 +0100)]
Moved endpoint into interface and simplified peer
Mathias Hall-Andersen [Fri, 17 Nov 2017 16:25:45 +0000 (17:25 +0100)]
Ported remaining netns.sh
- Ported remaining netns.sh tests
- Begin work on generic implementation of bind interface
Mathias Hall-Andersen [Fri, 17 Nov 2017 13:36:08 +0000 (14:36 +0100)]
Allows passing UAPI fd to service
Mathias Hall-Andersen [Tue, 14 Nov 2017 17:26:28 +0000 (18:26 +0100)]
Moved TUN device creation to pre-fork
Mathias Hall-Andersen [Tue, 14 Nov 2017 15:27:53 +0000 (16:27 +0100)]
Initial working source caching
Mathias Hall-Andersen [Sat, 11 Nov 2017 22:26:44 +0000 (23:26 +0100)]
Fixed blocking reader on closed socket
Mathias Hall-Andersen [Sat, 11 Nov 2017 14:43:55 +0000 (15:43 +0100)]
Fixed port endianness
Aurélien Chabot [Sat, 11 Nov 2017 11:27:24 +0000 (12:27 +0100)]
Close tun device with device
Mathias Hall-Andersen [Fri, 27 Oct 2017 08:43:37 +0000 (10:43 +0200)]
Fixed message header length in conn_linux
Mathias Hall-Andersen [Tue, 17 Oct 2017 14:50:23 +0000 (16:50 +0200)]
Fixed timer issue when failing to send handshake
+ Identified send4 issue
Mathias Hall-Andersen [Mon, 16 Oct 2017 19:33:47 +0000 (21:33 +0200)]
Initial implementation of source caching
Yet untested.
Mathias Hall-Andersen [Sun, 8 Oct 2017 20:03:32 +0000 (22:03 +0200)]
Added new UDPBind interface
Mathias Hall-Andersen [Sat, 7 Oct 2017 20:35:23 +0000 (22:35 +0200)]
Begin incorporating new src cache into receive
Mathias Hall-Andersen [Fri, 6 Oct 2017 20:56:01 +0000 (22:56 +0200)]
Definition of platform specific socket bind
Jason A. Donenfeld [Tue, 26 Sep 2017 13:24:18 +0000 (15:24 +0200)]
Sleep to close fd
Jason A. Donenfeld [Tue, 26 Sep 2017 13:15:27 +0000 (15:15 +0200)]
Clean up error handling of listen port
Jason A. Donenfeld [Tue, 26 Sep 2017 12:26:12 +0000 (14:26 +0200)]
Simplified xplatform spec
Mathias Hall-Andersen [Sun, 24 Sep 2017 19:35:25 +0000 (21:35 +0200)]
Begin work on source address caching (linux)
Jason A. Donenfeld [Thu, 21 Sep 2017 01:09:57 +0000 (03:09 +0200)]
Fix up fwmark handling
Mathias Hall-Andersen [Wed, 20 Sep 2017 07:26:08 +0000 (09:26 +0200)]
Added last_minute_handshake_guard
- Added last_minute_handshake_guard and reverted keypair changes.
- Added comment explaining the state of Go in releation to handling
cryptographic state in memory.
- Decreased logging level of netsh test
Mathias Hall-Andersen [Sat, 9 Sep 2017 13:03:01 +0000 (15:03 +0200)]
Improved readability of send/receive code
Mathias Hall-Andersen [Sun, 3 Sep 2017 16:10:06 +0000 (18:10 +0200)]
Fixed TUN interface implementation os OS X
Mathias Hall-Andersen [Fri, 1 Sep 2017 12:31:57 +0000 (14:31 +0200)]
Fixed KDF tests
Mathias Hall-Andersen [Fri, 1 Sep 2017 12:21:53 +0000 (14:21 +0200)]
Improved handling of key-material
Mathias Hall-Andersen [Mon, 28 Aug 2017 16:30:11 +0000 (18:30 +0200)]
Renamed config.go to follow general naming pattern
Mathias Hall-Andersen [Sun, 27 Aug 2017 13:41:00 +0000 (15:41 +0200)]
Added code from windows branch
Mathias Hall-Andersen [Fri, 25 Aug 2017 12:53:23 +0000 (14:53 +0200)]
Added fwmark code
Mathias Hall-Andersen [Tue, 22 Aug 2017 15:22:45 +0000 (17:22 +0200)]
Add support for fwmark on linux
Mathias Hall-Andersen [Tue, 22 Aug 2017 12:57:32 +0000 (14:57 +0200)]
Update MTU based on netlink messages (linux)
Mathias Hall-Andersen [Thu, 17 Aug 2017 10:58:18 +0000 (12:58 +0200)]
Added missing IF index check
Mathias Hall-Andersen [Wed, 16 Aug 2017 22:25:39 +0000 (00:25 +0200)]
Detects interface status on linux
Mathias Hall-Andersen [Mon, 14 Aug 2017 15:14:44 +0000 (17:14 +0200)]
Improved test script
Mathias Hall-Andersen [Mon, 14 Aug 2017 15:09:25 +0000 (17:09 +0200)]
Improved cookie/mac computation code
Mathias Hall-Andersen [Fri, 11 Aug 2017 14:18:20 +0000 (16:18 +0200)]
Improved receive.go
- Fixed configuration listen-port semantics
- Improved receive.go code for updating listen port
- Updated under load detection, how follows the kernel space implementation
- Fixed trie bug accidentally introduced in last commit
- Added interface name to log (format still subject to change)
- Can now configure the logging level using the LOG_LEVEL variable
- Begin porting netsh.sh tests
- A number of smaller changes
Mathias Hall-Andersen [Mon, 7 Aug 2017 13:25:04 +0000 (15:25 +0200)]
Number of fixes in response to code review
This version cannot complete a handshake.
The program will panic upon receiving any message on the UDP socket.
Mathias Hall-Andersen [Fri, 4 Aug 2017 14:15:53 +0000 (16:15 +0200)]
First set of code review patches
Mathias Hall-Andersen [Wed, 2 Aug 2017 13:32:12 +0000 (15:32 +0200)]
Merge branch 'master' of git.zx2c4.com:wireguard-go
Mathias Hall-Andersen [Wed, 2 Aug 2017 13:30:57 +0000 (15:30 +0200)]
Create /var/run/wireguard if non-existent
Jason A. Donenfeld [Tue, 1 Aug 2017 12:41:32 +0000 (14:41 +0200)]
Makefile: cleanup a bit and add cloc
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>