From: Vsevolod Stakhov Date: Sun, 13 Sep 2020 22:29:02 +0000 (+0100) Subject: [Minor] Selectors: Add `get_tld` transform X-Git-Tag: 2.6~56 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58c0ecaa2e171681c25462d29ed1acb609ba40b2;p=thirdparty%2Frspamd.git [Minor] Selectors: Add `get_tld` transform --- diff --git a/lualib/lua_selectors/transforms.lua b/lualib/lua_selectors/transforms.lua index 6f5ed7027a..e5987a2161 100644 --- a/lualib/lua_selectors/transforms.lua +++ b/lualib/lua_selectors/transforms.lua @@ -16,6 +16,7 @@ limitations under the License. local fun = require 'fun' local lua_util = require "lua_util" +local rspamd_util = require "rspamd_util" local ts = require("tableshape").types local logger = require 'rspamd_logger' local common = require "lua_selectors/common" @@ -428,7 +429,18 @@ Empty string comes the first argument or 'true', non-empty string comes nil]], 'given as second argument or `?`', ['args_schema'] = {ts.string:is_optional()} }, - + -- Extracts tld from a hostname + ['get_tld'] = { + ['types'] = { + ['string'] = true + }, + ['map_type'] = 'string', + ['process'] = function(inp, _, _) + return rspamd_util.get_tld(inp) + end, + ['description'] = 'Extracts tld from a hostname represented as a string', + ['args_schema'] = {} + }, } transform_function.match = transform_function.regexp