]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Fix non-standard actions setup
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 22 Feb 2019 10:00:08 +0000 (10:00 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 22 Feb 2019 10:00:08 +0000 (10:00 +0000)
src/libserver/cfg_rcl.c

index f2a49212cbac96ed3ed3a0844f01b909489c2367..9fa0af41847b17b4a119977d4fe5a022b28513d5 100644 (file)
@@ -579,30 +579,23 @@ rspamd_rcl_actions_handler (rspamd_mempool_t *pool, const ucl_object_t *obj,
        it = ucl_object_iterate_new (obj);
 
        while ((cur = ucl_object_iterate_safe (it, true)) != NULL) {
-               if (!rspamd_action_from_str (ucl_object_key (cur), &action_value)) {
-                       continue;
+               if (ucl_object_type (cur) == UCL_NULL) {
+                       rspamd_config_maybe_disable_action (cfg, ucl_object_key (cur),
+                                       ucl_object_get_priority (cur));
                }
                else {
-                       if (ucl_object_type (cur) == UCL_NULL) {
-                               rspamd_config_maybe_disable_action (cfg, ucl_object_key (cur),
-                                               ucl_object_get_priority (cur));
-                       }
-                       else {
-                               if (!ucl_object_todouble_safe (cur, &action_score)) {
-                                       g_set_error (err,
-                                                       CFG_RCL_ERROR,
-                                                       EINVAL,
-                                                       "invalid action definition: '%s'",
-                                                       ucl_object_key (cur));
-                                       ucl_object_iterate_free (it);
+                       if (!rspamd_config_set_action_score (cfg,
+                                       ucl_object_key (cur),
+                                       cur)) {
+                               g_set_error (err,
+                                               CFG_RCL_ERROR,
+                                               EINVAL,
+                                               "invalid action definition for: '%s'",
+                                               ucl_object_key (cur));
+                               ucl_object_iterate_free (it);
 
-                                       return FALSE;
-                               }
+                               return FALSE;
                        }
-
-                       rspamd_config_set_action_score (cfg,
-                                       ucl_object_key (cur),
-                                       cur);
                }
        }