]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
device: add debug logs describing handshake rejection
authorAvery Pennarun <apenwarr@tailscale.com>
Wed, 16 Oct 2019 02:39:44 +0000 (22:39 -0400)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sat, 2 May 2020 07:50:47 +0000 (01:50 -0600)
Useful in testing when bad network stacks repeat or
batch large numbers of packets.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
device/noise-protocol.go

index 6dcc8313242674ef200a14d7abc11fb3d57d481b..a848c4755eb4d895b8bcc95ac11f198bcbcbdb4c 100644 (file)
@@ -314,11 +314,15 @@ func (device *Device) ConsumeMessageInitiation(msg *MessageInitiation) *Peer {
 
        // protect against replay & flood
 
-       var ok bool
-       ok = timestamp.After(handshake.lastTimestamp)
-       ok = ok && time.Since(handshake.lastInitiationConsumption) > HandshakeInitationRate
+       replay := !timestamp.After(handshake.lastTimestamp)
+       flood := time.Since(handshake.lastInitiationConsumption) <= HandshakeInitationRate
        handshake.mutex.RUnlock()
-       if !ok {
+       if replay {
+               device.log.Debug.Printf("%v - ConsumeMessageInitiation: handshake replay @ %v\n", peer, timestamp)
+               return nil
+       }
+       if flood {
+               device.log.Debug.Printf("%v - ConsumeMessageInitiation: handshake flood\n", peer)
                return nil
        }