summaryrefslogtreecommitdiffstats
path: root/src/libserver/cfg_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserver/cfg_file.h')
-rw-r--r--src/libserver/cfg_file.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index 98faf99f8..3e611b323 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -71,21 +71,25 @@ enum lua_var_type {
};
/**
- * Symbol definition
+ * Symbols group
*/
-struct rspamd_symbol_def {
+struct rspamd_symbol_def;
+struct rspamd_symbols_group {
gchar *name;
- gchar *description;
- gdouble *weight_ptr;
- gboolean one_shot;
+ struct rspamd_symbol_def *symbols;
+ gdouble max_score;
};
/**
- * Symbols group
+ * Symbol definition
*/
-struct rspamd_symbols_group {
+struct rspamd_symbol_def {
gchar *name;
- GList *symbols;
+ gchar *description;
+ gdouble *weight_ptr;
+ struct rspamd_symbols_group *gr;
+ gboolean one_shot;
+ struct rspamd_symbol_def *next;
};
@@ -208,7 +212,7 @@ struct rspamd_config {
gchar *filters_str; /**< string of filters */
ucl_object_t *rcl_obj; /**< rcl object */
GHashTable * metrics; /**< hash of metrics indexed by metric name */
- GList * symbols_groups; /**< groups of symbols */
+ GHashTable * symbols_groups; /**< groups of symbols */
GList * metrics_list; /**< linked list of metrics */
GHashTable * metrics_symbols; /**< hash table of metrics indexed by symbol */
GHashTable * c_modules; /**< hash of c modules indexed by module name */