Add checks for disable_hyperscan at the start of hyperscan loading
functions to prevent database loading when the option is set.
Previously, hyperscan databases would still be loaded even with
disable_hyperscan = true, causing unnecessary I/O and memory usage.
unsigned int total_classes, total_loaded = 0, total_regexps = 0;
GString *missing_classes = NULL;
+ if (cache->disable_hyperscan) {
+ return RSPAMD_HYPERSCAN_UNSUPPORTED;
+ }
+
total_classes = g_hash_table_size(cache->re_classes);
g_hash_table_iter_init(&it, cache->re_classes);
return;
}
+ /* Check if hyperscan is disabled */
+ if (cache_head->disable_hyperscan) {
+ return;
+ }
+
/* All file operations go through Lua backend */
g_assert(rspamd_hs_cache_has_lua_backend());