aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/rspamd_symcache.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-02-12 11:59:25 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-02-12 11:59:25 +0000
commit3d2cadb16676133ac3007da65630996168be3c91 (patch)
treee53f75a454b6743718f4ad820797a425f7489fc8 /src/libserver/rspamd_symcache.h
parent2b1a95aedcf68effe867940478ca4430b2d13dc1 (diff)
downloadrspamd-3d2cadb16676133ac3007da65630996168be3c91.tar.gz
rspamd-3d2cadb16676133ac3007da65630996168be3c91.zip
[Project] Implement concept of adaptive disabling of the rules
Diffstat (limited to 'src/libserver/rspamd_symcache.h')
-rw-r--r--src/libserver/rspamd_symcache.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libserver/rspamd_symcache.h b/src/libserver/rspamd_symcache.h
index ab9c568e1..b5e029a6b 100644
--- a/src/libserver/rspamd_symcache.h
+++ b/src/libserver/rspamd_symcache.h
@@ -48,6 +48,8 @@ enum rspamd_symbol_type {
SYMBOL_TYPE_SQUEEZED = (1 << 13), /* Symbol is squeezed inside Lua */
SYMBOL_TYPE_TRIVIAL = (1 << 14), /* Symbol is trivial */
SYMBOL_TYPE_MIME_ONLY = (1 << 15), /* Symbol is mime only */
+ SYMBOL_TYPE_EXPLICIT_DISABLE = (1 << 16), /* Symbol should be disabled explicitly only */
+ SYMBOL_TYPE_IGNORE_PASSTHROUGH = (1 << 17), /* Symbol ignores passthrough result */
};
/**
@@ -374,4 +376,14 @@ gboolean rspamd_symcache_item_async_dec_check_full (struct rspamd_task *task,
const gchar *loc);
#define rspamd_symcache_item_async_dec_check(task, item, subsystem) \
rspamd_symcache_item_async_dec_check_full(task, item, subsystem, G_STRLOC)
+
+/**
+ * Disables execution of all symbols, excluding those specified in `skip_mask`
+ * @param task
+ * @param cache
+ * @param skip_mask
+ */
+void rspamd_symcache_disable_all_symbols (struct rspamd_task *task,
+ struct rspamd_symcache *cache,
+ guint skip_mask);
#endif