Commit Diff


commit - 5a200e154347bde2a885ad1ede620d8d946b6420
commit + bc20f9ec1076a67a81ed8e7c3489ffbdf3387e53
blob - 54818fe4879f05d2d05f438cb3e98d646818641f
blob + 133a0e5fa79ed7cda29bdf46b5736047a5ac7809
--- src/ngircd/irc-login.c
+++ src/ngircd/irc-login.c
@@ -889,15 +889,16 @@ IRC_PONG(CLIENT *Client, REQUEST *Req)
 	}
 #endif
 
-#ifdef DEBUG
-	if (conn > NONE)
-		Log(LOG_DEBUG,
-			"Connection %d: received PONG. Lag: %ld seconds.", conn,
-			time(NULL) - Conn_LastPing(Client_Conn(Client)));
-	else
-		 Log(LOG_DEBUG,
-			"Connection %d: received PONG.", conn);
-#endif
+	if (Client_Type(Client) == CLIENT_SERVER && Conn_LastPing(conn) == 0) {
+		Log(LOG_INFO,
+		    "Synchronization with \"%s\" done (connection %d): %ld seconds [%ld users, %ld channels]",
+		    Client_ID(Client), conn, time(NULL) - Conn_GetSignon(conn),
+		    Client_UserCount(), Channel_CountVisible(NULL));
+		Conn_UpdatePing(conn);
+	} else
+		LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
+			 conn, time(NULL) - Conn_LastPing(conn));
+
 	return CONNECTED;
 } /* IRC_PONG */
 
blob - 0440768c6151ccab7a5d8e3d043c2056e1b6d321
blob + d59a1dc3a9be6895de5f2565337fe8e29a3fbb40
--- src/ngircd/numeric.c
+++ src/ngircd/numeric.c
@@ -383,6 +383,10 @@ IRC_Num_ENDOFMOTD(CLIENT * Client, UNUSED REQUEST * Re
 			return DISCONNECTED;
 	}
 #endif
+
+	if (!IRC_WriteStrClient(Client, "PING :%s",
+	    Client_ID(Client_ThisServer())))
+		return DISCONNECTED;
 
 	return CONNECTED;
 } /* IRC_Num_ENDOFMOTD */