Commit Graph

28 Commits

Author SHA1 Message Date
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
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
d73f960aab Peer timer teardown 2017-12-29 17:42:09 +01:00
Mathias Hall-Andersen
02ce67294c Refactor timers.go 2017-11-30 23:22:40 +01:00
Mathias Hall-Andersen
d10126f883 Moved endpoint into interface and simplified peer 2017-11-18 23:34:02 +01:00
Mathias Hall-Andersen
0485c34c8e Fixed message header length in conn_linux 2017-10-27 10:43:37 +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
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
12e8db2066 Improved cookie/mac computation code 2017-08-14 17:09:25 +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
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
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
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
70179f8c8c Fixed broken test 2017-07-06 16:24:24 +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
1e620427bd Handshake negotiation functioning 2017-07-01 23:29:22 +02:00
Mathias Hall-Andersen
ba3e486667 Completed initial version of outbound flow 2017-06-30 14:41:08 +02:00
Mathias Hall-Andersen
1f0976a26c Work on UAPI
Cross-platform API (get operation)
Handshake initiation creation process
Outbound packet flow
Fixes from code-review
2017-06-28 23:45:45 +02:00
Mathias Hall-Andersen
8236f3afa2 Implemented MAC1/2 calculation 2017-06-27 17:33:06 +02:00
Mathias Hall-Andersen
eb75ff430d Begin implementation of outbound work queue 2017-06-26 22:07:29 +02:00
Mathias Hall-Andersen
9d806d3853 Begin work on outbound packet flow 2017-06-26 13:14:02 +02:00
Mathias Hall-Andersen
25190e4336 Restructuring of noise impl. 2017-06-24 15:34:44 +02:00
Mathias Hall-Andersen
1868d15914 Beginning work on TUN interface
And outbound routing

I am not entirely convinced the use of net.IP is a good idea,
since the internal representation of net.IP is a byte slice
and all constructor functions in "net" return 16 byte slices
(padded for IPv4), while the use in this project uses 4 byte slices.
Which may be confusing.
2017-06-04 21:48:15 +02:00
Mathias Hall-Andersen
ec3d656beb Inital implementation of trie 2017-06-01 21:31:30 +02:00
Mathias Hall-Andersen
1eebdf88a3 Beginning work on UAPI and routing table 2017-05-30 22:36:49 +02:00