@@ -23,3 +23,4 @@ classify_headers = [ | |||
]; | |||
control_socket = "$DBDIR/rspamd.sock mode=0600"; | |||
history_rows = 200; |
@@ -48,6 +48,7 @@ symbol). | |||
* `min_word_len`: minimum size in letters (valid for utf8 texts as well) for a sequence of characters to be treated as a word; normally rspamd skips sequences if they are shorter or equal to three symbols. | |||
* `control_socket`: path/bind credits for the control socket | |||
* `classify_headers`: list of headers that are processed by statistics | |||
* `history_rows`: number of rows in the recent history roll table | |||
## DNS options | |||
@@ -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 */ |
@@ -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 |
@@ -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 |
@@ -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 " |