diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-12-11 16:48:52 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-12-11 16:48:52 +0000 |
commit | c441c82c28b4e80d9380151fd894cb3b9a530e11 (patch) | |
tree | 4642b27a5300be73b91a3d99871c31734406d4bd | |
parent | c81b768ae551c035afc4cec0295a6c1551342452 (diff) | |
download | rspamd-c441c82c28b4e80d9380151fd894cb3b9a530e11.tar.gz rspamd-c441c82c28b4e80d9380151fd894cb3b9a530e11.zip |
Add options to limit cores for rspamd
-rw-r--r-- | doc/markdown/configuration/options.md | 6 | ||||
-rw-r--r-- | src/libserver/cfg_file.h | 3 | ||||
-rw-r--r-- | src/libserver/cfg_rcl.c | 15 |
3 files changed, 23 insertions, 1 deletions
diff --git a/doc/markdown/configuration/options.md b/doc/markdown/configuration/options.md index 661b5ad6e..fa7b24fec 100644 --- a/doc/markdown/configuration/options.md +++ b/doc/markdown/configuration/options.md @@ -50,6 +50,10 @@ symbol). * `classify_headers`: list of headers that are processed by statistics * `history_rows`: number of rows in the recent history roll table * `explicit_modules`: always load modules from the list even if they have no according configuration section in the file +* `disable_hyperscan`: disable hyperscan optimizations (if enabled by compilation time) +* `cores_dir`: directory where rspamd is intended to drop core files +* `max_cores_size`: maximum total size of core files that are placed in `cores_dir` +* `max_cores_count`: maximum number of files in `cores_dir` ## DNS options @@ -75,4 +79,4 @@ options { ## Upstream options -**TODO**
\ No newline at end of file +**TODO** diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h index 3c2b14da0..d145eaad4 100644 --- a/src/libserver/cfg_file.h +++ b/src/libserver/cfg_file.h @@ -234,6 +234,9 @@ struct rspamd_config { gboolean disable_hyperscan; /**< disable hyperscan usage */ gsize max_diff; /**< maximum diff size for text parts */ + gsize max_cores_size; /**< maximum size occupied by rspamd core files */ + gsize max_cores_count; /**< maximum number of core files */ + gchar *cores_dir; /**< directory for core files */ enum rspamd_log_type log_type; /**< log type */ gint log_facility; /**< log facility in case of syslog */ diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 751fa6964..f7a9a7be4 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1470,6 +1470,21 @@ rspamd_rcl_config_init (void) rspamd_rcl_parse_struct_boolean, G_STRUCT_OFFSET (struct rspamd_config, disable_hyperscan), 0); + rspamd_rcl_add_default_handler (sub, + "cores_dir", + rspamd_rcl_parse_struct_string, + G_STRUCT_OFFSET (struct rspamd_config, cores_dir), + RSPAMD_CL_FLAG_STRING_PATH); + rspamd_rcl_add_default_handler (sub, + "max_cores_size", + rspamd_rcl_parse_struct_integer, + G_STRUCT_OFFSET (struct rspamd_config, max_cores_size), + RSPAMD_CL_FLAG_INT_SIZE); + rspamd_rcl_add_default_handler (sub, + "max_cores_count", + rspamd_rcl_parse_struct_integer, + G_STRUCT_OFFSET (struct rspamd_config, max_cores_count), + RSPAMD_CL_FLAG_INT_SIZE); /* New DNS configuration */ ssub = rspamd_rcl_add_section (&sub->subsections, "dns", NULL, NULL, |