From: Vsevolod Stakhov Date: Sat, 15 Dec 2012 10:41:15 +0000 (+0400) Subject: Fix test build and shlibs depends. X-Git-Tag: 0.5.4~42 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9289af21db35126236c24d73f5c298c532ff6b12;p=rspamd.git Fix test build and shlibs depends. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index e476b4461..5f41f56bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -937,13 +937,6 @@ SET(RSPAMDSRC src/modules.c src/smtp_proxy.c src/worker.c) -SET(TOKENIZERSSRC src/tokenizers/tokenizers.c - src/tokenizers/osb.c) - -SET(CLASSIFIERSSRC src/classifiers/classifiers.c - src/classifiers/bayes.c - src/classifiers/winnow.c) - SET(PLUGINSSRC src/plugins/surbl.c src/plugins/regexp.c src/plugins/chartable.c @@ -990,8 +983,7 @@ CONFIGURE_FILE(conf/rspamd-basic.xml.in conf/rspamd.xml.sample @ONLY) ######################### LINK SECTION ############################### -ADD_EXECUTABLE(rspamd ${RSPAMDSRC} ${CONTRIBSRC} ${TOKENIZERSSRC} - ${CLASSIFIERSSRC} ${PLUGINSSRC}) +ADD_EXECUTABLE(rspamd ${RSPAMDSRC} ${CONTRIBSRC} ${PLUGINSSRC}) SET_TARGET_PROPERTIES(rspamd PROPERTIES LINKER_LANGUAGE C) SET_TARGET_PROPERTIES(rspamd PROPERTIES COMPILE_FLAGS "-DRSPAMD_MAIN") IF(NOT DEBIAN_BUILD) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9c1c36ea2..4f0ede5b8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -57,6 +57,13 @@ SET(LIBRSPAMDMIMESRC ../src/smtp_utils.c ../src/smtp_proto.c ../src/worker_util.c) + +SET(TOKENIZERSSRC ../src/tokenizers/tokenizers.c + ../src/tokenizers/osb.c) + +SET(CLASSIFIERSSRC ../src/classifiers/classifiers.c + ../src/classifiers/bayes.c + ../src/classifiers/winnow.c) # Add targets # Rspamdutil @@ -134,7 +141,7 @@ IF(WITH_SQLITE) LIST(APPEND LIBRSPAMDSERVERSRC ../src/kvstorage_sqlite.c) ENDIF(WITH_SQLITE) -ADD_LIBRARY(rspamd-server ${LINK_TYPE} ${LIBRSPAMDSERVERSRC}) +ADD_LIBRARY(rspamd-server ${LINK_TYPE} ${LIBRSPAMDSERVERSRC} ${TOKENIZERSSRC} ${CLASSIFIERSSRC}) IF(NOT DEBIAN_BUILD) SET_TARGET_PROPERTIES(rspamd-server PROPERTIES VERSION ${RSPAMD_VERSION}) ENDIF(NOT DEBIAN_BUILD) diff --git a/src/cfg_utils.c b/src/cfg_utils.c index 37f28c822..ae0971d6a 100644 --- a/src/cfg_utils.c +++ b/src/cfg_utils.c @@ -578,56 +578,6 @@ substitute_all_variables (gpointer key, gpointer value, gpointer data) (void)substitute_variable (cfg, (gchar *)key, (gchar *)value, 1); } -static void -parse_filters_str (struct config_file *cfg, const gchar *str) -{ - gchar **strvec, **p; - struct filter *cur; - module_t **pmodule; - - if (str == NULL) { - return; - } - - strvec = g_strsplit_set (str, ",", 0); - if (strvec == NULL) { - return; - } - - p = strvec; - while (*p) { - cur = NULL; - /* Search modules from known C modules */ - pmodule = &modules[0]; - while (*pmodule) { - g_strstrip (*p); - if ((*pmodule)->name != NULL && g_ascii_strcasecmp ((*pmodule)->name, *p) == 0) { - cur = memory_pool_alloc (cfg->cfg_pool, sizeof (struct filter)); - cur->type = C_FILTER; - msg_debug ("found C filter %s", *p); - cur->func_name = memory_pool_strdup (cfg->cfg_pool, *p); - cur->module = (*pmodule); - cfg->filters = g_list_prepend (cfg->filters, cur); - - break; - } - pmodule ++; - } - if (cur != NULL) { - /* Go to next iteration */ - p++; - continue; - } - cur = memory_pool_alloc (cfg->cfg_pool, sizeof (struct filter)); - cur->type = PERL_FILTER; - cur->func_name = memory_pool_strdup (cfg->cfg_pool, *p); - cfg->filters = g_list_prepend (cfg->filters, cur); - p++; - } - - g_strfreev (strvec); -} - /* * Place pointers to cfg_file structure to hash cfg_params */ @@ -697,7 +647,6 @@ post_load_config (struct config_file *cfg) g_hash_table_foreach (cfg->variables, substitute_all_variables, cfg); g_hash_table_foreach (cfg->modules_opts, substitute_module_variables, cfg); - parse_filters_str (cfg, cfg->filters_str); fill_cfg_params (cfg); #ifdef HAVE_CLOCK_GETTIME diff --git a/src/lua/CMakeLists.txt b/src/lua/CMakeLists.txt index 10609f782..8d05c65e5 100644 --- a/src/lua/CMakeLists.txt +++ b/src/lua/CMakeLists.txt @@ -19,6 +19,7 @@ SET(LUASRC lua_common.c ADD_LIBRARY(rspamd-lua ${LINK_TYPE} ${LUASRC}) SET_TARGET_PROPERTIES(rspamd-lua PROPERTIES VERSION ${RSPAMD_VERSION}) TARGET_LINK_LIBRARIES(rspamd-lua rspamd-util) +TARGET_LINK_LIBRARIES(rspamd-lua hiredis) IF(ENABLE_LUAJIT MATCHES "ON") TARGET_LINK_LIBRARIES(rspamd-lua "${LUAJIT_LIBRARY}") ELSE(ENABLE_LUAJIT MATCHES "ON") diff --git a/src/main.c b/src/main.c index d28672e83..f85fe7ade 100644 --- a/src/main.c +++ b/src/main.c @@ -300,6 +300,56 @@ config_logger (struct rspamd_main *rspamd, GQuark type, gboolean is_fatal) } } +static void +parse_filters_str (struct config_file *cfg, const gchar *str) +{ + gchar **strvec, **p; + struct filter *cur; + module_t **pmodule; + + if (str == NULL) { + return; + } + + strvec = g_strsplit_set (str, ",", 0); + if (strvec == NULL) { + return; + } + + p = strvec; + while (*p) { + cur = NULL; + /* Search modules from known C modules */ + pmodule = &modules[0]; + while (*pmodule) { + g_strstrip (*p); + if ((*pmodule)->name != NULL && g_ascii_strcasecmp ((*pmodule)->name, *p) == 0) { + cur = memory_pool_alloc (cfg->cfg_pool, sizeof (struct filter)); + cur->type = C_FILTER; + msg_debug ("found C filter %s", *p); + cur->func_name = memory_pool_strdup (cfg->cfg_pool, *p); + cur->module = (*pmodule); + cfg->filters = g_list_prepend (cfg->filters, cur); + + break; + } + pmodule ++; + } + if (cur != NULL) { + /* Go to next iteration */ + p++; + continue; + } + cur = memory_pool_alloc (cfg->cfg_pool, sizeof (struct filter)); + cur->type = PERL_FILTER; + cur->func_name = memory_pool_strdup (cfg->cfg_pool, *p); + cfg->filters = g_list_prepend (cfg->filters, cur); + p++; + } + + g_strfreev (strvec); +} + static void reread_config (struct rspamd_main *rspamd) { @@ -728,6 +778,7 @@ load_rspamd_config (struct config_file *cfg, gboolean init_modules) /* Do post-load actions */ post_load_config (cfg); + parse_filters_str (cfg, cfg->filters_str); if (init_modules) { /* Init C modules */