aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/fuzzy_backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserver/fuzzy_backend')
-rw-r--r--src/libserver/fuzzy_backend/fuzzy_backend.c5
-rw-r--r--src/libserver/fuzzy_backend/fuzzy_backend.h8
-rw-r--r--src/libserver/fuzzy_backend/fuzzy_backend_noop.c5
-rw-r--r--src/libserver/fuzzy_backend/fuzzy_backend_redis.c4
4 files changed, 14 insertions, 8 deletions
diff --git a/src/libserver/fuzzy_backend/fuzzy_backend.c b/src/libserver/fuzzy_backend/fuzzy_backend.c
index bab2895cd..3d5cbb863 100644
--- a/src/libserver/fuzzy_backend/fuzzy_backend.c
+++ b/src/libserver/fuzzy_backend/fuzzy_backend.c
@@ -562,6 +562,11 @@ void rspamd_fuzzy_backend_close(struct rspamd_fuzzy_backend *bk)
g_free(bk);
}
+bool rspamd_fuzzy_backend_is_noop(struct rspamd_fuzzy_backend *bk)
+{
+ return bk->type == RSPAMD_FUZZY_BACKEND_NOOP;
+}
+
struct ev_loop *
rspamd_fuzzy_backend_event_base(struct rspamd_fuzzy_backend *backend)
{
diff --git a/src/libserver/fuzzy_backend/fuzzy_backend.h b/src/libserver/fuzzy_backend/fuzzy_backend.h
index fe22d473e..249c4d1c3 100644
--- a/src/libserver/fuzzy_backend/fuzzy_backend.h
+++ b/src/libserver/fuzzy_backend/fuzzy_backend.h
@@ -1,11 +1,11 @@
-/*-
- * Copyright 2016 Vsevolod Stakhov
+/*
+ * Copyright 2025 Vsevolod Stakhov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -124,6 +124,8 @@ double rspamd_fuzzy_backend_get_expire(struct rspamd_fuzzy_backend *backend);
*/
void rspamd_fuzzy_backend_close(struct rspamd_fuzzy_backend *backend);
+bool rspamd_fuzzy_backend_is_noop(struct rspamd_fuzzy_backend *bk);
+
#ifdef __cplusplus
}
#endif
diff --git a/src/libserver/fuzzy_backend/fuzzy_backend_noop.c b/src/libserver/fuzzy_backend/fuzzy_backend_noop.c
index 451a1921b..024d19882 100644
--- a/src/libserver/fuzzy_backend/fuzzy_backend_noop.c
+++ b/src/libserver/fuzzy_backend/fuzzy_backend_noop.c
@@ -26,7 +26,8 @@ void *rspamd_fuzzy_backend_init_noop(struct rspamd_fuzzy_backend *bk,
struct rspamd_config *cfg,
GError **err)
{
- return NULL;
+ /* Return non-NULL to distinguish from error */
+ return (void *) (uintptr_t) (-1);
}
void rspamd_fuzzy_backend_check_noop(struct rspamd_fuzzy_backend *bk,
@@ -50,7 +51,7 @@ void rspamd_fuzzy_backend_update_noop(struct rspamd_fuzzy_backend *bk,
void *subr_ud)
{
if (cb) {
- cb(FALSE, 0, 0, 0, 0, ud);
+ cb(TRUE, 0, 0, 0, 0, ud);
}
return;
diff --git a/src/libserver/fuzzy_backend/fuzzy_backend_redis.c b/src/libserver/fuzzy_backend/fuzzy_backend_redis.c
index 27c663070..f150d48be 100644
--- a/src/libserver/fuzzy_backend/fuzzy_backend_redis.c
+++ b/src/libserver/fuzzy_backend/fuzzy_backend_redis.c
@@ -116,11 +116,9 @@ rspamd_redis_get_servers(struct rspamd_fuzzy_backend_redis *ctx,
res = *((struct upstream_list **) lua_touserdata(L, -1));
}
else {
- struct lua_logger_trace tr;
char outbuf[8192];
- memset(&tr, 0, sizeof(tr));
- lua_logger_out_type(L, -2, outbuf, sizeof(outbuf) - 1, &tr,
+ lua_logger_out(L, -2, outbuf, sizeof(outbuf),
LUA_ESCAPE_UNPRINTABLE);
msg_err("cannot get %s upstreams for Redis fuzzy storage %s; table content: %s",