]> git.ipfire.org Git - thirdparty/rspamd.git/commit
[Feature] Add pluggable hyperscan cache storage infrastructure
authorVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 2 Jan 2026 09:37:44 +0000 (09:37 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 2 Jan 2026 09:37:44 +0000 (09:37 +0000)
commitb65cd450df05e21bf57acc662ffd21ff13279187
tree22b5a4181064bd4ea9317a2350c65e7b5e369803
parent9882c1b21e360c9e08aa987046401e1a8b86a6d7
[Feature] Add pluggable hyperscan cache storage infrastructure

This commit adds infrastructure for pluggable hyperscan cache storage
backends and FD-based shared memory distribution:

- Add platform ID function (rspamd_hyperscan_get_platform_id) for
  platform-aware cache keys
- Create lua_hs_cache.lua with file, Redis, and HTTP backends
- Add FD-based loading APIs (rspamd_hyperscan_from_fd,
  rspamd_hyperscan_create_shared_unser)
- Add fd_size field to control messages for FD passing
- Update worker to handle attached FDs in hyperscan notifications
- Add cache_backend configuration option to hs_helper
lualib/lua_hs_cache.lua [new file with mode: 0644]
src/hs_helper.c
src/libserver/hyperscan_tools.cxx
src/libserver/hyperscan_tools.h
src/libserver/rspamd_control.h
src/libserver/worker_util.c