summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-25 19:07:44 -0500
committerJune McEnroe <june@causal.agency>2020-02-25 19:07:44 -0500
commite05150a6fb93de818074a3328bf617291910d606 (patch)
treefa526bad38a56e6aba72ad4d55dfd410f0ab6fd1
parentRequest server-time from the server and filter tags for clients (diff)
downloadpounce-e05150a6fb93de818074a3328bf617291910d606.tar.gz
pounce-e05150a6fb93de818074a3328bf617291910d606.zip
Respond to tagged PINGs correctly
Yikes.
Diffstat (limited to '')
-rw-r--r--server.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/server.c b/server.c
index 1741f14..e8c8880 100644
--- a/server.c
+++ b/server.c
@@ -165,8 +165,13 @@ void serverRecv(void) {
 		if (!crlf) break;
 		crlf[0] = '\0';
 		if (verbose) fprintf(stderr, "\x1B[32m%s\x1B[m\n", line);
-		if (!strncmp(line, "PING ", 5)) {
-			serverFormat("PONG %s\r\n", &line[5]);
+		const char *ping = line;
+		if (ping[0] == '@') {
+			ping += strcspn(ping, " ");
+			if (*ping) ping++;
+		}
+		if (!strncmp(ping, "PING ", 5)) {
+			serverFormat("PONG %s\r\n", &ping[5]);
 		} else {
 			if (stateReady()) ringProduce(line);
 			stateParse(line);
12563763aa1605181120938c4a914cfe&follow=1'>Wait for SASL success before sending CAP ENDJune McEnroe 2019-10-27Only increment consumer after successful sendJune McEnroe 2019-10-27Set SO_REUSEADDR on bindsJune McEnroe 2019-10-27Output ring info on SIGINFOJune McEnroe 2019-10-27Improve client/server error messagesJune McEnroe 2019-10-27Add reload cmd to rc scriptJune McEnroe 2019-10-27Reload certificate on SIGUSR1June McEnroe 2019-10-27Drop clients on zero-length readsJune McEnroe 2019-10-27Explicitly tls_handshake new clientsJune McEnroe 2019-10-26Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe 2019-10-25Rename project pounceJune McEnroe