From: Vsevolod Stakhov Date: Tue, 27 Nov 2018 11:56:28 +0000 (+0000) Subject: [Fix] Treat learning errors as non-fatal X-Git-Tag: 1.8.3~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8c8fd5641a138cdf6e7dd6ee8dae39c4815cbae;p=thirdparty%2Frspamd.git [Fix] Treat learning errors as non-fatal Issue: #2637 --- diff --git a/src/client/rspamdclient.c b/src/client/rspamdclient.c index 490e5c3694..a4a1fb95e3 100644 --- a/src/client/rspamdclient.c +++ b/src/client/rspamdclient.c @@ -124,7 +124,7 @@ rspamd_client_finish_handler (struct rspamd_http_connection *conn, return 0; } else { - if (rspamd_http_message_get_body (msg, NULL) == NULL || msg->code != 200) { + if (rspamd_http_message_get_body (msg, NULL) == NULL || msg->code / 100 != 2) { err = g_error_new (RCLIENT_ERROR, msg->code, "HTTP error: %d, %.*s", msg->code, (gint)msg->status->len, msg->status->str); diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index d601dbee93..d097e12e0b 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -526,7 +526,7 @@ rspamd_stat_classifiers_learn (struct rspamd_stat_ctx *st_ctx, if ((task->flags & RSPAMD_TASK_FLAG_ALREADY_LEARNED) && err != NULL && *err == NULL) { /* Do not learn twice */ - g_set_error (err, rspamd_stat_quark (), 404, "<%s> has been already " + g_set_error (err, rspamd_stat_quark (), 208, "<%s> has been already " "learned as %s, ignore it", task->message_id, spam ? "spam" : "ham"); @@ -635,7 +635,7 @@ rspamd_stat_classifiers_learn (struct rspamd_stat_ctx *st_ctx, if (!learned && err && *err == NULL) { if (too_large) { - g_set_error (err, rspamd_stat_quark (), 400, + g_set_error (err, rspamd_stat_quark (), 204, "<%s> contains more tokens than allowed for %s classifier: " "%d > %d", task->message_id, @@ -644,7 +644,7 @@ rspamd_stat_classifiers_learn (struct rspamd_stat_ctx *st_ctx, cl->cfg->max_tokens); } else if (too_small) { - g_set_error (err, rspamd_stat_quark (), 400, + g_set_error (err, rspamd_stat_quark (), 204, "<%s> contains less tokens than required for %s classifier: " "%d < %d", task->message_id, @@ -653,7 +653,7 @@ rspamd_stat_classifiers_learn (struct rspamd_stat_ctx *st_ctx, cl->cfg->min_tokens); } else if (conditionally_skipped) { - g_set_error (err, rspamd_stat_quark (), 410, + g_set_error (err, rspamd_stat_quark (), 204, "<%s> is skipped for %s classifier: " "%s", task->message_id,