]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Selectors: Add `get_tld` transform
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 13 Sep 2020 22:29:02 +0000 (23:29 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 13 Sep 2020 22:29:02 +0000 (23:29 +0100)
lualib/lua_selectors/transforms.lua

index 6f5ed7027ae23e9d127920dd5fe1ffe4c7d082a9..e5987a216118e7eccd47ef3d8e0abbb5809ee9d1 100644 (file)
@@ -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