From: Vsevolod Stakhov Date: Mon, 19 Mar 2018 13:17:40 +0000 (+0000) Subject: [Minor] Allow to reset score of an action X-Git-Tag: 1.7.1~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c4a0536e2b3622cb953e8b6ad2be53c723512bae;p=thirdparty%2Frspamd.git [Minor] Allow to reset score of an action Issue: 2088 --- diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index a01f42ea6f..08c7c7868c 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -38,6 +38,8 @@ #include #endif +#include + struct rspamd_rcl_default_handler_data { struct rspamd_rcl_struct_parser pd; gchar *key; @@ -450,16 +452,22 @@ rspamd_rcl_actions_handler (rspamd_mempool_t *pool, const ucl_object_t *obj, continue; } 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 (ucl_object_type (cur) == UCL_NULL) { + action_score = NAN; + } + 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); - return FALSE; + return FALSE; + } } + rspamd_config_set_action_score (cfg, ucl_object_key (cur), action_score,