summaryrefslogtreecommitdiffhomepage
path: root/send.go
AgeCommit message (Collapse)Author
2019-03-03global: begin modularizationJason A. Donenfeld
2019-02-05Extend structs rather than embed, when possibleJason A. Donenfeld
2019-02-05Update copyrightJason A. Donenfeld
2018-12-19Make error messages consistentJason A. Donenfeld
2018-10-18send: do not unlock already freed objectJason A. Donenfeld
2018-09-24Fix shutdown racesJason A. Donenfeld
2018-09-24More poolingJason A. Donenfeld
2018-09-22Fixup buffer freeingJason A. Donenfeld
2018-09-16send: more precise padding calculationJason A. Donenfeld
2018-09-16Change queueing drop order and fix memory leaksJason A. Donenfeld
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-16send: use accessor function for buffer poolJason A. Donenfeld
2018-09-16global: fix up copyright headersJason A. Donenfeld
2018-07-16send: better debug message for failed data packetJason A. Donenfeld
2018-05-21Make successful tests silentFilippo Valsorda
License: MIT Signed-off-by: Filippo Valsorda <valsorda@google.com>
2018-05-21Reasonable punctuation given the spacingJason A. Donenfeld
2018-05-20Fix data races in timersJason A. Donenfeld
2018-05-20Fix race in packetInNonceQueueIsAwaitingKeyJason A. Donenfeld
2018-05-19timers: clear send_keepalive timer on sending handshake responseJason A. Donenfeld
We reorganize this into also doing so on sending keepalives itself, which means the state machine is much more consistent, even if this was already implied. Kernel module commit 30290ef1d2581a3e6ee8ffcdb05d580cfba976be
2018-05-19Listen for flush in outer selectMathias Hall-Andersen
Now listen for flushNonceQueue signal in outer select during the RoutineNonce routine. This is needed to handle the edge case where the queue is flushed, but no packets are in the nonce queue. Since the signal has capacity 1 this signal will remain and potentially flush the queue at a later time, with packets meant for transmission.
2018-05-19Add copyright headersMathias Hall-Andersen
2018-05-16Finer-grained start-stop synchronizationJason A. Donenfeld
2018-05-15Do not send keepalive if closedJason A. Donenfeld
2018-05-13More refactoringJason A. Donenfeld
2018-05-13More odds and endsJason A. Donenfeld
2018-05-13Rework index hashtableJason A. Donenfeld
2018-05-10Rewrite timers and related state machinesJason A. Donenfeld
2018-05-05Merge branch 'master' of ssh://git.zx2c4.com/wireguard-goMathias Hall-Andersen
2018-05-05Removed remaining signals from peerMathias Hall-Andersen
1. Removed remaining signals from peer struct 2. Made needAnotherKeepalive local 3. Removed environment check from warning text (annoying when debugging)
2018-05-05Reorder stopping messages so that logs are coherentJason A. Donenfeld
2018-05-05More robust solution to close deadlockJason A. Donenfeld
2018-05-05Fix infinite loop in exit routineJason A. Donenfeld
2018-05-05Removed old signalsMathias Hall-Andersen
2018-05-05Merge branch 'master' of ssh://git.zx2c4.com/wireguard-goMathias Hall-Andersen
2018-05-05Initial version of migration to new event modelMathias Hall-Andersen
- Begin move away from global timer state. - Made logging format more consistent
2018-05-03global: Add SPDX tags and copyright headerJason A. Donenfeld
Mathias should probably add his copyright headers to each file too.
2018-05-01Add missing locks and fix debug output, and try to flush queuesJason A. Donenfeld
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-04-18Fixed read from closed channelMathias Hall-Andersen
A premature waitgroup .Done resulted in reading from closed channel. This caused a nil-pointer deref & crash. Added additional debugging when closing routines.
2018-02-04Work on logging formatMathias Hall-Andersen
2018-02-04Align with go library layoutMathias Hall-Andersen