From 8ccc5a2207cebf034051d45961aa7059a7ce656a Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Mon, 28 Oct 2019 00:55:47 -0400 Subject: Disallow PRIVMSG/NOTICE before registration --- client.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'client.c') diff --git a/client.c b/client.c index 3ed8a81..cd9d008 100644 --- a/client.c +++ b/client.c @@ -172,7 +172,11 @@ static void handleQuit(struct Client *client, struct Message *msg) { } static void handlePrivmsg(struct Client *client, struct Message *msg) { - if (!msg->params[0] || !msg->params[1]) return; + if (client->need || !msg->params[0] || !msg->params[1]) { + client->error = true; + return; + } + char line[1024]; snprintf( line, sizeof(line), ":%s %s %s :%s", @@ -181,6 +185,7 @@ static void handlePrivmsg(struct Client *client, struct Message *msg) { size_t diff = ringDiff(client->consumer); ringProduce(line); if (!diff) ringConsume(NULL, client->consumer); + serverFormat("%s %s :%s\r\n", msg->cmd, msg->params[0], msg->params[1]); } -- cgit 1.4.1