xC: handle multiline server commands properly
All checks were successful
Alpine 3.20 Success
Arch Linux AUR Success
OpenBSD 7.5 Success

Additional lines might have been passed to the server intact
as part of an argument, but we have /quote for that.
This commit is contained in:
Přemysl Eric Janouch 2024-07-28 04:00:15 +02:00
parent 12fc3c228a
commit 3ad8c79de8
Signed by: p
GPG Key ID: A0420B94F92B9493
2 changed files with 5 additions and 1 deletions

2
NEWS
View File

@ -16,6 +16,8 @@
* xC: replaced behaviour.save_on_quit with general.autosave
* xC: the server *.command configuration option now supports multiple lines
* xC: improved pager integration capabilities
* xC: unsolicited JOINs will no longer automatically activate the buffer

4
xC.c
View File

@ -8317,6 +8317,8 @@ irc_try_parse_welcome_for_userhost (struct server *s, const char *m)
strv_free (&v);
}
static void process_input
(struct app_context *, struct buffer *, const char *);
static bool process_input_line
(struct app_context *, struct buffer *, const char *, int);
static void on_autoaway_timer (struct app_context *ctx);
@ -8345,7 +8347,7 @@ irc_on_registered (struct server *s, const char *nickname)
if (command)
{
log_server_debug (s, "Executing \"#s\"", command);
(void) process_input_line (s->ctx, s->buffer, command, 0);
(void) process_input (s->ctx, s->buffer, command);
}
int64_t command_delay = get_config_integer (s->config, "command_delay");