]> git.ipfire.org Git - thirdparty/wireguard-go.git/log
thirdparty/wireguard-go.git
7 years agoClose tun fd when bringing down tunnel
Jason A. Donenfeld [Sun, 18 Feb 2018 21:54:33 +0000 (22:54 +0100)] 
Close tun fd when bringing down tunnel

7 years agoFix timer typo
Jason A. Donenfeld [Sun, 18 Feb 2018 19:58:43 +0000 (20:58 +0100)] 
Fix timer typo

7 years agoSeperated fwmark update code into function
Mathias Hall-Andersen [Sun, 18 Feb 2018 19:49:03 +0000 (20:49 +0100)] 
Seperated fwmark update code into function

7 years agoMPLv2 for App Store
Jason A. Donenfeld [Tue, 13 Feb 2018 18:43:47 +0000 (19:43 +0100)] 
MPLv2 for App Store

7 years agoReimplemented bind_rtmgrp in pure Go
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>
7 years agoUse relative imports
Jason A. Donenfeld [Mon, 12 Feb 2018 22:48:09 +0000 (23:48 +0100)] 
Use relative imports

7 years agoRevert "Don't use modules"
Mathias Hall-Andersen [Mon, 12 Feb 2018 21:29:11 +0000 (22:29 +0100)] 
Revert "Don't use modules"

This reverts commit bffe99aeadae09abd02f2bd3184925af6b680535.

7 years agoDon't use modules
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.

7 years agoMoved test-processes to background
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:31:53 +0000 (23:31 +0100)] 
Moved test-processes to background

7 years agoTUN status hack was causing spam during shutdown
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:26:54 +0000 (23:26 +0100)] 
TUN status hack was causing spam during shutdown

7 years agoAdded missing mutex acquisition
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:07:07 +0000 (23:07 +0100)] 
Added missing mutex acquisition

7 years agoRemoved exported methods from ratelimiter package
Mathias Hall-Andersen [Sun, 11 Feb 2018 22:01:55 +0000 (23:01 +0100)] 
Removed exported methods from ratelimiter package

7 years agoMoved ratelimiter to internal package
Mathias Hall-Andersen [Sun, 11 Feb 2018 21:53:39 +0000 (22:53 +0100)] 
Moved ratelimiter to internal package

7 years agoMoved tai64n into sub-package
Mathias Hall-Andersen [Sun, 11 Feb 2018 18:25:33 +0000 (19:25 +0100)] 
Moved tai64n into sub-package

7 years agoFixed tabs
Mathias Hall-Andersen [Sun, 11 Feb 2018 18:02:50 +0000 (19:02 +0100)] 
Fixed tabs

7 years agoReverted event changes
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.

7 years agoStarted migration to sub-packages
Mathias Hall-Andersen [Fri, 9 Feb 2018 17:56:00 +0000 (18:56 +0100)] 
Started migration to sub-packages

7 years agoGo treats underscores specially
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.

7 years agoWork on logging format
Mathias Hall-Andersen [Sun, 4 Feb 2018 18:18:44 +0000 (19:18 +0100)] 
Work on logging format

7 years agoMerge branch 'master' into timer-teardown
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:48:03 +0000 (16:48 +0100)] 
Merge branch 'master' into timer-teardown

7 years agoRemoved debugging locks
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:46:24 +0000 (16:46 +0100)] 
Removed debugging locks

7 years agoAlign with go library layout
Mathias Hall-Andersen [Sun, 4 Feb 2018 15:08:26 +0000 (16:08 +0100)] 
Align with go library layout

7 years agoFixed tests
Mathias Hall-Andersen [Fri, 2 Feb 2018 19:45:25 +0000 (20:45 +0100)] 
Fixed tests

7 years agoClear cryptographic state when interface down
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.

7 years agoRework of entire locking system
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.

7 years agoMerge branch 'timer-teardown' of git.zx2c4.com:wireguard-go into timer-teardown
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

7 years agoAdded binary to .gitignore
Mathias Hall-Andersen [Wed, 31 Jan 2018 09:11:36 +0000 (10:11 +0100)] 
Added binary to .gitignore

7 years agoAdded initial version of peer teardown
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.

7 years agoFixed potential DoS issue
Mathias Hall-Andersen [Tue, 16 Jan 2018 13:57:12 +0000 (14:57 +0100)] 
Fixed potential DoS issue

7 years agoWork on timer teardown + bug fixes
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

7 years agoFixed fwmark update without device status change
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.

7 years agoRevert "Peer timer teardown"
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.

7 years agoPeer timer teardown
Mathias Hall-Andersen [Fri, 29 Dec 2017 16:42:09 +0000 (17:42 +0100)] 
Peer timer teardown

7 years agoRemoved IFF_NO_PI from TUN linux
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.

7 years agoRemoved profiler code
Mathias Hall-Andersen [Fri, 1 Dec 2017 23:00:45 +0000 (00:00 +0100)] 
Removed profiler code

7 years agoMore consistent use of signal struct
Mathias Hall-Andersen [Fri, 1 Dec 2017 22:37:26 +0000 (23:37 +0100)] 
More consistent use of signal struct

7 years agoFixed receive path infinite loop
Mathias Hall-Andersen [Thu, 30 Nov 2017 23:03:06 +0000 (00:03 +0100)] 
Fixed receive path infinite loop

7 years agoAdded missing exit codes
Mathias Hall-Andersen [Thu, 30 Nov 2017 22:30:29 +0000 (23:30 +0100)] 
Added missing exit codes

7 years agoRefactor timers.go
Mathias Hall-Andersen [Thu, 30 Nov 2017 22:22:40 +0000 (23:22 +0100)] 
Refactor timers.go

7 years agoFixed typos
Mathias Hall-Andersen [Wed, 29 Nov 2017 20:12:09 +0000 (21:12 +0100)] 
Fixed typos

7 years agoAdded cross namespace TUN status detection
Mathias Hall-Andersen [Wed, 29 Nov 2017 17:46:31 +0000 (18:46 +0100)] 
Added cross namespace TUN status detection

7 years agoBetter naming of bind helpers
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:35:17 +0000 (13:35 +0100)] 
Better naming of bind helpers

7 years agoMerge branch 'source-caching'
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:19:07 +0000 (13:19 +0100)] 
Merge branch 'source-caching'

7 years agoImplemented missing methods for Bind and Endpoint
Mathias Hall-Andersen [Sun, 19 Nov 2017 12:14:15 +0000 (13:14 +0100)] 
Implemented missing methods for Bind and Endpoint

7 years agoBegin generic Bind implementation
Mathias Hall-Andersen [Sat, 18 Nov 2017 23:21:58 +0000 (00:21 +0100)] 
Begin generic Bind implementation

7 years agoMoved endpoint into interface and simplified peer
Mathias Hall-Andersen [Sat, 18 Nov 2017 22:34:02 +0000 (23:34 +0100)] 
Moved endpoint into interface and simplified peer

7 years agoPorted remaining netns.sh
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

7 years agoAllows passing UAPI fd to service
Mathias Hall-Andersen [Fri, 17 Nov 2017 13:36:08 +0000 (14:36 +0100)] 
Allows passing UAPI fd to service

7 years agoMoved TUN device creation to pre-fork
Mathias Hall-Andersen [Tue, 14 Nov 2017 17:26:28 +0000 (18:26 +0100)] 
Moved TUN device creation to pre-fork

7 years agoInitial working source caching
Mathias Hall-Andersen [Tue, 14 Nov 2017 15:27:53 +0000 (16:27 +0100)] 
Initial working source caching

7 years agoFixed blocking reader on closed socket
Mathias Hall-Andersen [Sat, 11 Nov 2017 22:26:44 +0000 (23:26 +0100)] 
Fixed blocking reader on closed socket

7 years agoFixed port endianness
Mathias Hall-Andersen [Sat, 11 Nov 2017 14:43:55 +0000 (15:43 +0100)] 
Fixed port endianness

7 years agoClose tun device with device
Aurélien Chabot [Sat, 11 Nov 2017 11:27:24 +0000 (12:27 +0100)] 
Close tun device with device

7 years agoFixed message header length in conn_linux
Mathias Hall-Andersen [Fri, 27 Oct 2017 08:43:37 +0000 (10:43 +0200)] 
Fixed message header length in conn_linux

7 years agoFixed timer issue when failing to send handshake
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

7 years agoInitial implementation of source caching
Mathias Hall-Andersen [Mon, 16 Oct 2017 19:33:47 +0000 (21:33 +0200)] 
Initial implementation of source caching

Yet untested.

7 years agoAdded new UDPBind interface
Mathias Hall-Andersen [Sun, 8 Oct 2017 20:03:32 +0000 (22:03 +0200)] 
Added new UDPBind interface

7 years agoBegin incorporating new src cache into receive
Mathias Hall-Andersen [Sat, 7 Oct 2017 20:35:23 +0000 (22:35 +0200)] 
Begin incorporating new src cache into receive

7 years agoDefinition of platform specific socket bind
Mathias Hall-Andersen [Fri, 6 Oct 2017 20:56:01 +0000 (22:56 +0200)] 
Definition of platform specific socket bind

7 years agoSleep to close fd
Jason A. Donenfeld [Tue, 26 Sep 2017 13:24:18 +0000 (15:24 +0200)] 
Sleep to close fd

7 years agoClean up error handling of listen port
Jason A. Donenfeld [Tue, 26 Sep 2017 13:15:27 +0000 (15:15 +0200)] 
Clean up error handling of listen port

7 years agoSimplified xplatform spec
Jason A. Donenfeld [Tue, 26 Sep 2017 12:26:12 +0000 (14:26 +0200)] 
Simplified xplatform spec

7 years agoBegin work on source address caching (linux)
Mathias Hall-Andersen [Sun, 24 Sep 2017 19:35:25 +0000 (21:35 +0200)] 
Begin work on source address caching (linux)

7 years agoFix up fwmark handling
Jason A. Donenfeld [Thu, 21 Sep 2017 01:09:57 +0000 (03:09 +0200)] 
Fix up fwmark handling

7 years agoAdded last_minute_handshake_guard
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

7 years agoImproved readability of send/receive code
Mathias Hall-Andersen [Sat, 9 Sep 2017 13:03:01 +0000 (15:03 +0200)] 
Improved readability of send/receive code

7 years agoFixed TUN interface implementation os OS X
Mathias Hall-Andersen [Sun, 3 Sep 2017 16:10:06 +0000 (18:10 +0200)] 
Fixed TUN interface implementation os OS X

7 years agoFixed KDF tests
Mathias Hall-Andersen [Fri, 1 Sep 2017 12:31:57 +0000 (14:31 +0200)] 
Fixed KDF tests

7 years agoImproved handling of key-material
Mathias Hall-Andersen [Fri, 1 Sep 2017 12:21:53 +0000 (14:21 +0200)] 
Improved handling of key-material

7 years agoRenamed config.go to follow general naming pattern
Mathias Hall-Andersen [Mon, 28 Aug 2017 16:30:11 +0000 (18:30 +0200)] 
Renamed config.go to follow general naming pattern

7 years agoAdded code from windows branch
Mathias Hall-Andersen [Sun, 27 Aug 2017 13:41:00 +0000 (15:41 +0200)] 
Added code from windows branch

7 years agoAdded fwmark code
Mathias Hall-Andersen [Fri, 25 Aug 2017 12:53:23 +0000 (14:53 +0200)] 
Added fwmark code

7 years agoAdd support for fwmark on linux
Mathias Hall-Andersen [Tue, 22 Aug 2017 15:22:45 +0000 (17:22 +0200)] 
Add support for fwmark on linux

7 years agoUpdate MTU based on netlink messages (linux)
Mathias Hall-Andersen [Tue, 22 Aug 2017 12:57:32 +0000 (14:57 +0200)] 
Update MTU based on netlink messages (linux)

7 years agoAdded missing IF index check
Mathias Hall-Andersen [Thu, 17 Aug 2017 10:58:18 +0000 (12:58 +0200)] 
Added missing IF index check

7 years agoDetects interface status on linux
Mathias Hall-Andersen [Wed, 16 Aug 2017 22:25:39 +0000 (00:25 +0200)] 
Detects interface status on linux

7 years agoImproved test script
Mathias Hall-Andersen [Mon, 14 Aug 2017 15:14:44 +0000 (17:14 +0200)] 
Improved test script

7 years agoImproved cookie/mac computation code
Mathias Hall-Andersen [Mon, 14 Aug 2017 15:09:25 +0000 (17:09 +0200)] 
Improved cookie/mac computation code

7 years agoImproved receive.go
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

8 years agoNumber of fixes in response to code review
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.

8 years agoFirst set of code review patches
Mathias Hall-Andersen [Fri, 4 Aug 2017 14:15:53 +0000 (16:15 +0200)] 
First set of code review patches

8 years agoMerge branch 'master' of git.zx2c4.com:wireguard-go
Mathias Hall-Andersen [Wed, 2 Aug 2017 13:32:12 +0000 (15:32 +0200)] 
Merge branch 'master' of git.zx2c4.com:wireguard-go

8 years agoCreate /var/run/wireguard if non-existent
Mathias Hall-Andersen [Wed, 2 Aug 2017 13:30:57 +0000 (15:30 +0200)] 
Create /var/run/wireguard if non-existent

8 years agoMakefile: cleanup a bit and add cloc
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>
8 years agoRemove stale unix socket
Mathias Hall-Andersen [Tue, 1 Aug 2017 10:45:11 +0000 (12:45 +0200)] 
Remove stale unix socket

8 years agoClose UAPI socket before exit
Mathias Hall-Andersen [Tue, 1 Aug 2017 10:14:38 +0000 (12:14 +0200)] 
Close UAPI socket before exit

8 years agoVerify source address
Mathias Hall-Andersen [Mon, 31 Jul 2017 20:26:55 +0000 (22:26 +0200)] 
Verify source address

8 years agoFixed shadowing bug
Mathias Hall-Andersen [Thu, 27 Jul 2017 21:51:07 +0000 (23:51 +0200)] 
Fixed shadowing bug

8 years agoMerge branch 'master' of git.zx2c4.com:wireguard-go
Mathias Hall-Andersen [Thu, 27 Jul 2017 21:46:01 +0000 (23:46 +0200)] 
Merge branch 'master' of git.zx2c4.com:wireguard-go

8 years agoImproved timer code
Mathias Hall-Andersen [Thu, 27 Jul 2017 21:45:37 +0000 (23:45 +0200)] 
Improved timer code

8 years agoClose UDP connection when listen port changes
Mathias Hall-Andersen [Sun, 23 Jul 2017 14:21:08 +0000 (16:21 +0200)] 
Close UDP connection when listen port changes

8 years agoMerge branch 'darwin'
Mathias Hall-Andersen [Sun, 23 Jul 2017 13:48:23 +0000 (15:48 +0200)] 
Merge branch 'darwin'

8 years agoFixed UAPI deadlock
Mathias Hall-Andersen [Fri, 21 Jul 2017 13:17:43 +0000 (15:17 +0200)] 
Fixed UAPI deadlock

8 years agoMoved remaining platform dependent UAPI code
Mathias Hall-Andersen [Thu, 20 Jul 2017 13:06:24 +0000 (15:06 +0200)] 
Moved remaining platform dependent UAPI code

8 years agoReviewed and added OSX patch
Mathias Hall-Andersen [Wed, 19 Jul 2017 11:12:25 +0000 (13:12 +0200)] 
Reviewed and added OSX patch

The patch was provided by:
Naveen Nathan <naveen@lastninja.net>

The following modifications to the patch was made:

- Added copyright notice
- Fixed file descriptor leak in .MTU() method
- Migrated to the new(er) golang.org/x/sys/unix package
- Removed non-functioning Daemonize method

8 years agoAdded last_handshake_time fields to UAPI
Mathias Hall-Andersen [Tue, 18 Jul 2017 13:22:56 +0000 (15:22 +0200)] 
Added last_handshake_time fields to UAPI

8 years agoFixed file descriptor leak on linux
Mathias Hall-Andersen [Tue, 18 Jul 2017 12:15:29 +0000 (14:15 +0200)] 
Fixed file descriptor leak on linux

8 years agoFixed deadlock in index.go
Mathias Hall-Andersen [Mon, 17 Jul 2017 14:16:18 +0000 (16:16 +0200)] 
Fixed deadlock in index.go

8 years agoAdded padding
Mathias Hall-Andersen [Sat, 15 Jul 2017 14:27:59 +0000 (16:27 +0200)] 
Added padding

Added plaintext padding and fixed default interface MTU

8 years agoConforming to the cross-platform UX
Mathias Hall-Andersen [Sat, 15 Jul 2017 11:41:02 +0000 (13:41 +0200)] 
Conforming to the cross-platform UX

The implementation now terminates when the unix socket is deleted.
Currently we are unable to use fsnotify (on linux),
since it does not notify on the deletion of open files.

The implementation can now daemonize (on linux)
or be kept in the foreground by providing the necessary flag.