diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-08-19 15:30:24 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-08-19 15:30:24 +0100 |
commit | 94282bc2641d4285964dfbd780c334ba3c67d1e7 (patch) | |
tree | 4499ed71cecbbbe0a906426a90188f02737c8eef /src/libserver/protocol.c | |
parent | 6965bc635343062e237a8921d2cb818d75792b37 (diff) | |
download | rspamd-94282bc2641d4285964dfbd780c334ba3c67d1e7.tar.gz rspamd-94282bc2641d4285964dfbd780c334ba3c67d1e7.zip |
Consider settings actions.
Diffstat (limited to 'src/libserver/protocol.c')
-rw-r--r-- | src/libserver/protocol.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index 38d6452cf..2e9e9c9e7 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -625,18 +625,17 @@ rspamd_metric_result_ucl (struct rspamd_task *task, struct metric *m; gboolean is_spam; enum rspamd_metric_action action = METRIC_ACTION_NOACTION; - ucl_object_t *obj = NULL, *sobj; - gdouble required_score; + ucl_object_t *obj = NULL, *sobj;; gpointer h, v; + double required_score; const gchar *subject; gchar action_char; m = mres->metric; /* XXX: handle settings */ - required_score = m->actions[METRIC_ACTION_REJECT].score; - is_spam = (mres->score >= required_score); - action = check_metric_action (mres->score, required_score, m); + action = check_metric_action (task, mres->score, &required_score, m); + is_spam = (action == METRIC_ACTION_REJECT); if (task->is_skipped) { action_char = 'S'; } @@ -822,9 +821,7 @@ rspamd_protocol_http_reply (struct rspamd_http_message *msg, /* Update stat for default metric */ metric_res = g_hash_table_lookup (task->results, DEFAULT_METRIC); if (metric_res != NULL) { - required_score = - metric_res->metric->actions[METRIC_ACTION_REJECT].score; - action = check_metric_action (metric_res->score, required_score, + action = check_metric_action (task, metric_res->score, &required_score, metric_res->metric); if (action <= METRIC_ACTION_NOACTION) { task->worker->srv->stat->actions_stat[action]++; |