summaryrefslogtreecommitdiffstats
path: root/src/lua/lua_task.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-11-23 18:36:41 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-11-23 18:36:41 +0000
commit3280d0a385cc84c4f2b44a556c26a73291d59820 (patch)
tree7354c0d009e8df9166aa7d379c4ff03fcf1569a0 /src/lua/lua_task.c
parent171031923755ae89ed2672130b3fb3665c5c8796 (diff)
downloadrspamd-3280d0a385cc84c4f2b44a556c26a73291d59820.tar.gz
rspamd-3280d0a385cc84c4f2b44a556c26a73291d59820.zip
Restore multiple classifiers support
Diffstat (limited to 'src/lua/lua_task.c')
-rw-r--r--src/lua/lua_task.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index d9840275f..0e43b7ab5 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -1945,8 +1945,7 @@ lua_task_learn (lua_State *L)
{
struct rspamd_task *task = lua_check_task (L, 1);
gboolean is_spam = FALSE;
- const gchar *clname;
- struct rspamd_classifier_config *cl;
+ const gchar *clname = NULL;
GError *err = NULL;
int ret = 1;
@@ -1954,29 +1953,16 @@ lua_task_learn (lua_State *L)
if (lua_gettop (L) > 2) {
clname = luaL_checkstring (L, 3);
}
- else {
- clname = "bayes";
- }
-
- cl = rspamd_config_find_classifier (task->cfg, clname);
- if (cl == NULL) {
- msg_warn_task ("classifier %s is not found", clname);
+ if (!rspamd_learn_task_spam (task, is_spam, clname, &err)) {
lua_pushboolean (L, FALSE);
- lua_pushstring (L, "classifier not found");
- ret = 2;
+ if (err != NULL) {
+ lua_pushstring (L, err->message);
+ ret = 2;
+ }
}
else {
- if (!rspamd_learn_task_spam (cl, task, is_spam, &err)) {
- lua_pushboolean (L, FALSE);
- if (err != NULL) {
- lua_pushstring (L, err->message);
- ret = 2;
- }
- }
- else {
- lua_pushboolean (L, TRUE);
- }
+ lua_pushboolean (L, TRUE);
}
return ret;