]> jfr.im git - solanum.git/blobdiff - extensions/chm_nonotice.c
ircd: remove broken USE_IODEBUG_HOOKS knob and related code
[solanum.git] / extensions / chm_nonotice.c
index bbef150271495a01705e2ff7febb10e160f8440a..a2fa3603c36cb81200b97b7d7bfb97c7431a69d7 100644 (file)
@@ -32,6 +32,7 @@
 #include "s_serv.h"
 #include "numeric.h"
 #include "chmode.h"
+#include "messages.h"
 #include "inline/stringops.h"
 
 static unsigned int mode_nonotice;
@@ -50,9 +51,11 @@ chm_nonotice_process(hook_data_privmsg_channel *data)
        if (data->approved || data->msgtype != MESSAGE_TYPE_NOTICE)
                return;
 
-       if (data->chptr->mode.mode & mode_nonotice)
+       /* block all notices except CTCPs; use chm_noctcp to block CTCPs. */
+       if (data->chptr->mode.mode & mode_nonotice && *data->text != '\001')
        {
-               data->approved = ERR_CUSTOM;
+               sendto_one_numeric(data->source_p, ERR_CANNOTSENDTOCHAN, form_str(ERR_CANNOTSENDTOCHAN), data->chptr->chname);
+               data->approved = ERR_CANNOTSENDTOCHAN;
                return;
        }
 }