summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/cfg_rcl.c159
-rw-r--r--src/rspamadm/confighelp.c1
2 files changed, 81 insertions, 79 deletions
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c
index 48db0300c..d77d7b1e4 100644
--- a/src/libserver/cfg_rcl.c
+++ b/src/libserver/cfg_rcl.c
@@ -1319,67 +1319,69 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, log_buf_size),
0,
- NULL);
+ "Size of log buffer in bytes (for file logging)");
rspamd_rcl_add_default_handler (sub,
"log_urls",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_urls),
0,
- NULL);
+ "Write each URL found in a message to the log file");
rspamd_rcl_add_default_handler (sub,
"log_re_cache",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_re_cache),
0,
- NULL);
+ "Write statistics of regexp processing to log (useful for hyperscan)");
rspamd_rcl_add_default_handler (sub,
"debug_ip",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, debug_ip_map),
0,
- NULL);
+ "Enable debugging log for the specified IP addresses");
rspamd_rcl_add_default_handler (sub,
"debug_symbols",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, debug_symbols),
0,
- NULL);
+ "Enable debug for the specified symbols");
rspamd_rcl_add_default_handler (sub,
"log_color",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_color),
0,
- NULL);
+ "Enable colored output (for console logging)");
rspamd_rcl_add_default_handler (sub,
"color",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_color),
0,
- NULL);
+ "Enable colored output (for console logging)");
rspamd_rcl_add_default_handler (sub,
"log_systemd",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_systemd),
0,
- NULL);
+ "Enable systemd compatible logging");
rspamd_rcl_add_default_handler (sub,
"systemd",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, log_systemd),
0,
- NULL);
+ "Enable systemd compatible logging");
rspamd_rcl_add_default_handler (sub,
"debug_modules",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, debug_modules),
RSPAMD_CL_FLAG_STRING_LIST_HASH,
- NULL);
+ "Enable debugging for the specified modules");
rspamd_rcl_add_default_handler (sub,
"log_format",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, log_format_str),
0,
- NULL);
+ "Specify format string for the task logging output "
+ "(https://rspamd.com/doc/configuration/logging.html "
+ "for details)");
/**
* Options section
*/
@@ -1396,213 +1398,212 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, cache_filename),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to the cache file");
/* Old DNS configuration */
rspamd_rcl_add_default_handler (sub,
"dns_nameserver",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, nameservers),
0,
- NULL);
+ "Legacy option for DNS servers used");
rspamd_rcl_add_default_handler (sub,
"dns_timeout",
rspamd_rcl_parse_struct_time,
G_STRUCT_OFFSET (struct rspamd_config, dns_timeout),
RSPAMD_CL_FLAG_TIME_FLOAT,
- NULL);
+ "Legacy option for DNS request timeout");
rspamd_rcl_add_default_handler (sub,
"dns_retransmits",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_retransmits),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Legacy option for DNS retransmits count");
rspamd_rcl_add_default_handler (sub,
"dns_sockets",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_io_per_server),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Legacy option for DNS sockets per server count");
rspamd_rcl_add_default_handler (sub,
"dns_max_requests",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_max_requests),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Legacy option for DNS maximum requests per task count");
rspamd_rcl_add_default_handler (sub,
"classify_headers",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, classify_headers),
0,
- NULL);
+ "List of headers used for classifiers");
rspamd_rcl_add_default_handler (sub,
"control_socket",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, control_socket_path),
0,
- NULL);
+ "Path to the control socket");
rspamd_rcl_add_default_handler (sub,
"explicit_modules",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, explicit_modules),
RSPAMD_CL_FLAG_STRING_LIST_HASH,
- NULL);
+ "Always load these modules even if they are not configured explicitly");
rspamd_rcl_add_default_handler (sub,
"allow_raw_input",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, allow_raw_input),
0,
- NULL);
+ "Allow non MIME input for rspamd");
rspamd_rcl_add_default_handler (sub,
"raw_mode",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, raw_mode),
0,
- NULL);
+ "Don't try to convert all messages to utf8");
rspamd_rcl_add_default_handler (sub,
"one_shot",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, one_shot_mode),
0,
- NULL);
+ "Add all symbols only once per message");
rspamd_rcl_add_default_handler (sub,
"check_attachements",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, check_text_attachements),
0,
- NULL);
+ "Treat text attachements as normal text parts");
rspamd_rcl_add_default_handler (sub,
"tempdir",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, temp_dir),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Directory for temporary files");
rspamd_rcl_add_default_handler (sub,
"pidfile",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, pid_file),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to the pid file");
rspamd_rcl_add_default_handler (sub,
"filters",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, filters),
0,
- NULL);
+ "List of internal filters enabled");
rspamd_rcl_add_default_handler (sub,
"max_diff",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, max_diff),
RSPAMD_CL_FLAG_INT_SIZE,
- NULL);
+ "Legacy option, do not use");
rspamd_rcl_add_default_handler (sub,
"map_watch_interval",
rspamd_rcl_parse_struct_time,
G_STRUCT_OFFSET (struct rspamd_config, map_timeout),
RSPAMD_CL_FLAG_TIME_FLOAT,
- NULL);
+ "Interval for checking maps");
rspamd_rcl_add_default_handler (sub,
"dynamic_conf",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, dynamic_conf),
0,
- NULL);
+ "Path to the dynamic configuration");
rspamd_rcl_add_default_handler (sub,
"rrd",
rspamd_rcl_parse_struct_string,
- G_STRUCT_OFFSET (struct rspamd_config,
- rrd_file),
+ G_STRUCT_OFFSET (struct rspamd_config, rrd_file),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to RRD file");
rspamd_rcl_add_default_handler (sub,
"history_file",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, history_file),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to history file");
rspamd_rcl_add_default_handler (sub,
"use_mlock",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, mlock_statfile_pool),
0,
- NULL);
+ "Use mlock call for statistics to ensure that all files are in RAM");
rspamd_rcl_add_default_handler (sub,
"strict_protocol_headers",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, strict_protocol_headers),
0,
- NULL);
+ "Emit errors if there are unknown HTTP headers in a request");
rspamd_rcl_add_default_handler (sub,
"check_all_filters",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, check_all_filters),
0,
- NULL);
+ "Always check all filters");
rspamd_rcl_add_default_handler (sub,
"all_filters",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, check_all_filters),
0,
- NULL);
+ "Always check all filters");
rspamd_rcl_add_default_handler (sub,
"min_word_len",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, min_word_len),
RSPAMD_CL_FLAG_UINT,
- NULL);
+ "Minimum length of the word to be considered in statistics/fuzzy");
rspamd_rcl_add_default_handler (sub,
"max_word_len",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, max_word_len),
RSPAMD_CL_FLAG_UINT,
- NULL);
+ "Maximum length of the word to be considered in statistics/fuzzy");
rspamd_rcl_add_default_handler (sub,
"words_decay",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, words_decay),
RSPAMD_CL_FLAG_UINT,
- NULL);
+ "Start skipping words at this amount");
rspamd_rcl_add_default_handler (sub,
"url_tld",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, tld_file),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to the TLD file for urls detector");
rspamd_rcl_add_default_handler (sub,
"tld",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_config, tld_file),
RSPAMD_CL_FLAG_STRING_PATH,
- NULL);
+ "Path to the TLD file for urls detector");
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,
- NULL);
+ "Number of records in the history file");
rspamd_rcl_add_default_handler (sub,
"disable_hyperscan",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_config, disable_hyperscan),
0,
- NULL);
+ "Disable hyperscan optimizations for regular expressions");
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,
- NULL);
+ "Path to the directory where rspamd core files are intended to be dumped");
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,
- NULL);
+ "Limit of joint size of all files in `cores_dir`");
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,
- NULL);
+ "Limit of files count in `cores_dir`");
/* New DNS configuration */
ssub = rspamd_rcl_add_section_doc (&sub->subsections, "dns", NULL, NULL,
@@ -1614,37 +1615,37 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, nameservers),
0,
- NULL);
+ "List of DNS servers");
rspamd_rcl_add_default_handler (ssub,
"server",
rspamd_rcl_parse_struct_string_list,
G_STRUCT_OFFSET (struct rspamd_config, nameservers),
0,
- NULL);
+ "List of DNS servers");
rspamd_rcl_add_default_handler (ssub,
"timeout",
rspamd_rcl_parse_struct_time,
G_STRUCT_OFFSET (struct rspamd_config, dns_timeout),
RSPAMD_CL_FLAG_TIME_FLOAT,
- NULL);
+ "DNS request timeout");
rspamd_rcl_add_default_handler (ssub,
"retransmits",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_retransmits),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "DNS request retransmits");
rspamd_rcl_add_default_handler (ssub,
"sockets",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_io_per_server),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Number of sockets per DNS server");
rspamd_rcl_add_default_handler (ssub,
"connections",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, dns_io_per_server),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Number of sockets per DNS server");
/* New upstreams configuration */
@@ -1657,19 +1658,19 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_config, upstream_max_errors),
RSPAMD_CL_FLAG_UINT,
- NULL);
+ "Maximum number of errors during `error_time` to consider upstream down");
rspamd_rcl_add_default_handler (ssub,
"error_time",
rspamd_rcl_parse_struct_time,
G_STRUCT_OFFSET (struct rspamd_config, upstream_error_time),
RSPAMD_CL_FLAG_TIME_FLOAT,
- NULL);
+ "Time frame to check errors");
rspamd_rcl_add_default_handler (ssub,
"revive_time",
rspamd_rcl_parse_struct_time,
G_STRUCT_OFFSET (struct rspamd_config, upstream_revive_time),
RSPAMD_CL_FLAG_TIME_FLOAT,
- NULL);
+ "Time before attempting to recover upstream after an error");
/**
* Metric section
@@ -1688,19 +1689,21 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct metric, unknown_weight),
0,
- NULL);
+ "Accept unknown symbols with the specified weight");
rspamd_rcl_add_default_handler (sub,
"grow_factor",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct metric, grow_factor),
0,
- NULL);
+ "Multiply the subsequent symbols by this number "
+ "(does not affect symbols with score less or "
+ "equal to zero)");
rspamd_rcl_add_default_handler (sub,
"subject",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct metric, subject),
0,
- NULL);
+ "Rewrite subject with this value");
/* Ungrouped symbols */
ssub = rspamd_rcl_add_section_doc (&sub->subsections,
@@ -1716,19 +1719,19 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_symbol_def, description),
0,
- NULL);
+ "Symbol's description");
rspamd_rcl_add_default_handler (ssub,
"score",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct rspamd_symbol_def, score),
0,
- NULL);
+ "Symbol's score");
rspamd_rcl_add_default_handler (ssub,
"weight",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct rspamd_symbol_def, score),
0,
- NULL);
+ "Symbol's score");
/* Actions part */
ssub = rspamd_rcl_add_section_doc (&sub->subsections,
@@ -1754,19 +1757,19 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_symbols_group, disabled),
0,
- NULL);
+ "Disable symbols group");
rspamd_rcl_add_default_handler (ssub,
"enabled",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_symbols_group, disabled),
RSPAMD_CL_FLAG_BOOLEAN_INVERSE,
- NULL);
+ "Enable or disable symbols group");
rspamd_rcl_add_default_handler (ssub,
"max_score",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct rspamd_symbols_group, max_score),
0,
- NULL);
+ "Maximum score that could be reached by this symbols group");
/* Grouped symbols */
sssub = rspamd_rcl_add_section_doc (&ssub->subsections,
@@ -1782,19 +1785,19 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_symbol_def, description),
0,
- NULL);
+ "Description of a symbol");
rspamd_rcl_add_default_handler (sssub,
"score",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct rspamd_symbol_def, score),
0,
- NULL);
+ "Symbol's score");
rspamd_rcl_add_default_handler (sssub,
"weight",
rspamd_rcl_parse_struct_double,
G_STRUCT_OFFSET (struct rspamd_symbol_def, score),
0,
- NULL);
+ "Symbol's score");
/**
* Worker section
@@ -1812,19 +1815,19 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_worker_conf, count),
RSPAMD_CL_FLAG_INT_16,
- NULL);
+ "Number of workers to spawn");
rspamd_rcl_add_default_handler (sub,
"max_files",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_worker_conf, rlimit_nofile),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Maximum number of opened files per worker");
rspamd_rcl_add_default_handler (sub,
"max_core",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_worker_conf, rlimit_maxcore),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Max size of core file in bytes");
/**
* Modules handler
@@ -1857,25 +1860,25 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_classifier_config, min_tokens),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Minumum count of tokens (words) to be considered for statistics");
rspamd_rcl_add_default_handler (sub,
"max_tokens",
rspamd_rcl_parse_struct_integer,
G_STRUCT_OFFSET (struct rspamd_classifier_config, max_tokens),
RSPAMD_CL_FLAG_INT_32,
- NULL);
+ "Maximum count of tokens (words) to be considered for statistics");
rspamd_rcl_add_default_handler (sub,
"backend",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_classifier_config, backend),
0,
- NULL);
+ "Statfiles engine");
rspamd_rcl_add_default_handler (sub,
"name",
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_classifier_config, name),
0,
- NULL);
+ "Name of classifier");
/*
* Statfile defaults
@@ -1893,13 +1896,13 @@ rspamd_rcl_config_init (struct rspamd_config *cfg)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_statfile_config, label),
0,
- NULL);
+ "Statfile unique label");
rspamd_rcl_add_default_handler (ssub,
"spam",
rspamd_rcl_parse_struct_boolean,
G_STRUCT_OFFSET (struct rspamd_statfile_config, is_spam),
0,
- NULL);
+ "Sets if this statfile contains spam samples");
/**
* Composites handler
diff --git a/src/rspamadm/confighelp.c b/src/rspamadm/confighelp.c
index f19f7c92c..6a0492f1b 100644
--- a/src/rspamadm/confighelp.c
+++ b/src/rspamadm/confighelp.c
@@ -29,7 +29,6 @@
#include "rspamd.h"
#include "lua/lua_common.h"
-static gchar *config = NULL;
static gboolean json = FALSE;
static gboolean compact = FALSE;
extern struct rspamd_main *rspamd_main;