]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add `encryption_required` symbol
authorVsevolod Stakhov <vsevolod@rspamd.com>
Thu, 5 Sep 2024 12:42:08 +0000 (13:42 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Thu, 5 Sep 2024 12:42:08 +0000 (13:42 +0100)
src/plugins/fuzzy_check.c

index dd2347f19e034d2f1829f30389a8a0794530deae..6ca6f34591702a2b6f24b41fd8fa506e4c4c0144 100644 (file)
@@ -51,6 +51,7 @@
 #define DEFAULT_SYMBOL "R_FUZZY_HASH"
 #define RSPAMD_FUZZY_SYMBOL_FORBIDDEN "FUZZY_FORBIDDEN"
 #define RSPAMD_FUZZY_SYMBOL_RATELIMITED "FUZZY_RATELIMITED"
+#define RSPAMD_FUZZY_SYMBOL_ENCRYPTION_REQUIRED "FUZZY_ENCRYPTION_REQUIRED"
 
 #define DEFAULT_IO_TIMEOUT 1.0
 #define DEFAULT_RETRANSMITS 3
@@ -1180,6 +1181,18 @@ int fuzzy_check_module_config(struct rspamd_config *cfg, bool validate)
                                                                 0,
                                                                 1,
                                                                 1);
+               rspamd_symcache_add_symbol(cfg->cache,
+                                                                  RSPAMD_FUZZY_SYMBOL_ENCRYPTION_REQUIRED, 0, NULL, NULL,
+                                                                  SYMBOL_TYPE_VIRTUAL,
+                                                                  cb_id);
+               rspamd_config_add_symbol(cfg,
+                                                                RSPAMD_FUZZY_SYMBOL_ENCRYPTION_REQUIRED,
+                                                                0.0,
+                                                                "Fuzzy encryption is required by a server",
+                                                                "fuzzy",
+                                                                0,
+                                                                1,
+                                                                1);
 
                /*
                 * Here we can have 2 possibilities:
@@ -2514,6 +2527,7 @@ fuzzy_check_try_read(struct fuzzy_client_session *session)
                                }
                        }
                        else if (rep->v1.value == 403) {
+                               /* In fact, it should be 429, but we preserve compatibility */
                                rspamd_task_insert_result(task, RSPAMD_FUZZY_SYMBOL_RATELIMITED, 1.0,
                                                                                  session->rule->name);
                        }
@@ -2521,6 +2535,10 @@ fuzzy_check_try_read(struct fuzzy_client_session *session)
                                rspamd_task_insert_result(task, RSPAMD_FUZZY_SYMBOL_FORBIDDEN, 1.0,
                                                                                  session->rule->name);
                        }
+                       else if (rep->v1.value == 415) {
+                               rspamd_task_insert_result(task, RSPAMD_FUZZY_SYMBOL_ENCRYPTION_REQUIRED, 1.0,
+                                                                                 session->rule->name);
+                       }
                        else if (rep->v1.value == 401) {
                                if (cmd->cmd != FUZZY_CHECK) {
                                        msg_info_task(