ngircd

Free, portable and lightweight Internet Relay Chat server http://ngircd.barton.de/
Log | Files | Refs | README | LICENSE

commit 03acae970df0ebe713a4be791e6c75915d34a365
parent 8f0c705029501141528fbe7671e4107b4e1f395f
Author: Alexander Barton <alex@barton.de>
Date:   Sat, 28 Mar 2015 00:05:39 +0100

User mode "C": Allow messages from servers, services, and IRC Ops

Update user mode "C" handling ("Only users that share a channel are
allowed to send messages") to behave like user mode "b" ("block private
messages and notices") and therefore allow messages from servers, services,
and IRC Operators, too.

Change proposed by "wowaname" in #ngircd, thanks!

Diffstat:
Msrc/ngircd/irc.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c @@ -694,7 +694,10 @@ Send_Message(CLIENT * Client, REQUEST * Req, int ForceType, bool SendErrors) goto send_next_target; } - if (Client_HasMode(cl, 'C')) { + if (Client_HasMode(cl, 'C') && + !Client_HasMode(from, 'o') && + !(Client_Type(from) == CLIENT_SERVER) && + !(Client_Type(from) == CLIENT_SERVICE)) { cl2chan = Channel_FirstChannelOf(cl); while (cl2chan) { chan = Channel_GetChannel(cl2chan);