Commit graph

35 commits

Author SHA1 Message Date
Jason A. Donenfeld b803276061 receive: make started status uniform 2018-11-01 19:54:25 +01:00
Chris Branch 7c971d7ef4 Fix transport message length check
wireguard-go has a bad length check in its transport message handling.
Although it cannot be exploited because of another length check earlier in the
function, this should be fixed regardless.
2018-09-25 05:18:11 +02:00
Jason A. Donenfeld ebc7541953 Fix shutdown races 2018-09-24 01:52:02 +02:00
Jason A. Donenfeld 833597b585 More pooling 2018-09-24 00:37:43 +02:00
Jason A. Donenfeld cf81a28dd3 Fixup buffer freeing 2018-09-22 05:43:03 +02:00
Jason A. Donenfeld 39d6e4f2f1 Change queueing drop order and fix memory leaks
If the queues are full, we drop the present packet, which is better for
network traffic flow. Also, we try to fix up the memory leaks with not
putting buffers from our shared pool.
2018-09-16 21:50:58 +02:00
Jason A. Donenfeld 5be541d147 global: fix up copyright headers 2018-09-16 18:49:19 +02:00
Jason A. Donenfeld fc3a7635e5 Disappointing anti-sticky experiment 2018-05-27 22:55:15 +02:00
Jason A. Donenfeld 28a167e828 Eye before ee except after see 2018-05-23 19:00:00 +02:00
Jason A. Donenfeld 5a2228a5c9 Move replay into subpackage 2018-05-23 03:58:27 +02:00
Jason A. Donenfeld 84c5357cf3 Reasonable punctuation given the spacing 2018-05-21 02:50:39 +02:00
Jason A. Donenfeld acb5481246 Fix data races in timers 2018-05-20 06:50:07 +02:00
Jason A. Donenfeld 1068d6b92b Give bind its own wait group
In a waitgroup, all waits must come after all adds
2018-05-20 06:29:21 +02:00
Mathias Hall-Andersen 38accea986 Add copyright headers 2018-05-19 02:40:22 +02:00
Jason A. Donenfeld 846d721dfd Finer-grained start-stop synchronization 2018-05-16 22:20:15 +02:00
Jason A. Donenfeld b56af1829d More refactoring 2018-05-13 23:20:13 +02:00
Jason A. Donenfeld 729773fdf3 More odds and ends 2018-05-13 19:52:13 +02:00
Jason A. Donenfeld 2326d6a4d7 Odds and ends 2018-05-13 19:34:28 +02:00
Jason A. Donenfeld 2c27ab205c Rework index hashtable 2018-05-13 18:26:09 +02:00
Jason A. Donenfeld 233f079a94 Rewrite timers and related state machines 2018-05-10 16:08:03 +02:00
Mathias Hall-Andersen 375dcbd4ae Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go 2018-05-05 22:10:22 +02:00
Mathias Hall-Andersen abe2651ad5 Removed remaining signals from peer
1. Removed remaining signals from peer struct
2. Made needAnotherKeepalive local
3. Removed environment check from warning text (annoying when debugging)
2018-05-05 22:07:58 +02:00
Jason A. Donenfeld c29428b075 Reorder stopping messages so that logs are coherent 2018-05-05 06:09:30 +02:00
Jason A. Donenfeld a46401bbb1 More robust solution to close deadlock 2018-05-05 06:00:38 +02:00
Jason A. Donenfeld 09a9bc2899 Fix infinite loop in exit routine 2018-05-05 05:33:29 +02:00
Mathias Hall-Andersen 7a83f2565a Removed old signals 2018-05-05 04:15:07 +02:00
Mathias Hall-Andersen edbce6b400 Merge branch 'master' of ssh://git.zx2c4.com/wireguard-go 2018-05-05 02:23:03 +02:00
Mathias Hall-Andersen 6db41d5a26 Initial version of migration to new event model
- Begin move away from global timer state.
- Made logging format more consistent
2018-05-05 02:20:52 +02:00
Jason A. Donenfeld a040786645 global: Add SPDX tags and copyright header
Mathias should probably add his copyright headers to each file too.
2018-05-03 15:06:25 +02:00
Jason A. Donenfeld 168ef61a63 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.
2018-05-01 17:46:28 +02:00
Jason A. Donenfeld 0715bdf353 Fix wrong debug messages 2018-04-20 07:13:40 +02:00
Mathias Hall-Andersen ac9912345b 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.
2018-04-18 20:29:48 +02:00
Mathias Hall-Andersen 6cecaf3157 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
2018-03-08 16:44:46 +01:00
Mathias Hall-Andersen ceccd39420 Work on logging format 2018-02-04 19:18:44 +01:00
Mathias Hall-Andersen a0f54cbe5a Align with go library layout 2018-02-04 16:08:26 +01:00
Renamed from src/receive.go (Browse further)