]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Return errors from lua_redis.load_redis_script_from_file
authorAndrew Lewis <nerf@judo.za.org>
Thu, 15 Jan 2026 12:13:22 +0000 (14:13 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Thu, 15 Jan 2026 12:13:22 +0000 (14:13 +0200)
lualib/lua_bayes_redis.lua
lualib/lua_redis.lua
lualib/plugins/neural.lua
src/plugins/lua/ratelimit.lua

index a7af80bf14bf5c76b1082885214004d354a229f8..0a0b5d07714bb24dfe69e7a741b390fc2d1cfbcb 100644 (file)
@@ -143,9 +143,23 @@ exports.lua_bayes_init_statfile = function(classifier_ucl, statfile_ucl, symbol,
     return nil
   end
 
-  local classify_script_id = lua_redis.load_redis_script_from_file("bayes_classify.lua", redis_params)
-  local learn_script_id = lua_redis.load_redis_script_from_file("bayes_learn.lua", redis_params)
-  local stat_script_id = lua_redis.load_redis_script_from_file("bayes_stat.lua", redis_params)
+  local classify_script_id, err = lua_redis.load_redis_script_from_file("bayes_classify.lua", redis_params)
+  if not classify_script_id then
+    logger.errx(ev_base, err)
+    return nil
+  end
+  local learn_script_id
+  learn_script_id, err = lua_redis.load_redis_script_from_file("bayes_learn.lua", redis_params)
+  if not learn_script_id then
+    logger.errx(ev_base, err)
+    return nil
+  end
+  local stat_script_id
+  stat_script_id, err = lua_redis.load_redis_script_from_file("bayes_stat.lua", redis_params)
+  if not stat_script_id then
+    logger.errx(ev_base, err)
+    return nil
+  end
   local max_users = classifier_ucl.max_users or 1000
 
   local current_data = {
@@ -268,8 +282,17 @@ exports.lua_bayes_init_cache = function(classifier_ucl, statfile_ucl)
     end
   end
 
-  local check_script_id = lua_redis.load_redis_script_from_file("bayes_cache_check.lua", redis_params)
-  local learn_script_id = lua_redis.load_redis_script_from_file("bayes_cache_learn.lua", redis_params)
+  local check_script_id, err = lua_redis.load_redis_script_from_file("bayes_cache_check.lua", redis_params)
+  if not check_script_id then
+    logger.errx(rspamd_config, err)
+    return nil
+  end
+  local learn_script_id
+  learn_script_id, err = lua_redis.load_redis_script_from_file("bayes_cache_learn.lua", redis_params)
+  if not learn_script_id then
+    logger.errx(rspamd_config, err)
+    return nil
+  end
 
   return gen_cache_check_functor(redis_params, check_script_id, conf), gen_cache_learn_functor(redis_params,
       learn_script_id, conf)
index b262777baf39ac6a432a1743a3e6c3bd0aab9871..a844c19e10cb206ec24c6232bc2bf1f676a750f4 100644 (file)
@@ -1649,7 +1649,6 @@ exports.add_redis_script = add_redis_script
 --
 local function load_redis_script_from_file(filename, redis_params, dir)
   local lua_util = require "lua_util"
-  local rspamd_logger = require "rspamd_logger"
 
   if not dir then
     dir = rspamd_paths.LUALIBDIR
@@ -1662,13 +1661,12 @@ local function load_redis_script_from_file(filename, redis_params, dir)
   -- Read file contents
   local file = io.open(path, "r")
   if not file then
-    rspamd_logger.errx("failed to open Redis script file: %s", path)
-    return nil
+    return nil, string.format("failed to open Redis script file: %s", path)
   end
   local script = file:read("*all")
   if not script then
-    rspamd_logger.errx("failed to load Redis script file: %s", path)
-    return nil
+    file:close()
+    return nil, string.format("failed to read Redis script file: %s", path)
   end
   file:close()
   script = lua_util.strip_lua_comments(script)
index 5b4ffc033959ba956fe482cf566774334c4a64b4..5f71db5fc2236877ab10f99d7f39e595df4efd36 100644 (file)
@@ -162,14 +162,27 @@ register_provider('metatokens', {
 })
 
 local function load_scripts()
-  redis_script_id.vectors_len = lua_redis.load_redis_script_from_file(redis_lua_script_vectors_len,
+  local err
+  redis_script_id.vectors_len, err = lua_redis.load_redis_script_from_file(redis_lua_script_vectors_len,
     redis_params)
-  redis_script_id.maybe_invalidate = lua_redis.load_redis_script_from_file(redis_lua_script_maybe_invalidate,
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
+  redis_script_id.maybe_invalidate, err = lua_redis.load_redis_script_from_file(redis_lua_script_maybe_invalidate,
     redis_params)
-  redis_script_id.maybe_lock = lua_redis.load_redis_script_from_file(redis_lua_script_maybe_lock,
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
+  redis_script_id.maybe_lock, err = lua_redis.load_redis_script_from_file(redis_lua_script_maybe_lock,
     redis_params)
-  redis_script_id.save_unlock = lua_redis.load_redis_script_from_file(redis_lua_script_save_unlock,
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
+  redis_script_id.save_unlock, err = lua_redis.load_redis_script_from_file(redis_lua_script_save_unlock,
     redis_params)
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
 end
 
 local function create_ann(n, nlayers, rule)
index f2a2978afe759cc05de8b7564fa8c724ccb1ba8f..5de71c213d23a3e6dc7281f60faa742a64d6b647 100644 (file)
@@ -72,9 +72,19 @@ local message_func = function(_, limit_type, _, _, _)
 end
 
 local function load_scripts(_, _)
-  bucket_check_id = lua_redis.load_redis_script_from_file(bucket_check_script, redis_params)
-  bucket_update_id = lua_redis.load_redis_script_from_file(bucket_update_script, redis_params)
-  bucket_cleanup_id = lua_redis.load_redis_script_from_file(bucket_cleanup_script, redis_params)
+  local err
+  bucket_check_id, err = lua_redis.load_redis_script_from_file(bucket_check_script, redis_params)
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
+  bucket_update_id, err = lua_redis.load_redis_script_from_file(bucket_update_script, redis_params)
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
+  bucket_cleanup_id, err = lua_redis.load_redis_script_from_file(bucket_cleanup_script, redis_params)
+  if err then
+    rspamd_logger.errx(rspamd_config, err)
+  end
 end
 
 --- Check whether this addr is bounce