aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-01-26 13:22:59 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-01-26 13:22:59 +0000
commit1503e994ecace47a1cfc48a681744ac57a439a4a (patch)
tree294f5984668d02158aea0db5fdcc0e812b545033 /src/libserver
parent723f7fd52754d49244ddd8373a0fc4b0f3bc44d1 (diff)
downloadrspamd-1503e994ecace47a1cfc48a681744ac57a439a4a.tar.gz
rspamd-1503e994ecace47a1cfc48a681744ac57a439a4a.zip
Implement min and max tokens.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/cfg_file.h2
-rw-r--r--src/libserver/cfg_rcl.c12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index 611f1c371..a0eb149df 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -154,6 +154,8 @@ struct rspamd_classifier_config {
GList *pre_callbacks; /**< list of callbacks that are called before classification */
GList *post_callbacks; /**< list of callbacks that are called after classification */
gchar *name; /**< unique name of classifier */
+ guint32 min_tokens; /**< minimal number of tokens to process classifier */
+ guint32 max_tokens; /**< maximum number of tokens */
};
struct rspamd_worker_bind_conf {
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c
index 60ec7f641..53cd0fb0a 100644
--- a/src/libserver/cfg_rcl.c
+++ b/src/libserver/cfg_rcl.c
@@ -930,7 +930,7 @@ rspamd_rcl_classifier_handler (struct rspamd_config *cfg,
{
const ucl_object_t *val, *cur;
ucl_object_iter_t it = NULL;
- const gchar *key, *type;
+ const gchar *key;
struct rspamd_classifier_config *ccf;
gboolean res = TRUE;
struct rspamd_rcl_section *stat_section;
@@ -1361,6 +1361,16 @@ rspamd_rcl_config_init (void)
rspamd_rcl_parse_struct_string,
G_STRUCT_OFFSET (struct rspamd_classifier_config, tokenizer),
0);
+ rspamd_rcl_add_default_handler (sub,
+ "min_tokens",
+ rspamd_rcl_parse_struct_integer,
+ G_STRUCT_OFFSET (struct rspamd_classifier_config, min_tokens),
+ RSPAMD_CL_FLAG_INT_32);
+ 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);
/*
* Statfile defaults