summaryrefslogtreecommitdiffstats
path: root/src/libserver/symbols_cache.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-09-25 10:58:02 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-09-25 10:58:30 +0100
commit7defd80213710b83381e77fec1102fb112a1d7e1 (patch)
treef8242d4c9f0fa3335a79049138e16cf5fbc695a8 /src/libserver/symbols_cache.c
parent906eff2f85cb0b4e28990fe003e6efc181902f03 (diff)
downloadrspamd-7defd80213710b83381e77fec1102fb112a1d7e1.tar.gz
rspamd-7defd80213710b83381e77fec1102fb112a1d7e1.zip
[Minor] Don't disable symbols twice
Diffstat (limited to 'src/libserver/symbols_cache.c')
-rw-r--r--src/libserver/symbols_cache.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c
index 69a1f7158..56b9f86de 100644
--- a/src/libserver/symbols_cache.c
+++ b/src/libserver/symbols_cache.c
@@ -1582,6 +1582,7 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task,
struct rspamd_symbols_group *gr;
GHashTableIter gr_it;
ucl_object_iter_t it = NULL;
+ gboolean already_disabled = FALSE;
gpointer k, v;
wl = ucl_object_lookup (task->settings, "whitelist");
@@ -1597,6 +1598,7 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task,
if (enabled) {
/* Disable all symbols but selected */
rspamd_symbols_cache_disable_all_symbols (task, cache);
+ already_disabled = TRUE;
it = NULL;
while ((cur = ucl_iterate_object (enabled, &it, true)) != NULL) {
@@ -1610,7 +1612,10 @@ rspamd_symbols_cache_process_settings (struct rspamd_task *task,
if (enabled) {
it = NULL;
- rspamd_symbols_cache_disable_all_symbols (task, cache);
+
+ if (!already_disabled) {
+ rspamd_symbols_cache_disable_all_symbols (task, cache);
+ }
while ((cur = ucl_iterate_object (enabled, &it, true)) != NULL) {
if (ucl_object_type (cur) == UCL_STRING) {