From: Vsevolod Stakhov Date: Tue, 19 Jan 2021 15:58:47 +0000 (+0000) Subject: [Minor] Allow to use ratelimit as an ordinary filter X-Git-Tag: 3.0~761 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a7cc997c9d8b23f01be8de752c3d05bcf07d3341;p=thirdparty%2Frspamd.git [Minor] Allow to use ratelimit as an ordinary filter --- diff --git a/src/plugins/lua/ratelimit.lua b/src/plugins/lua/ratelimit.lua index cd9af6dfe9..7f999a8c4e 100644 --- a/src/plugins/lua/ratelimit.lua +++ b/src/plugins/lua/ratelimit.lua @@ -51,6 +51,7 @@ local settings = { expire = 60 * 60 * 24 * 2, -- 2 days by default limits = {}, allow_local = false, + prefilter = true, } -- Checks bucket, updating it if needed @@ -856,21 +857,24 @@ if opts then lua_util.disable_module(N, "redis") else local s = { - type = 'prefilter', + type = settings.prefilter and 'prefilter' or 'callback', name = 'RATELIMIT_CHECK', priority = 7, callback = ratelimit_cb, flags = 'empty,nostat', } - if settings.symbol then - s.name = settings.symbol - elseif settings.info_symbol then - s.name = settings.info_symbol - s.score = 0.0 + local id = rspamd_config:register_symbol(s) + + if settings.info_symbol then + rspamd_config:register_symbol{ + type = 'virtual', + name = settings.info_symbol, + score = 0.0, + parent = id + } end - rspamd_config:register_symbol(s) rspamd_config:register_symbol { type = 'idempotent', name = 'RATELIMIT_UPDATE',