From 8bda9bf804ce1708deae65052b4916a21c42ad7d Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Wed, 14 Dec 2022 17:23:31 -0500
Subject: [PATCH] SSU2: Update activity on path challenge/response

---
 .../java/src/net/i2p/router/transport/udp/PeerState2.java | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState2.java b/router/java/src/net/i2p/router/transport/udp/PeerState2.java
index 7701c22ece..89a20ceca0 100644
--- a/router/java/src/net/i2p/router/transport/udp/PeerState2.java
+++ b/router/java/src/net/i2p/router/transport/udp/PeerState2.java
@@ -493,6 +493,7 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback
                                     _pathChallengeSendCount = 1;
                                     _pendingRemoteHostId = from;
                                     sendPathChallenge(dpacket.getAddress(), from.getPort());
+                                    setLastSendTime(_migrationStarted);
                                 } else {
                                     // don't attempt to switch
                                     if (_log.shouldWarn())
@@ -525,6 +526,7 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback
                                         _migrationNextSendTime = now + (PATH_CHALLENGE_DELAY << _pathChallengeSendCount);
                                         _pathChallengeSendCount++;
                                         sendPathChallenge(dpacket.getAddress(), from.getPort());
+                                        setLastSendTime(now);
                                     }
                                     limitSending = true;
                                 } else {
@@ -835,6 +837,9 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback
                                                              this);
         // TODO send to from address?
         _transport.send(pkt);
+        long now = _context.clock().now();
+        setLastSendTime(now);
+        setLastReceiveTime(now);
     }
 
     public void gotPathResponse(RemoteHostId from, byte[] data) {
@@ -858,6 +863,9 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback
                                                                                  Collections.singletonList(block),
                                                                                  this);
                             _transport.send(pkt);
+                            long now = _context.clock().now();
+                            setLastSendTime(now);
+                            setLastReceiveTime(now);
                         } else {
                             messagePartiallyReceived();
                         }
-- 
GitLab