diff options
| author | Alexander Barton <alex@barton.de> | 2022-12-26 17:32:59 +0100 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2022-12-26 17:32:59 +0100 |
| commit | 3e23f7d2c33df287941d26b84c2a26d6ee22faf2 (patch) | |
| tree | dfbaa2508936d1d45e003ac8aba89bc9839a97e1 /src | |
| parent | 46081d619a4777e53552e6a1fb97b45ffe8465bf (diff) | |
| download | ngircd-3e23f7d2c33df287941d26b84c2a26d6ee22faf2.tar.gz ngircd-3e23f7d2c33df287941d26b84c2a26d6ee22faf2.zip | |
Channel mode setting: The local server is allowed to work on local channels
Don't forbid the local server to change modes on local channels: this happens when overriding modes on local (&) channels in the server configuration file, for example, and is perfectly fine. Without this patch, the server worked as expected but showed critical error messages for each local channel in its configuration file: "Got remote MODE command for local channel!? Ignored."
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-mode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c index 7d398852..239dc167 100644 --- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -904,7 +904,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel) if (Client_Type(Client) == CLIENT_SERVER) { /* MODE requests for local channels from other servers * are definitely invalid! */ - if (Channel_IsLocal(Channel)) { + if (Channel_IsLocal(Channel) && Client != Client_ThisServer()) { Log(LOG_ALERT, "Got remote MODE command for local channel!? Ignored."); return CONNECTED; } |