repo: ngircd action: commit revision: path_from: revision_from: 03acae970df0ebe713a4be791e6c75915d34a365: path_to: revision_to:
commit 03acae970df0ebe713a4be791e6c75915d34a365 Author: Alexander BartonDate: Sat Mar 28 00:05:39 2015 +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! diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
--- 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);
-----END OF PAGE-----