diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-09-25 10:58:02 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-09-25 10:58:30 +0100 |
commit | 7defd80213710b83381e77fec1102fb112a1d7e1 (patch) | |
tree | f8242d4c9f0fa3335a79049138e16cf5fbc695a8 /src/libserver/symbols_cache.c | |
parent | 906eff2f85cb0b4e28990fe003e6efc181902f03 (diff) | |
download | rspamd-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.c | 7 |
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) { |