From: Vsevolod Stakhov Date: Mon, 23 Feb 2015 12:46:08 +0000 (+0000) Subject: Configurable min_word_len. X-Git-Tag: 0.9.0~640 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6afff053762ad4fb377ec651da8a3cec04076313;p=thirdparty%2Frspamd.git Configurable min_word_len. --- diff --git a/src/libmime/message.c b/src/libmime/message.c index 2f96447bf2..bcdb86259f 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -1271,7 +1271,7 @@ process_text_part (struct rspamd_task *task, /* Post process part */ detect_text_language (text_part); text_part->words = rspamd_tokenize_text (text_part->content->data, - text_part->content->len, text_part->is_utf, 4, + text_part->content->len, text_part->is_utf, task->cfg->min_word_len, &text_part->urls_offset); } diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h index 3b6191306a..8af3c542fb 100644 --- a/src/libserver/cfg_file.h +++ b/src/libserver/cfg_file.h @@ -289,6 +289,8 @@ struct rspamd_config { guint upstream_max_errors; /**< upstream max errors before shutting off */ gdouble upstream_error_time; /**< rate of upstream errors */ gdouble upstream_revive_time; /**< revive timeout for upstreams */ + + guint32 min_word_len; /**< minimum length of the word to be considered */ }; diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 0ba9423a1d..5ffd07cedc 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1300,6 +1300,11 @@ rspamd_rcl_config_init (void) rspamd_rcl_parse_struct_boolean, G_STRUCT_OFFSET (struct rspamd_config, check_all_filters), 0); + 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_INT_32); /** * Metric section diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c index b34873a2cc..234f639d45 100644 --- a/src/libserver/cfg_utils.c +++ b/src/libserver/cfg_utils.c @@ -40,6 +40,7 @@ #define DEFAULT_RLIMIT_NOFILE 2048 #define DEFAULT_RLIMIT_MAXCORE 0 #define DEFAULT_MAP_TIMEOUT 10 +#define DEFAULT_MIN_WORD 4 struct rspamd_ucl_map_cbdata { struct rspamd_config *cfg; @@ -165,6 +166,8 @@ rspamd_config_defaults (struct rspamd_config *cfg) cfg->log_level = G_LOG_LEVEL_WARNING; cfg->log_extended = TRUE; + + cfg->min_word_len = DEFAULT_MIN_WORD; } void