summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/composites.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libserver/composites.c b/src/libserver/composites.c
index 2ac820990..f7c31bb20 100644
--- a/src/libserver/composites.c
+++ b/src/libserver/composites.c
@@ -422,11 +422,7 @@ composites_remove_symbols (gpointer key, gpointer value, gpointer data)
}
}
- if (has_valid_op) {
- if (want_remove_symbol || want_forced) {
- rd->ms->flags |= RSPAMD_SYMBOL_RESULT_IGNORED;
- msg_debug_composites ("remove symbol %s", key);
- }
+ if (has_valid_op && !(rd->ms->flags & RSPAMD_SYMBOL_RESULT_IGNORED)) {
if (want_remove_score || want_forced) {
msg_debug_composites ("remove symbol weight for %s (was %.2f)",
@@ -434,6 +430,11 @@ composites_remove_symbols (gpointer key, gpointer value, gpointer data)
cd->metric_res->score -= rd->ms->score;
rd->ms->score = 0.0;
}
+
+ if (want_remove_symbol || want_forced) {
+ rd->ms->flags |= RSPAMD_SYMBOL_RESULT_IGNORED;
+ msg_debug_composites ("remove symbol %s", key);
+ }
}
}