Commit Graph

36 Commits

Author SHA1 Message Date
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
02ce67294c Refactor timers.go 2017-11-30 23:22:40 +01:00
Mathias Hall-Andersen
471f7ff08e Added cross namespace TUN status detection 2017-11-29 18:46:31 +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
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
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
47a21c8bb0 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
2017-09-20 09:26:08 +02:00
Mathias Hall-Andersen
f212795e51 Improved readability of send/receive code 2017-09-09 15:03:01 +02:00
Mathias Hall-Andersen
0294a5c0dd Improved handling of key-material 2017-09-01 14:21:53 +02:00
Mathias Hall-Andersen
eafa3df606 Added fwmark code 2017-08-25 14:53:23 +02:00
Mathias Hall-Andersen
12e8db2066 Improved cookie/mac computation code 2017-08-14 17:09:25 +02:00
Mathias Hall-Andersen
a4eff12d7f 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
2017-08-11 16:18:20 +02:00
Mathias Hall-Andersen
cba1d6585a 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.
2017-08-07 15:25:04 +02:00
Mathias Hall-Andersen
8c34c4cbb3 First set of code review patches 2017-08-04 16:15:53 +02:00
Mathias Hall-Andersen
d7a49b8b8c Verify source address 2017-07-31 22:26:55 +02:00
Mathias Hall-Andersen
fb3fa4f915 Improved timer code 2017-07-27 23:45:37 +02:00
Mathias Hall-Andersen
18714fc4a4 Added last_handshake_time fields to UAPI 2017-07-18 15:22:56 +02:00
Mathias Hall-Andersen
c5d7efc246 Fixed deadlock in index.go 2017-07-17 16:16:18 +02:00
Mathias Hall-Andersen
8993b3927c Improved throughput
- Improved performance by adding the message buffers to a sync.Pool.
- Fixed issue with computing "next" key-pair upon
  receiving a response message.
2017-07-14 14:25:18 +02:00
Mathias Hall-Andersen
0043008ad0 Endpoint discovery from handshake initiation 2017-07-13 21:29:22 +02:00
Mathias Hall-Andersen
93e3848ea7 Terminate on interface deletion
Program now terminates when the interface is removed
Increases the number of os threads (relevant for Go <1.5, not tested)
More consistent commenting
Improved logging (additional peer information)
2017-07-13 14:32:40 +02:00
Mathias Hall-Andersen
c273078376 Added ratelimiting of handshake messages 2017-07-11 18:48:29 +02:00
Mathias Hall-Andersen
9c4acb9f35 Fixed incomming initiation bug 2017-07-10 17:20:43 +02:00
Mathias Hall-Andersen
44c9896883 Added replay protection 2017-07-10 12:09:19 +02:00
Mathias Hall-Andersen
4ad62aaa6a Improved timer state machine 2017-07-08 23:51:26 +02:00
Mathias Hall-Andersen
5c1ccbddf0 Added source verification 2017-07-08 09:23:10 +02:00
Mathias Hall-Andersen
ed31e75739 Fixed cookie reply processing bug 2017-07-07 13:47:09 +02:00
Mathias Hall-Andersen
59f9316f51 Initial working full exchange
The implementation is now capable of connecting to another
wireguard instance, complete a handshake and exchange transport
messages.
2017-07-06 15:43:55 +02:00
Mathias Hall-Andersen
2aa0daf4d5 Fixed transport header problem 2017-07-02 15:28:38 +02:00
Mathias Hall-Andersen
1e620427bd Handshake negotiation functioning 2017-07-01 23:29:22 +02:00