]> source.dussan.org Git - rspamd.git/commitdiff
[Rework] Change fuzzy error symbols
authorVsevolod Stakhov <vsevolod@rspamd.com>
Thu, 5 Sep 2024 12:35:12 +0000 (13:35 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Thu, 5 Sep 2024 12:35:12 +0000 (13:35 +0100)
FUZZY_BLOCKED -> FUZZY_RATELIMITED
FUZZY_BLOCKED - new symbol for permanent bans

src/plugins/fuzzy_check.c

index 91b77c70293f1c31a6bc70065e797505158a98a1..0af9248e5503c5d236b5b2fa30f1e1c71c7133cb 100644 (file)
@@ -49,6 +49,8 @@
 #include "libutil/libev_helper.h"
 
 #define DEFAULT_SYMBOL "R_FUZZY_HASH"
+#define RSPAMD_FUZZY_SYMBOL_BLOCKED "FUZZY_BLOCKED"
+#define RSPAMD_FUZZY_SYMBOL_RATELIMITED "FUZZY_RATELIMITED"
 
 #define DEFAULT_IO_TIMEOUT 1.0
 #define DEFAULT_RETRANSMITS 3
@@ -1153,6 +1155,32 @@ int fuzzy_check_module_config(struct rspamd_config *cfg, bool validate)
                                                                 1,
                                                                 1);
 
+               /* Register meta symbols (blocked, ratelimited, etc) */
+               rspamd_symcache_add_symbol(cfg->cache,
+                                                                  RSPAMD_FUZZY_SYMBOL_BLOCKED, 0, NULL, NULL,
+                                                                  SYMBOL_TYPE_VIRTUAL,
+                                                                  cb_id);
+               rspamd_config_add_symbol(cfg,
+                                                                RSPAMD_FUZZY_SYMBOL_BLOCKED,
+                                                                0.0,
+                                                                "Fuzzy access denied",
+                                                                "fuzzy",
+                                                                0,
+                                                                1,
+                                                                1);
+               rspamd_symcache_add_symbol(cfg->cache,
+                                                                  RSPAMD_FUZZY_SYMBOL_RATELIMITED, 0, NULL, NULL,
+                                                                  SYMBOL_TYPE_VIRTUAL,
+                                                                  cb_id);
+               rspamd_config_add_symbol(cfg,
+                                                                RSPAMD_FUZZY_SYMBOL_RATELIMITED,
+                                                                0.0,
+                                                                "Fuzzy rate limit is reached",
+                                                                "fuzzy",
+                                                                0,
+                                                                1,
+                                                                1);
+
                /*
                 * Here we can have 2 possibilities:
                 *
@@ -2486,7 +2514,11 @@ fuzzy_check_try_read(struct fuzzy_client_session *session)
                                }
                        }
                        else if (rep->v1.value == 403) {
-                               rspamd_task_insert_result(task, "FUZZY_BLOCKED", 0.0,
+                               rspamd_task_insert_result(task, RSPAMD_FUZZY_SYMBOL_RATELIMITED, 1.0,
+                                                                                 session->rule->name);
+                       }
+                       else if (rep->v1.value == 503) {
+                               rspamd_task_insert_result(task, RSPAMD_FUZZY_SYMBOL_BLOCKED, 1.0,
                                                                                  session->rule->name);
                        }
                        else if (rep->v1.value == 401) {