]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc.c
User mode "C": Allow messages from servers, services, and IRC Ops
[ngircd-alex.git] / src / ngircd / irc.c
index dc3b2f2ecf120a4147074cae869f5406d6c9fb98..12fd8214f4235165941b3606f99b112d08284f42 100644 (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);