aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-01 17:35:47 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-01 17:35:47 +0100
commit6f8fa405cf5d394491b987d824f5e1b74c14a4c8 (patch)
tree461a516b628265e9e4767f890f13766218535b41 /src/libutil
parentebdf58dc0aed1014374dc56c0b28fe76f3b0c0b1 (diff)
downloadrspamd-6f8fa405cf5d394491b987d824f5e1b74c14a4c8.tar.gz
rspamd-6f8fa405cf5d394491b987d824f5e1b74c14a4c8.zip
Rework parsing of ip lists.
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/logger.c2
-rw-r--r--src/libutil/radix.c10
-rw-r--r--src/libutil/radix.h7
3 files changed, 18 insertions, 1 deletions
diff --git a/src/libutil/logger.c b/src/libutil/logger.c
index 5db081b61..f25c1fe75 100644
--- a/src/libutil/logger.c
+++ b/src/libutil/logger.c
@@ -342,7 +342,7 @@ rspamd_set_logger (struct rspamd_config *cfg,
"IP addresses for which debug logs are enabled",
read_radix_list, fin_radix_list,
(void **)&rspamd->logger->debug_ip)) {
- rspamd_config_parse_ip_list (rspamd->cfg->debug_ip_map,
+ radix_add_generic_iplist (rspamd->cfg->debug_ip_map,
&rspamd->logger->debug_ip);
}
}
diff --git a/src/libutil/radix.c b/src/libutil/radix.c
index c8aaaf946..c58125003 100644
--- a/src/libutil/radix.c
+++ b/src/libutil/radix.c
@@ -962,6 +962,16 @@ rspamd_radix_add_iplist (const gchar *list, const gchar *separators,
return res;
}
+gboolean
+radix_add_generic_iplist (const gchar *ip_list, radix_compressed_t **tree)
+{
+ if (*tree == NULL) {
+ *tree = radix_create_compressed ();
+ }
+
+ return (rspamd_radix_add_iplist (ip_list, ",; ", *tree) > 0);
+}
+
/*
* vi:ts=4
*/
diff --git a/src/libutil/radix.h b/src/libutil/radix.h
index abe2a2899..b17731fd7 100644
--- a/src/libutil/radix.h
+++ b/src/libutil/radix.h
@@ -130,4 +130,11 @@ radix_compressed_t *radix_create_compressed (void);
gint rspamd_radix_add_iplist (const gchar *list, const gchar *separators,
radix_compressed_t *tree);
+/**
+ * Generic version of @see rspamd_radix_add_iplist. This function creates tree
+ * if `tree` is NULL.
+ */
+gboolean radix_add_generic_iplist (const gchar *ip_list,
+ radix_compressed_t **tree);
+
#endif