From: Vsevolod Stakhov Date: Sat, 27 Sep 2025 14:02:06 +0000 (+0100) Subject: [Fix] Reset autolearn flag when doing manual learn X-Git-Tag: 3.13.1~9^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3eb09cc7f6db96212ed1176661fce2e3f465ba61;p=thirdparty%2Frspamd.git [Fix] Reset autolearn flag when doing manual learn --- diff --git a/src/controller.c b/src/controller.c index 6e0e4cac1e..31d8bd9004 100644 --- a/src/controller.c +++ b/src/controller.c @@ -2147,6 +2147,8 @@ rspamd_controller_handle_learn_common( session->ctx->lang_det, ctx->event_loop, FALSE); task->resolver = ctx->resolver; + /* Manual learn: ensure errors are propagated (not auto-learn semantics) */ + task->flags &= ~RSPAMD_TASK_FLAG_LEARN_AUTO; task->s = rspamd_session_create(session->pool, rspamd_controller_learn_fin_task, NULL, @@ -2260,6 +2262,8 @@ rspamd_controller_handle_learnclass( session->ctx->lang_det, ctx->event_loop, FALSE); task->resolver = ctx->resolver; + /* Manual learn: ensure errors are propagated (not auto-learn semantics) */ + task->flags &= ~RSPAMD_TASK_FLAG_LEARN_AUTO; task->s = rspamd_session_create(session->pool, rspamd_controller_learn_fin_task, NULL, diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index 8be8ce5d65..ffd0fa11af 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -1283,7 +1283,7 @@ rspamd_stat_learn_class(struct rspamd_task *task, rspamd_stat_preprocess(st_ctx, task, TRUE, spam); if (!rspamd_stat_cache_check(st_ctx, task, classifier, spam, err)) { - msg_debug_bayes("cache check failed, skip learning"); + msg_debug_bayes("pre-learn checks failed, skip learning"); return RSPAMD_STAT_PROCESS_ERROR; } } @@ -1369,7 +1369,7 @@ rspamd_stat_learn(struct rspamd_task *task, rspamd_stat_preprocess(st_ctx, task, TRUE, spam); if (!rspamd_stat_cache_check(st_ctx, task, classifier, spam, err)) { - msg_debug_bayes("cache check failed, skip learning"); + msg_debug_bayes("pre-learn checks failed, skip learning"); return RSPAMD_STAT_PROCESS_ERROR; } }