]> jfr.im git - irc/freenode/ircd-seven.git/commitdiff
send a numeric error for ACT_DROP
authorEd Kellett <redacted>
Fri, 10 Aug 2018 14:05:13 +0000 (15:05 +0100)
committerEd Kellett <redacted>
Fri, 17 Aug 2018 11:31:29 +0000 (12:31 +0100)
modules/m_filter.c
src/messages.tab

index 60cf3e1cdefef292dbc18855afb3113350f8e0ca..b988c51127be8c50ed20487dd787bf9cc1679db8 100644 (file)
@@ -333,7 +333,10 @@ filter_msg_user(void *data_)
                 text);
        unsigned r = match_message(check_buffer);
        rb_free(text);
-       if (r & (ACT_DROP | ACT_KILL)) {
+       if (r & ACT_DROP) {
+               sendto_one_numeric(s, ERR_CANNOTSENDTOCHAN,
+                                  form_str(ERR_CANNOTSENDTOCHAN),
+                                  data->target_p->name);
                data->approved = 1;
        }
        if (r & ACT_ALARM) {
@@ -342,6 +345,7 @@ filter_msg_user(void *data_)
                        s->name, s->username, s->host, s->sockhost);
        }
        if (r & ACT_KILL) {
+               data->approved = 1;
                exit_client(NULL, s, s, "Excess flood");
        }
 }
@@ -385,7 +389,10 @@ filter_msg_channel(void *data_)
                 text);
        unsigned r = match_message(check_buffer);
        rb_free(text);
-       if (r & (ACT_DROP | ACT_KILL)) {
+       if (r & ACT_DROP) {
+               sendto_one_numeric(s, ERR_CANNOTSENDTOCHAN,
+                                  form_str(ERR_CANNOTSENDTOCHAN),
+                                  data->chptr->chname);
                data->approved = 1;
        }
        if (r & ACT_ALARM) {
@@ -394,6 +401,7 @@ filter_msg_channel(void *data_)
                        s->name, s->username, s->host, s->sockhost);
        }
        if (r & ACT_KILL) {
+               data->approved = 1;
                exit_client(NULL, s, s, "Excess flood");
        }
 }
index 9f7d9cee5570287b963fe7ef255ed3149e31d78d..bb63cc72b769f37de81b04f80324140063f963dc 100644 (file)
@@ -425,7 +425,7 @@ static  const char *  replies[] = {
 /* 401 ERR_NOSUCHNICK, */       "%s :No such nick/channel",
 /* 402 ERR_NOSUCHSERVER, */     "%s :No such server",
 /* 403 ERR_NOSUCHCHANNEL, */    "%s :No such channel",
-/* 404 ERR_CANNOTSENDTOCHAN, */ "%s :Cannot send to channel",
+/* 404 ERR_CANNOTSENDTOCHAN, */ "%s :Cannot send to nick/channel",
 /* 405 ERR_TOOMANYCHANNELS, */  ":%s 405 %s %s :You have joined too many channels",
 /* 406 ERR_WASNOSUCHNICK, */    ":%s 406 %s %s :There was no such nickname",
 /* 407 ERR_TOOMANYTARGETS, */   ":%s 407 %s %s :Too many recipients.",