summaryrefslogtreecommitdiffstats
path: root/src/libserver/protocol.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-19 15:30:24 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-19 15:30:24 +0100
commit94282bc2641d4285964dfbd780c334ba3c67d1e7 (patch)
tree4499ed71cecbbbe0a906426a90188f02737c8eef /src/libserver/protocol.c
parent6965bc635343062e237a8921d2cb818d75792b37 (diff)
downloadrspamd-94282bc2641d4285964dfbd780c334ba3c67d1e7.tar.gz
rspamd-94282bc2641d4285964dfbd780c334ba3c67d1e7.zip
Consider settings actions.
Diffstat (limited to 'src/libserver/protocol.c')
-rw-r--r--src/libserver/protocol.c13
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]++;