summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-24 23:02:59 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-24 23:02:59 +0100
commitf163ec3b4f55cb0e7c5384ee1bd27561b3e8820e (patch)
tree3b99cd50d0bd11b7eee0aae3740fe4c44d11e889 /src
parentefb6bd2dea636280bf95b466ce099c9bd848466c (diff)
downloadrspamd-f163ec3b4f55cb0e7c5384ee1bd27561b3e8820e.tar.gz
rspamd-f163ec3b4f55cb0e7c5384ee1bd27561b3e8820e.zip
Finish history format rework.
Diffstat (limited to 'src')
-rw-r--r--src/libserver/cfg_file.h1
-rw-r--r--src/libserver/cfg_rcl.c5
-rw-r--r--src/libserver/cfg_utils.c1
-rw-r--r--src/rspamd.c6
4 files changed, 11 insertions, 2 deletions
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index 44b91505d..1fc5aee28 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -271,6 +271,7 @@ struct rspamd_config {
gdouble upstream_revive_time; /**< revive timeout for upstreams */
guint32 min_word_len; /**< minimum length of the word to be considered */
+ guint history_rows; /**< number of history rows stored */
GList *classify_headers; /**< list of headers using for statistics */
struct module_s **compiled_modules; /**< list of compiled C modules */
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c
index 596fff74a..7180d8d70 100644
--- a/src/libserver/cfg_rcl.c
+++ b/src/libserver/cfg_rcl.c
@@ -1447,6 +1447,11 @@ rspamd_rcl_config_init (void)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, tld_file),
RSPAMD_CL_FLAG_STRING_PATH);
+ rspamd_rcl_add_default_handler (sub,
+ "history_rows",
+ rspamd_rcl_parse_struct_integer,
+ G_STRUCT_OFFSET (struct rspamd_config, history_rows),
+ RSPAMD_CL_FLAG_UINT);
/**
* Metric section
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index 5e3bf1561..3af15ab1d 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -175,6 +175,7 @@ rspamd_config_defaults (struct rspamd_config *cfg)
cfg->min_word_len = DEFAULT_MIN_WORD;
cfg->dns_max_requests = 64;
+ cfg->history_rows = 200;
}
void
diff --git a/src/rspamd.c b/src/rspamd.c
index 3609a3c5c..31d6dad78 100644
--- a/src/rspamd.c
+++ b/src/rspamd.c
@@ -816,8 +816,6 @@ main (gint argc, gchar **argv, gchar **env)
"main");
rspamd_main->stat = rspamd_mempool_alloc0_shared (rspamd_main->server_pool,
sizeof (struct rspamd_stat));
- /* Create rolling history */
- rspamd_main->history = rspamd_roll_history_new (rspamd_main->server_pool);
rspamd_main->cfg =
(struct rspamd_config *) g_malloc0 (sizeof (struct rspamd_config));
@@ -950,6 +948,10 @@ main (gint argc, gchar **argv, gchar **env)
rspamd_main->cfg->log_level = G_LOG_LEVEL_DEBUG;
}
+ /* Create rolling history */
+ rspamd_main->history = rspamd_roll_history_new (rspamd_main->server_pool,
+ rspamd_main->cfg->history_rows);
+
gperf_profiler_init (rspamd_main->cfg, "main");
msg_info_main ("rspamd "