From f9e5edbd6bb0bbbf8bad0e97eb02e2441d10e055 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sun, 24 Jul 2022 20:26:53 +0100 Subject: [PATCH] [Minor] Add static C API --- src/libserver/rspamd_symcache.h | 18 ++++++++++++++++++ src/libserver/symcache/symcache_c.cxx | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/libserver/rspamd_symcache.h b/src/libserver/rspamd_symcache.h index 8707c631f..0510cb1dc 100644 --- a/src/libserver/rspamd_symcache.h +++ b/src/libserver/rspamd_symcache.h @@ -329,6 +329,24 @@ gboolean rspamd_symcache_disable_symbol (struct rspamd_task *task, struct rspamd_symcache *cache, const gchar *symbol); +/** + * Disable execution of a symbol or a pattern (a string enclosed in `//`) permanently + * @param task + * @param cache + * @param symbol + * @return + */ +void rspamd_symcache_disable_symbol_static (struct rspamd_symcache *cache, + const gchar *symbol); +/** + * Add a symbol or a pattern to the list of explicitly and statically enabled symbols + * @param cache + * @param symbol + * @return + */ +void rspamd_symcache_enable_symbol_static (struct rspamd_symcache *cache, + const gchar *symbol); + /** * Process specific function for each cache element (in order they are added) * @param cache diff --git a/src/libserver/symcache/symcache_c.cxx b/src/libserver/symcache/symcache_c.cxx index e0d8711f1..d4ae88e67 100644 --- a/src/libserver/symcache/symcache_c.cxx +++ b/src/libserver/symcache/symcache_c.cxx @@ -465,6 +465,23 @@ rspamd_symcache_enable_symbol(struct rspamd_task *task, return cache_runtime->enable_symbol(task, *real_cache, symbol); } +void +rspamd_symcache_disable_symbol_static (struct rspamd_symcache *cache, + const gchar *symbol) +{ + auto *real_cache = C_API_SYMCACHE(cache); + + real_cache->disable_symbol_delayed(symbol); +} + +void rspamd_symcache_enable_symbol_static (struct rspamd_symcache *cache, + const gchar *symbol) +{ + auto *real_cache = C_API_SYMCACHE(cache); + + real_cache->enable_symbol_delayed(symbol); +} + gboolean rspamd_symcache_is_checked(struct rspamd_task *task, struct rspamd_symcache *cache, -- 2.39.5