NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Rspamd] Re-use fixed new ratelimit

882ee5fe
AndrĂ© <[email protected]> 8 years ago
data/conf/rspamd/lua/ratelimit.lua    | 27 +++++++++------------------
 data/conf/rspamd/lua/rspamd.local.lua |  4 ++--
 2 files changed, 11 insertions(+), 20 deletions(-)

Diff

diff --git a/data/conf/rspamd/lua/ratelimit.lua b/data/conf/rspamd/lua/ratelimit.lua
index a7beac49..635fe3e8 100644
--- a/data/conf/rspamd/lua/ratelimit.lua
+++ b/data/conf/rspamd/lua/ratelimit.lua
@@ -1,25 +1,16 @@
-local custom_keywords = {
-  ['customrl'] = {},
-}
+local custom_keywords = {}
 
-function custom_keywords.customrl.get_value(task)
-  local rspamd_logger = require "rspamd_logger"
-  if task:has_symbol('DYN_RL') then
-    rspamd_logger.infox(rspamd_config, "task has a dynamic ratelimit symbol, processing...")
-    return "check"
-  else
-    rspamd_logger.infox(rspamd_config, "task has no dynamic ratelimit symbol, skipping...")
-    return
-  end
-end
-function custom_keywords.customrl.get_limit(task)
+custom_keywords.mailcow = function(task)
   local rspamd_logger = require "rspamd_logger"
   local dyn_rl_symbol = task:get_symbol("DYN_RL")
   if dyn_rl_symbol then
     local rl_value = dyn_rl_symbol[1].options[1]
-    rspamd_logger.infox(rspamd_config, "dynamic ratelimit symbol has option %s, returning...", rl_value)
-    return rl_value
+    local rl_object = dyn_rl_symbol[1].options[2]
+    if rl_value and rl_object then
+      rspamd_logger.infox(rspamd_config, "DYN_RL symbol has value %s for object %s, returning %s...", rl_value, rl_object, "rs_dynrl_" .. rl_object)
+      return "rs_dynrl_" .. rl_object, rl_value
+    end
   end
 end
--- returning custom keywords
-return custom_keywords
\ No newline at end of file
+
+return custom_keywords
diff --git a/data/conf/rspamd/lua/rspamd.local.lua b/data/conf/rspamd/lua/rspamd.local.lua
index 64a2fbc4..7c9efbb4 100644
--- a/data/conf/rspamd/lua/rspamd.local.lua
+++ b/data/conf/rspamd/lua/rspamd.local.lua
@@ -77,7 +77,7 @@ rspamd_config:register_symbol({
             rspamd_logger.infox(rspamd_config, "dynamic ratelimit request for domain %s returned invalid or empty data (\"%s\") or error (\"%s\")", env_from_domain, data, err)
           else
             rspamd_logger.infox(rspamd_config, "found dynamic ratelimit in redis for domain %s with value %s", env_from_domain, data)
-            task:insert_result('DYN_RL', 0.0, data)
+            task:insert_result('DYN_RL', 0.0, data, env_from_domain)
           end
         end
 
@@ -94,7 +94,7 @@ rspamd_config:register_symbol({
         end
       else
         rspamd_logger.infox(rspamd_config, "found dynamic ratelimit in redis for user %s with value %s", uname, data)
-        task:insert_result('DYN_RL', 0.0, data)
+        task:insert_result('DYN_RL', 0.0, data, uname)
       end
 
     end