]> source.dussan.org Git - rspamd.git/commitdiff
Use expressions process flags.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 28 Mar 2015 23:04:59 +0000 (23:04 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 28 Mar 2015 23:04:59 +0000 (23:04 +0000)
src/libmime/filter.c
src/lua/lua_expression.c
src/plugins/regexp.c

index 43e8e1b2d00c998a563ffb989bb920aa365c661b..d0fe7498ea0829f1ff95f02397b69bebb7762bf8 100644 (file)
@@ -478,7 +478,8 @@ rspamd_composite_expr_process (gpointer input, rspamd_expression_atom_t *atom)
                        /* Set checked for this symbol to avoid cyclic references */
                        if (isclr (cd->checked, ncomp->id * 2)) {
                                setbit (cd->checked, cd->composite->id * 2);
-                               rc = rspamd_process_expression (ncomp->expr, cd);
+                               rc = rspamd_process_expression (ncomp->expr,
+                                               RSPAMD_EXPRESSION_FLAG_NOOPT, cd);
                                clrbit (cd->checked, cd->composite->id * 2);
                                ms = g_hash_table_lookup (cd->metric_res->symbols, sym);
                        }
@@ -557,7 +558,7 @@ composites_foreach_callback (gpointer key, gpointer value, void *data)
 
        cd->composite = comp;
 
-       rc = rspamd_process_expression (comp->expr, cd);
+       rc = rspamd_process_expression (comp->expr, RSPAMD_EXPRESSION_FLAG_NOOPT, cd);
 
        /* Checked bit */
        setbit (cd->checked, comp->id * 2);
index b7e47c76afc33f91c615f57041520f236e7af2b9..2d7ceb73456edc4d67d2ebf45916aff6196fd0c8 100644 (file)
@@ -174,8 +174,13 @@ lua_expr_process (lua_State *L)
 {
        struct lua_expression *e = rspamd_lua_expression (L, 1);
        gint res;
+       gint flags = 0;
 
-       res = rspamd_process_expression (e->expr, GINT_TO_POINTER (2));
+       if (lua_gettop (L) >= 3) {
+               flags = lua_tonumber (L, 3);
+       }
+
+       res = rspamd_process_expression (e->expr, flags, GINT_TO_POINTER (2));
 
        lua_pushnumber (L, res);
 
index c5f3203b37ac11e0b019e25020381928816b092b..f98f341a34670ae6805f03a1b957cec83491b43d 100644 (file)
@@ -250,7 +250,7 @@ process_regexp_item (struct rspamd_task *task, void *user_data)
        else {
                /* Process expression */
                if (item->expr) {
-                       res = rspamd_process_expression (item->expr, task);
+                       res = rspamd_process_expression (item->expr, 0, task);
                }
                else {
                        msg_warn ("FIXME: %s symbol is broken with new expressions",