aboutsummaryrefslogtreecommitdiffstats
path: root/timers.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-05-01 16:59:13 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-05-01 17:46:28 +0200
commit168ef61a638e4875b260edbc51551bae0dc34ac3 (patch)
tree579a18ee07b9cf5427c9bab187707917215b7e5f /timers.go
parentClear src cache if route changes to new ifindex (diff)
downloadwireguard-go-168ef61a638e4875b260edbc51551bae0dc34ac3.tar.xz
wireguard-go-168ef61a638e4875b260edbc51551bae0dc34ac3.zip
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.
Diffstat (limited to 'timers.go')
-rw-r--r--timers.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/timers.go b/timers.go
index 8725570..ba0d0e5 100644
--- a/timers.go
+++ b/timers.go
@@ -120,7 +120,7 @@ func (peer *Peer) TimerAnyAuthenticatedPacketTraversal() {
*/
func (peer *Peer) TimerHandshakeComplete() {
peer.signal.handshakeCompleted.Send()
- peer.device.log.Info.Println(peer.String(), ": New handshake completed")
+ peer.device.log.Info.Println(peer.String() + ": New handshake completed")
}
/* Event:
@@ -189,10 +189,12 @@ func (peer *Peer) RoutineTimerHandler() {
logDebug := device.log.Debug
defer func() {
- logDebug.Println(peer.String(), ": Routine, Timer handler, Stopped")
+ logDebug.Println(peer.String() + ": Routine: timer handler - stopped")
peer.routines.stopping.Done()
}()
+ logDebug.Println(peer.String() + ": Routine: timer handler - started")
+
// reset all timers
peer.timer.keepalivePassive.Stop()
@@ -207,8 +209,6 @@ func (peer *Peer) RoutineTimerHandler() {
peer.timer.keepalivePersistent.Reset(duration)
}
- logDebug.Println("Routine, timer handler, started for peer", peer.String())
-
// signal synchronised setup complete
peer.routines.starting.Done()
@@ -231,14 +231,14 @@ func (peer *Peer) RoutineTimerHandler() {
interval := peer.persistentKeepaliveInterval
if interval > 0 {
- logDebug.Println(peer.String(), ": Send keep-alive (persistent)")
+ logDebug.Println(peer.String() + ": Send keep-alive (persistent)")
peer.timer.keepalivePassive.Stop()
peer.SendKeepAlive()
}
case <-peer.timer.keepalivePassive.Wait():
- logDebug.Println(peer.String(), ": Send keep-alive (passive)")
+ logDebug.Println(peer.String() + ": Send keep-alive (passive)")
peer.SendKeepAlive()
@@ -250,7 +250,7 @@ func (peer *Peer) RoutineTimerHandler() {
case <-peer.timer.zeroAllKeys.Wait():
- logDebug.Println(peer.String(), ": Clear all key-material (timer event)")
+ logDebug.Println(peer.String() + ": Clear all key-material (timer event)")
hs := &peer.handshake
hs.mutex.Lock()
@@ -283,7 +283,7 @@ func (peer *Peer) RoutineTimerHandler() {
// handshake timers
case <-peer.timer.handshakeNew.Wait():
- logInfo.Println(peer.String(), ": Retrying handshake (timer event)")
+ logInfo.Println(peer.String() + ": Retrying handshake (timer event)")
peer.signal.handshakeBegin.Send()
case <-peer.timer.handshakeTimeout.Wait():
@@ -301,16 +301,16 @@ func (peer *Peer) RoutineTimerHandler() {
err := peer.sendNewHandshake()
if err != nil {
- logInfo.Println(peer.String(), ": Failed to send handshake initiation", err)
+ logInfo.Println(peer.String()+": Failed to send handshake initiation", err)
} else {
- logDebug.Println(peer.String(), ": Send handshake initiation (subsequent)")
+ logDebug.Println(peer.String() + ": Send handshake initiation (subsequent)")
}
case <-peer.timer.handshakeDeadline.Wait():
// clear all queued packets and stop keep-alive
- logInfo.Println(peer.String(), ": Handshake negotiation timed-out")
+ logInfo.Println(peer.String() + ": Handshake negotiation timed-out")
peer.signal.flushNonceQueue.Send()
peer.timer.keepalivePersistent.Stop()
@@ -325,16 +325,16 @@ func (peer *Peer) RoutineTimerHandler() {
err := peer.sendNewHandshake()
if err != nil {
- logInfo.Println(peer.String(), ": Failed to send handshake initiation", err)
+ logInfo.Println(peer.String()+": Failed to send handshake initiation", err)
} else {
- logDebug.Println(peer.String(), ": Send handshake initiation (initial)")
+ logDebug.Println(peer.String() + ": Send handshake initiation (initial)")
}
peer.timer.handshakeDeadline.Reset(RekeyAttemptTime)
case <-peer.signal.handshakeCompleted.Wait():
- logInfo.Println(peer.String(), ": Handshake completed")
+ logInfo.Println(peer.String() + ": Handshake completed")
atomic.StoreInt64(
&peer.stats.lastHandshakeNano,