aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-21 22:03:44 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-21 22:03:44 +0000
commit2b6854531e2cfe19371309c29c398a3f9f422995 (patch)
tree0c18e570de1e484c414bff85096e582d3ea00e08 /src/libserver
parent6d7d4b3bf789c7b314ae6335c20f00d991a400df (diff)
downloadrspamd-2b6854531e2cfe19371309c29c398a3f9f422995.tar.gz
rspamd-2b6854531e2cfe19371309c29c398a3f9f422995.zip
Fix composites parsing.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/cfg_rcl.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c
index 5071b390f..e968b9faa 100644
--- a/src/libserver/cfg_rcl.c
+++ b/src/libserver/cfg_rcl.c
@@ -27,6 +27,7 @@
#include "utlist.h"
#include "cfg_file.h"
#include "lua/lua_common.h"
+#include "expression.h"
struct rspamd_rcl_default_handler_data {
@@ -999,7 +1000,7 @@ rspamd_rcl_composite_handler (struct rspamd_config *cfg,
GError **err)
{
const ucl_object_t *val;
- struct expression *expr;
+ struct rspamd_expression *expr;
struct rspamd_composite *composite;
const gchar *composite_name, *composite_expression;
gboolean new = TRUE;
@@ -1027,14 +1028,8 @@ rspamd_rcl_composite_handler (struct rspamd_config *cfg,
return FALSE;
}
- if ((expr =
- parse_expression (cfg->cfg_pool,
- (gchar *)composite_expression)) == NULL) {
- g_set_error (err,
- CFG_RCL_ERROR,
- EINVAL,
- "cannot parse composite expression: %s",
- composite_expression);
+ if (!rspamd_parse_expression (composite_expression, 0, &composite_expr_subr,
+ NULL, cfg->cfg_pool, err, &expr)) {
return FALSE;
}