1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-27 20:36:18 +00:00

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!
This commit is contained in:
Alexander Barton 2015-03-28 00:05:39 +01:00
parent 8f0c705029
commit 03acae970d

View File

@ -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);