diff options
| author | Alexander Barton <alex@barton.de> | 2011-08-01 22:09:40 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2011-08-01 22:09:40 +0200 |
| commit | 2dfa24d2fa42bdfece472da57c823a3968230fae (patch) | |
| tree | cd17676c9b12613ccef31ea2362971f4dbd64a51 | |
| parent | 1ed602eb47ef7c9257559209407a5b9363c532f8 (diff) | |
| download | ngircd-2dfa24d2fa42bdfece472da57c823a3968230fae.tar.gz ngircd-2dfa24d2fa42bdfece472da57c823a3968230fae.zip | |
Handle unknown user modes on server links
| -rw-r--r-- | src/ngircd/irc-mode.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index 7861868d..b469a169 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -242,16 +242,25 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target ) x[0] = 'x'; break; default: - Log(LOG_DEBUG, "Unknown mode \"%c%c\" from \"%s\"!?", - set ? '+' : '-', *mode_ptr, Client_ID(Origin)); - if (Client_Type(Client) != CLIENT_SERVER) + if (Client_Type(Client) != CLIENT_SERVER) { + Log(LOG_DEBUG, + "Unknown mode \"%c%c\" from \"%s\"!?", + set ? '+' : '-', *mode_ptr, + Client_ID(Origin)); ok = IRC_WriteStrClient(Origin, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID(Origin), set ? '+' : '-', *mode_ptr); - x[0] = '\0'; - goto client_exit; + x[0] = '\0'; + goto client_exit; + } else { + Log(LOG_DEBUG, + "Handling unknown mode \"%c%c\" from \"%s\" for \"%s\" ...", + set ? '+' : '-', *mode_ptr, + Client_ID(Origin), Client_ID(Target)); + x[0] = *mode_ptr; + } } if (!ok) |