Browse Source

[Minor] Few more fixes

tags/3.8.0
Vsevolod Stakhov 6 months ago
parent
commit
15d023291b
No account linked to committer's email address
1 changed files with 25 additions and 4 deletions
  1. 25
    4
      src/libstat/backends/redis_backend.c

+ 25
- 4
src/libstat/backends/redis_backend.c View File

@@ -32,8 +32,6 @@ INIT_LOG_MODULE(stat_redis)

#define REDIS_CTX(p) (struct redis_stat_ctx *) (p)
#define REDIS_RUNTIME(p) (struct redis_stat_runtime *) (p)
#define REDIS_BACKEND_TYPE "redis"
#define REDIS_DEFAULT_PORT 6379
#define REDIS_DEFAULT_OBJECT "%s%l"
#define REDIS_DEFAULT_USERS_OBJECT "%s%l%r"
#define REDIS_DEFAULT_TIMEOUT 0.5
@@ -63,7 +61,7 @@ struct redis_stat_runtime {
struct redis_stat_ctx *ctx;
struct rspamd_task *task;
struct rspamd_statfile_config *stcf;
GArray *results;
GPtrArray *tokens;
gchar *redis_object_expanded;
guint64 learned;
gint id;
@@ -1080,6 +1078,10 @@ rspamd_redis_fin(gpointer data)
if (rt->err) {
g_error_free(rt->err);
}

if (rt->tokens) {
g_ptr_array_unref(rt->tokens);
}
}


@@ -1268,7 +1270,6 @@ rspamd_redis_runtime(struct rspamd_task *task,
struct redis_stat_ctx *ctx = REDIS_CTX(c);
struct redis_stat_runtime *rt;
char *object_expanded = NULL;
rspamd_inet_addr_t *addr;

g_assert(ctx != NULL);
g_assert(stcf != NULL);
@@ -1282,6 +1283,9 @@ rspamd_redis_runtime(struct rspamd_task *task,
return NULL;
}

/* Look for the cached results */


rt = rspamd_mempool_alloc0(task->task_pool, sizeof(*rt));
rt->task = task;
rt->ctx = ctx;
@@ -1356,6 +1360,21 @@ rspamd_redis_classified(lua_State *L)
struct rspamd_task *task = lua_check_task(L, 1);
struct redis_stat_runtime *rt = REDIS_RUNTIME(rspamd_mempool_get_variable(task->task_pool, cookie));
/* TODO: write it */

if (rt == NULL) {
msg_err_task("internal error: cannot find runtime for cookie %s", cookie);

return 0;
}

bool result = lua_toboolean(L, 2);

if (result) {
}
else {
}

return 0;
}

gboolean
@@ -1408,6 +1427,8 @@ rspamd_redis_process_tokens(struct rspamd_task *task,
return FALSE;
}

rt->tokens = g_ptr_array_ref(tokens);

lua_settop(L, err_idx - 1);
return TRUE;
}

Loading…
Cancel
Save