repo: ngircd action: commit revision: path_from: revision_from: a71abfef4b82aace4989db6a4ed3c94d1266b287: path_to: revision_to:
commit a71abfef4b82aace4989db6a4ed3c94d1266b287 Author: Alexander BartonDate: Wed Dec 28 14:39:47 2011 +0100 Don't stop mode handling on unknown modes; skip it Unknown user and channel modes no longer stop the mode parser, but are simply ignored. Therefore modes after the unknown one are now handled. This is how ircd2.10/ircd2.11/ircd-seven behave, at least. Reported by Cahata -- thanks! diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -253,7 +253,6 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
set ? '+' : '-',
*mode_ptr);
x[0] = '\0';
- goto client_exit;
} else {
Log(LOG_DEBUG,
"Handling unknown mode \"%c%c\" from \"%s\" for \"%s\" ...",
@@ -278,7 +277,6 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
strlcat(the_modes, x, sizeof(the_modes));
}
}
-client_exit:
/* Are there changed modes? */
if (the_modes[1]) {
@@ -671,7 +669,6 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
Client_ID(Origin),
set ? '+' : '-', *mode_ptr);
x[0] = '\0';
- goto chan_exit;
} else {
Log(LOG_DEBUG,
"Handling unknown mode \"%c%c\" from \"%s\" on %s ...",
-----END OF PAGE-----