#include "utlist.h"
#include "cfg_file.h"
#include "lua/lua_common.h"
+#include "expression.h"
struct rspamd_rcl_default_handler_data {
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;
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;
}
#include "message.h"
#include "radix.h"
#include "trie.h"
+#include "expression.h"
/***
* This module is used to configure rspamd and is normally available as global
lua_config_add_composite (lua_State * L)
{
struct rspamd_config *cfg = lua_check_config (L);
- struct expression *expr;
+ struct rspamd_expression *expr;
gchar *name;
const gchar *expr_str;
struct rspamd_composite *composite;
expr_str = luaL_checkstring (L, 3);
if (name && expr_str) {
- expr = parse_expression (cfg->cfg_pool, (gchar *)expr_str);
- if (expr == NULL) {
+ if (!rspamd_parse_expression (expr_str, 0, &composite_expr_subr,
+ NULL, cfg->cfg_pool, NULL, &expr)) {
msg_err ("cannot parse composite expression %s", expr_str);
}
else {