repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 430bb223765281487e5c6d415a8efb91e2bf3320:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 430bb223765281487e5c6d415a8efb91e2bf3320
Author: Alexander Barton 
Date:   Mon May 25 23:30:07 2020 +0200

    Enhance debug logging for PONG commands

    Distinguish between expected and unexpected PONG commands.

diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index f682e216f273279501d33a036973cdb738ba9848..
index ..368a03d46bef6ff775ecc029051b427d21cbef32 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -877,9 +877,17 @@ IRC_PONG(CLIENT *Client, REQUEST *Req)
 		    (long)(time(NULL) - Conn_GetSignon(conn)),
 		    time(NULL) - Conn_GetSignon(conn) == 1 ? "" : "s",
 		    Client_UserCount(), Channel_CountVisible(NULL));
-	} else
-		LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
-			 conn, (long)(time(NULL) - Conn_LastPing(conn)));
+	}
+#ifdef DEBUG
+	else {
+		if (Conn_LastPing(conn) > 1)
+			LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
+				 conn, (long)(time(NULL) - Conn_LastPing(conn)));
+		else
+			LogDebug("Got unexpected PONG on connection %d. Ignored.",
+				 conn);
+	}
+#endif

 	/* We got a PONG, so signal that none is pending on this connection. */
 	Conn_UpdatePing(conn, 1);

-----END OF PAGE-----