[Rspamd-Users] Ok another one...

Michelle Sullivan michelle at isux.com
Sat Sep 13 23:08:58 UTC 2025



> On 14 Sep 2025, at 07:44, Michelle Sullivan <michelle at isux.com> wrote:
> 
> 
> 
>> On 14 Sep 2025, at 01:29, Vsevolod Stakhov <vsevolod at rspamd.com> wrote:
>> 
>> On 13/09/2025 15:30, Michelle Sullivan wrote:
>>> PD_FROM_CHECK is my module.. but there is also the issue with the bayes module so I am leaning it’s a config issue…
>> 
>> Yes, you can fuck up all other modules in your own module easily - that's how Lua stack works. But please don't blame those modules - it's not their fault.
> 
> 
> Wasn’t trying to blame the other modules… was thinking it was me screwing up the Redis config somehow… and sure enough disabling my module and the bayes error goes away..  That’s a tad troubling for me… seems fragile.
> 


FWIW latest round of errors is:

Sep 14 09:01:11 thunderhawk rspamd[57571]: <cm83dz>; lua; pd_from_check.lua:63: pd_from_check setting key: rs_frmchk-a4uyknxd81yp185mm5j9
Sep 14 09:01:11 thunderhawk rspamd[57571]: <cm83dz>; lua; pd_from_check.lua:74: pd_from_check redis_params: {[hash] = w7i56pp8ok4fg3dwniwwsn87dcnqdm7esmmdj1pmde41ta5ssho4cgyy57sf18as949qgd1hmsfam3xj7a65hrckotidosjnm6pjyqb, [expand_keys] = false, [write_servers] = rspamd{upstream_list}(00000008B5B3F138), [read_only] = false, [read_servers_str] = 192.168.250.2, [db] = 0, [timeout] = 1, [write_servers_str] = 192.168.250.2, [read_servers] = rspamd{upstream_list}(00000008B5B08748)}
Sep 14 09:01:11 thunderhawk rspamd[57571]: <c954d9>; csession; lua_metric_symbol_callback: call to (PD_FROM_CHECK) failed (2): /usr/local/share/rspamd/lualib/lua_redis.lua:973: bad argument #1 to 'get_upstream_by_hash' (string expected, got table); trace: [1]:{[C]:-1 - get_upstream_by_hash [C]}; [2]:{/usr/local/share/rspamd/lualib/lua_redis.lua:973 - redis_make_request [Lua]}; [3]:{/etc/rspamd/lua.local.d/pd_from_check.lua:75 - pd_check_redis [Lua]}; [4]:{/etc/rspamd/lua.local.d/pd_from_check.lua:123 - <unknown> [Lua]};

The code is quite simple line 66 on:

  local function redis_frmchk_cb(err, data)
    if err then
      rspamd_logger.warnx(task, 'cannot get reply from Redis: %s', err)
    else
      rspamd_logger.warnx(task, 'got reply from Redis: %s', data)
    end
  end

  rspamd_logger.warnx(rspamd_config, '%s redis_params: %s', N, redis_params)
  ret = lua_redis.redis_make_request(task,
    redis_params, -- connect params
    {redis_key},
    true, -- is write
    redis_frmchk_cb, --callback
    'SADD', -- command
    {redis_name}
  )
  if not ret then
    rspamd_logger.warnx(task, 'cannot make SADD request to Redis; email %s', email)
    return false
  end

Down the bottom I have:

redis_params = lua_redis.parse_redis_server(N, settings)
      
if settings and settings.enabled == false then
  rspamd_logger.warnx(rspamd_config, '%s is disabled', N)
  return
end
  
if not redis_params then
  rspamd_logger.infox(rspamd_config, 'no servers are specified, disabling module')
  rspamd_lua_utils.disable_module(N, "redis")
else
  lua_redis.register_prefix(settings.redis_prefix .. '-[a-z0-9]{20}', N,
      'From address elements (hashes)"', {
                  type = 'string',
                          })
  rspamd_logger.warnx(rspamd_config, '%s registering symbol %s...', N, settings.symbol)
  rspamd_config:register_symbol{

And at the top to declare:

local fun = require "fun"
local rspamd_logger = require "rspamd_logger"
local lua_redis = require "lua_redis"
local lua_util = require "lua_util"
local hash = require "rspamd_cryptobox_hash"
local ts = (require "tableshape").types
local redis_params

local N = 'pd_from_check'  -- Namespace for logging
rspamd_logger.warnx(rspamd_config, '%s boot..', N)

local settings = {
  redis_prefix = 'rs_frmchk',
  redis_min_expiry = 24 * 3600,
  symbol = 'PD_FROM_CHECK',
  score = 0.0,
  weight = 0.0,
  soft_threshold = 3,
  soft_action = "",
  medium_threshold = 5,
  medium_action = "add-header",
  hard_limit = 7,
  hard_action = "reject",
  one_shot = false,
}

I don’t get any errors until I attempt to test the Redis part - everything else works fine…

*stumped*

Michelle


> 
>> -- 
>> Users mailing list
>> Users at lists.rspamd.com
>> https://lists.rspamd.com/mailman/listinfo/users
> 
> -- 
> Users mailing list
> Users at lists.rspamd.com
> https://lists.rspamd.com/mailman/listinfo/users



More information about the Users mailing list