]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix storing of the bayes tokens
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 22 Jan 2024 14:18:34 +0000 (14:18 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 22 Jan 2024 14:42:05 +0000 (14:42 +0000)
lualib/redis_scripts/bayes_learn.lua
src/libstat/backends/redis_backend.cxx

index bf27753493d06aebd558d1bf5ccb6970356a3517..80d86d8036a4a1e40be04800ed96dc8074d65b4d 100644 (file)
@@ -38,7 +38,7 @@ for i, token in ipairs(input_tokens) do
         redis.call('HSET', token, 'tokens', tok1)
       end
 
-      redis.call('ZINCRBY', prefix .. '_z', token, is_unlearn and -1 or 1)
+      redis.call('ZINCRBY', prefix .. '_z', is_unlearn and -1 or 1, token)
     end
   end
 end
\ No newline at end of file
index 375fa6c9b0388bc5b532f5f200f59998a910f814..4d94293608656cb7ca9640fce614da1ecf1cfff1 100644 (file)
@@ -1017,11 +1017,6 @@ rspamd_redis_learn_tokens(struct rspamd_task *task,
        }
        lua_new_text(L, tokens_buf, tokens_len, false);
 
-       if (text_tokens_len) {
-               nargs = 9;
-               lua_new_text(L, text_tokens_buf, text_tokens_len, false);
-       }
-
        /* Store rt in random cookie */
        char *cookie = (char *) rspamd_mempool_alloc(task->task_pool, 16);
        rspamd_random_hex(cookie, 16);
@@ -1031,6 +1026,11 @@ rspamd_redis_learn_tokens(struct rspamd_task *task,
        lua_pushstring(L, cookie);
        lua_pushcclosure(L, &rspamd_redis_learned, 1);
 
+       if (text_tokens_len) {
+               nargs = 9;
+               lua_new_text(L, text_tokens_buf, text_tokens_len, false);
+       }
+
        if (lua_pcall(L, nargs, 0, err_idx) != 0) {
                msg_err_task("call to script failed: %s", lua_tostring(L, -1));
                lua_settop(L, err_idx - 1);