diff options
| author | Alexander Barton <alex@barton.de> | 2011-08-01 22:30:00 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2011-08-01 22:30:00 +0200 |
| commit | 2fd42667c2a064bab6e28523a7e68383604a1e15 (patch) | |
| tree | ee3e4bcf6c424a9819538da187c3292c1043ded5 /src | |
| parent | 2dfa24d2fa42bdfece472da57c823a3968230fae (diff) | |
| download | ngircd-2fd42667c2a064bab6e28523a7e68383604a1e15.tar.gz ngircd-2fd42667c2a064bab6e28523a7e68383604a1e15.zip | |
Handle unknown channel modes on server links
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-mode.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index b469a169..326c1046 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -650,18 +650,25 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel) } break; default: - Log(LOG_DEBUG, - "Unknown mode \"%c%c\" from \"%s\" on %s!?", - set ? '+' : '-', *mode_ptr, Client_ID(Origin), - Channel_Name(Channel)); - if (Client_Type(Client) != CLIENT_SERVER) + if (Client_Type(Client) != CLIENT_SERVER) { + Log(LOG_DEBUG, + "Unknown mode \"%c%c\" from \"%s\" on %s!?", + set ? '+' : '-', *mode_ptr, + Client_ID(Origin), Channel_Name(Channel)); connected = IRC_WriteStrClient(Origin, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID(Origin), set ? '+' : '-', *mode_ptr); - x[0] = '\0'; - goto chan_exit; - } /* switch() */ + x[0] = '\0'; + goto chan_exit; + } else { + Log(LOG_DEBUG, + "Handling unknown mode \"%c%c\" from \"%s\" on %s ...", + set ? '+' : '-', *mode_ptr, + Client_ID(Origin), Channel_Name(Channel)); + x[0] = *mode_ptr; + } + } if (!connected) break; |