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; }