commit 16d8e1e: [Feature] Add `thresholds` field to the scan result
Vsevolod Stakhov
vsevolod at rspamd.com
Mon Jan 23 22:00:04 UTC 2023
Author: Vsevolod Stakhov
Date: 2023-01-23 21:52:00 +0000
URL: https://github.com/rspamd/rspamd/commit/16d8e1ef572d5ee720015672b9afb4f168fbb94f
[Feature] Add `thresholds` field to the scan result
---
src/libserver/protocol.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c
index 380d80134..3708d823f 100644
--- a/src/libserver/protocol.c
+++ b/src/libserver/protocol.c
@@ -1213,7 +1213,7 @@ rspamd_scan_result_ucl (struct rspamd_task *task,
if (pr) {
if (pr->message && !(pr->flags & RSPAMD_PASSTHROUGH_NO_SMTP_MESSAGE)) {
- /* Add smtp message if it does not exists: see #3269 for details */
+ /* Add smtp message if it does not exist: see #3269 for details */
if (ucl_object_lookup(task->messages, "smtp_message") == NULL) {
ucl_object_insert_key(task->messages,
ucl_object_fromstring_common(pr->message, 0, UCL_STRING_RAW),
@@ -1268,6 +1268,21 @@ rspamd_scan_result_ucl (struct rspamd_task *task,
/* Now handle symbols */
if (task->cmd != CMD_CHECK) {
+ /* Insert actions thresholds */
+ ucl_object_t *actions_obj = ucl_object_typed_new (UCL_OBJECT);
+
+ for (int i = task->result->nactions - 1; i >= 0; i --) {
+ struct rspamd_action_config *action_lim = &task->result->actions_config[i];
+
+ if (!isnan (action_lim->cur_limit) &&
+ !(action_lim->action->flags & (RSPAMD_ACTION_NO_THRESHOLD|RSPAMD_ACTION_HAM))) {
+ ucl_object_insert_key(actions_obj, ucl_object_fromdouble(action_lim->cur_limit),
+ action_lim->action->name, 0, true);
+ }
+ }
+
+ ucl_object_insert_key(obj, actions_obj, "thresholds", 0, false);
+
/* For checkv2 we insert symbols as a separate object */
obj = ucl_object_typed_new (UCL_OBJECT);
}
More information about the Commits
mailing list