From: Vsevolod Stakhov Date: Wed, 13 May 2020 14:37:48 +0000 (+0100) Subject: [Project] Allow rspamd_text based selectors X-Git-Tag: 2.6~432 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3dfad0da61cb1bd1b68f9f456d051da3f77996a9;p=thirdparty%2Frspamd.git [Project] Allow rspamd_text based selectors --- diff --git a/lualib/lua_selectors/init.lua b/lualib/lua_selectors/init.lua index 7f20e2cbb1..11fcd55d1c 100644 --- a/lualib/lua_selectors/init.lua +++ b/lualib/lua_selectors/init.lua @@ -34,11 +34,14 @@ local logger = require 'rspamd_logger' local fun = require 'fun' local lua_util = require "lua_util" local M = "selectors" +local rspamd_text = require "rspamd_text" local E = {} local extractors = require "lua_selectors/extractors" local transform_function = require "lua_selectors/transforms" +local text_cookie = rspamd_text.cookie + local function pure_type(ltype) return ltype:match('^(.*)_list$') end @@ -66,6 +69,13 @@ local function process_selector(task, sel) end return logger.slog("%s", ud_or_table),'string' + elseif t == 'userdata' then + if t.cookie and t.cookie == text_cookie then + -- Preserve opaque + return ud_or_table,'string' + else + return tostring(ud_or_table),'string' + end else return tostring(ud_or_table),'string' end