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");
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) {
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) {