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
######################### 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)
../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
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)
(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
*/
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
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")
}
}
+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)
{
/* Do post-load actions */
post_load_config (cfg);
+ parse_filters_str (cfg, cfg->filters_str);
if (init_modules) {
/* Init C modules */