From 7ebe148065d399cfb46feb7de979d82cea63813f Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Wed, 16 Nov 2022 20:05:44 +0000 Subject: [PATCH] Dynsec: Simplify config load --- plugins/dynamic-security/config.c | 33 +++++-------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/plugins/dynamic-security/config.c b/plugins/dynamic-security/config.c index fb153c3e..b89caf27 100644 --- a/plugins/dynamic-security/config.c +++ b/plugins/dynamic-security/config.c @@ -36,37 +36,14 @@ Contributors: static int dynsec__general_config_load(struct dynsec__data *data, cJSON *tree) { - cJSON *j_default_access, *jtmp; + cJSON *j_default_access; j_default_access = cJSON_GetObjectItem(tree, "defaultACLAccess"); if(j_default_access && cJSON_IsObject(j_default_access)){ - jtmp = cJSON_GetObjectItem(j_default_access, ACL_TYPE_PUB_C_SEND); - if(jtmp && cJSON_IsBool(jtmp)){ - data->default_access.publish_c_send = cJSON_IsTrue(jtmp); - }else{ - data->default_access.publish_c_send = false; - } - - jtmp = cJSON_GetObjectItem(j_default_access, ACL_TYPE_PUB_C_RECV); - if(jtmp && cJSON_IsBool(jtmp)){ - data->default_access.publish_c_recv = cJSON_IsTrue(jtmp); - }else{ - data->default_access.publish_c_recv = false; - } - - jtmp = cJSON_GetObjectItem(j_default_access, ACL_TYPE_SUB_GENERIC); - if(jtmp && cJSON_IsBool(jtmp)){ - data->default_access.subscribe = cJSON_IsTrue(jtmp); - }else{ - data->default_access.subscribe = false; - } - - jtmp = cJSON_GetObjectItem(j_default_access, ACL_TYPE_UNSUB_GENERIC); - if(jtmp && cJSON_IsBool(jtmp)){ - data->default_access.unsubscribe = cJSON_IsTrue(jtmp); - }else{ - data->default_access.unsubscribe = false; - } + json_get_bool(j_default_access, ACL_TYPE_PUB_C_SEND, &data->default_access.publish_c_send, true, false); + json_get_bool(j_default_access, ACL_TYPE_PUB_C_RECV, &data->default_access.publish_c_recv, true, false); + json_get_bool(j_default_access, ACL_TYPE_SUB_GENERIC, &data->default_access.subscribe, true, false); + json_get_bool(j_default_access, ACL_TYPE_UNSUB_GENERIC, &data->default_access.unsubscribe, true, false); } return MOSQ_ERR_SUCCESS; }