From 1b7abf6ee18697e28140a237df31426da37b594c Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Wed, 12 Jun 2019 21:35:09 +0100 Subject: Don't pass server PONGs to clients. --- TODO | 2 -- message.c | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index cfd260b..fe2cf21 100644 --- a/TODO +++ b/TODO @@ -9,6 +9,4 @@ Might need to #include in blabouncer.c to make some operating systems Allow reloading the configuration file while running (at least for things like replayseconds, replaymode) - BLABOUNCER command and SIGHUP? -Don't pass server PONGs to clients. - "error: createchannel(): channel name already exists.\n: Success" printed to terminal upon server reconnection. diff --git a/message.c b/message.c index 97d15c8..aa0dc1c 100644 --- a/message.c +++ b/message.c @@ -722,6 +722,12 @@ int processservermessage(SSL *server_ssl, char *str, struct client *clients, int debugprint(DEBUG_FULL, "Server NOTICE does not appear to be from a user, passing through.\n"); } } + + // Server PONG received? This is probably in response to our PING to see if we're still connected, discard it. + if (strncmp(tokens[1], "PONG", strlen(tokens[1])) == 0) { + debugprint(DEBUG_FULL, "Server PONG found and it is: %s with length %zd! Discarding.\n", tokens[1], strlen(tokens[1])); + return 1; + } } // We didn't process anything so return 0 -- cgit v1.2.3