-- @param redis_params The Redis parameters to use for this script.
-- @return The ID of the newly added Redis script.
--
-local function load_redis_script_from_file(filename, redis_params)
+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 end
+ if filename:sub(1, 1) ~= package.config:sub(1,1) then
+ -- Relative path
+ filename = lua_util.join_path(dir, filename)
+ end
-- Read file contents
local file = io.open(filename, "r")
if not file then
end
exports.join_path = join_path
+-- Short unit test for sanity
+if path_sep == '/' then
+ assert(join_path('/path', 'to', 'file') == '/path/to/file')
+else
+ assert(join_path('C:', 'path', 'to', 'file') == 'C:\\path\\to\\file')
+end
+
-- Defines symbols priorities for common usage in prefilters/postfilters
exports.symbols_priorities = {
top = 10, -- Symbols must be executed first (or last), such as settings