From 3dfad0da61cb1bd1b68f9f456d051da3f77996a9 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 13 May 2020 15:37:48 +0100 Subject: [PATCH] [Project] Allow rspamd_text based selectors --- lualib/lua_selectors/init.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 -- 2.47.3