commit 61eb14b: [Feature] Fuzzy_check: Allow to disable subject when making short text hash

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Feb 8 16:28:06 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-02-08 16:25:18 +0000
URL: https://github.com/rspamd/rspamd/commit/61eb14bc48944aaec5c3db7ddcd9bb4f35af78c5 (HEAD -> master)

[Feature] Fuzzy_check: Allow to disable subject when making short text hash

---
 src/plugins/fuzzy_check.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/plugins/fuzzy_check.c b/src/plugins/fuzzy_check.c
index 2b4a09880..1315c5374 100644
--- a/src/plugins/fuzzy_check.c
+++ b/src/plugins/fuzzy_check.c
@@ -86,6 +86,7 @@ struct fuzzy_rule {
 	gboolean read_only;
 	gboolean skip_unknown;
 	gboolean no_share;
+	gboolean no_subject;
 	gint learn_condition_cb;
 	struct rspamd_hash_map_helper *skip_map;
 	struct fuzzy_ctx *ctx;
@@ -442,6 +443,10 @@ fuzzy_parse_rule (struct rspamd_config *cfg, const ucl_object_t *obj,
 		rule->no_share = ucl_obj_toboolean (value);
 	}
 
+	if ((value = ucl_object_lookup (obj, "no_subject")) != NULL) {
+		rule->no_subject = ucl_obj_toboolean (value);
+	}
+
 	if ((value = ucl_object_lookup (obj, "algorithm")) != NULL) {
 		rule->algorithm_str = ucl_object_tostring (value);
 
@@ -908,7 +913,7 @@ fuzzy_check_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 			UCL_BOOLEAN,
 			NULL,
 			0,
-			NULL,
+			"true",
 			0);
 	rspamd_rcl_add_doc_by_path (cfg,
 			"fuzzy_check.rule",
@@ -938,6 +943,24 @@ fuzzy_check_module_init (struct rspamd_config *cfg, struct module_ctx **ctx)
 			0,
 			NULL,
 			0);
+	rspamd_rcl_add_doc_by_path (cfg,
+			"fuzzy_check.rule",
+			"Do no use subject to distinguish short text hashes",
+			"no_subject",
+			UCL_BOOLEAN,
+			NULL,
+			0,
+			"false",
+			0);
+	rspamd_rcl_add_doc_by_path (cfg,
+			"fuzzy_check.rule",
+			"Disable sharing message stats with the fuzzy server",
+			"no_share",
+			UCL_BOOLEAN,
+			NULL,
+			0,
+			"false",
+			0);
 
 	return 0;
 }
@@ -1688,7 +1711,7 @@ fuzzy_cmd_from_text_part (struct rspamd_task *task,
 			rspamd_cryptobox_hash_update (&st, part->utf_stripped_content->data,
 					part->utf_stripped_content->len);
 
-			if (MESSAGE_FIELD (task, subject)) {
+			if (!rule->no_subject && (MESSAGE_FIELD (task, subject))) {
 				/* We also include subject */
 				rspamd_cryptobox_hash_update (&st, MESSAGE_FIELD (task, subject),
 						strlen (MESSAGE_FIELD (task, subject)));


More information about the Commits mailing list