summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-11-09 21:21:29 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-11-09 21:21:29 +0000
commit4b7bcde5775eac0b2edbc4fa45a076585103af6b (patch)
treead5f79b6e79c998777167e72976d30fe6012b88d
parenta4bb4fb983f6982523448c355fbb0123adfbb908 (diff)
downloadirssi-4b7bcde5775eac0b2edbc4fa45a076585103af6b.zip
PING from client wasn't handled correctly.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@820 dbcabf3a-b0e7-0310-adc4-f8d773084564
-rw-r--r--src/irc/proxy/listen.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/irc/proxy/listen.c b/src/irc/proxy/listen.c
index 47e762e1..a8c04e4d 100644
--- a/src/irc/proxy/listen.c
+++ b/src/irc/proxy/listen.c
@@ -143,8 +143,13 @@ static void handle_client_cmd(CLIENT_REC *client, char *cmd, char *args)
return;
}
if (strcmp(cmd, "PING") == 0) {
- proxy_outdata(client, "PONG proxy :%s\n", args);
- return;
+ char *server = strchr(args, ':');
+ if (server == NULL || strcmp(server, "proxy") == 0) {
+ if (server != NULL) *server = '\0';
+ if (*args == '\0') args = client->nick;
+ proxy_outdata(client, "PONG proxy :%s\n", args);
+ return;
+ }
}
if (client->server == NULL || !client->server->connected) {