aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-10 23:51:32 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-10 23:51:32 +0000
commit58944df29957ebeee2fcdcbfd829d198c3ffdf20 (patch)
tree720c0f2909aa9feb5f85dd01249211bdf59b3b00
parentdd1af5b84e7bb401dbe9af004da9f4b49ed97b23 (diff)
downloadrspamd-58944df29957ebeee2fcdcbfd829d198c3ffdf20.tar.gz
rspamd-58944df29957ebeee2fcdcbfd829d198c3ffdf20.zip
Add skeleton of redis cache
-rw-r--r--src/libstat/CMakeLists.txt6
-rw-r--r--src/libstat/learn_cache/redis_cache.c73
2 files changed, 78 insertions, 1 deletions
diff --git a/src/libstat/CMakeLists.txt b/src/libstat/CMakeLists.txt
index 4a1a848bb..11f48bdc0 100644
--- a/src/libstat/CMakeLists.txt
+++ b/src/libstat/CMakeLists.txt
@@ -9,11 +9,15 @@ SET(CLASSIFIERSSRC ${CMAKE_CURRENT_SOURCE_DIR}/classifiers/bayes.c)
SET(BACKENDSSRC ${CMAKE_CURRENT_SOURCE_DIR}/backends/mmaped_file.c
${CMAKE_CURRENT_SOURCE_DIR}/backends/sqlite3_backend.c)
+SET(CACHESSRC ${CMAKE_CURRENT_SOURCE_DIR}/learn_cache/sqlite3_cache.c)
+
IF(ENABLE_HIREDIS MATCHES "ON")
SET(BACKENDSSRC ${BACKENDSSRC}
${CMAKE_CURRENT_SOURCE_DIR}/backends/redis_backend.c)
+ SET(CACHESSRC ${CACHESSRC}
+ ${CMAKE_CURRENT_SOURCE_DIR}/learn_cache/redis_cache.c)
ENDIF(ENABLE_HIREDIS MATCHES "ON")
-SET(CACHESSRC ${CMAKE_CURRENT_SOURCE_DIR}/learn_cache/sqlite3_cache.c)
+
SET(RSPAMD_STAT ${LIBSTATSRC}
${TOKENIZERSSRC}
diff --git a/src/libstat/learn_cache/redis_cache.c b/src/libstat/learn_cache/redis_cache.c
new file mode 100644
index 000000000..de88936be
--- /dev/null
+++ b/src/libstat/learn_cache/redis_cache.c
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016, Vsevolod Stakhov
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY AUTHOR ''AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL AUTHOR BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "learn_cache.h"
+#include "rspamd.h"
+#include "stat_api.h"
+#include "stat_internal.h"
+#include "cryptobox.h"
+#include "ucl.h"
+#include "hiredis/hiredis.h"
+#include "hiredis/adapters/libevent.h"
+
+gpointer
+rspamd_stat_cache_redis_init (struct rspamd_stat_ctx *ctx,
+ struct rspamd_config *cfg,
+ struct rspamd_statfile *st,
+ const ucl_object_t *cf)
+{
+ return NULL;
+}
+
+gpointer
+rspamd_stat_cache_redis_runtime (struct rspamd_task *task,
+ gpointer ctx)
+{
+ return NULL;
+}
+
+gint
+rspamd_stat_cache_redis_check (struct rspamd_task *task,
+ gboolean is_spam,
+ gpointer runtime,
+ gpointer c)
+{
+ return RSPAMD_LEARN_OK;
+}
+
+gint
+rspamd_stat_cache_redis_learn (struct rspamd_task *task,
+ gboolean is_spam,
+ gpointer runtime,
+ gpointer c)
+{
+ return RSPAMD_LEARN_OK;
+}
+
+void
+rspamd_stat_cache_redis_close (gpointer c)
+{
+
+}