Add aaa-12 修改json解析校验机制
SOL 修改json解析校验机制 修改人:yinbin 检视人:yinbin Signed-off-by: yinbin <yinbin@cmhi.chinamobile.com>
This commit is contained in:
parent
fd9b5fffe0
commit
8e6ce1e4d3
|
@ -1246,11 +1246,12 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if(!(operate = cJSON_GetObjectItem(root, "operate"))){
|
if(!(operate = cJSON_GetObjectItem(root, "operate"))){
|
||||||
printf("[vlan]vlan_config_json_parse: No operate node.\n");
|
printf("[vlan]vlan_config_json_parse: Json No operate node.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INPUTERR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if(!(conf_ifvlan = cJSON_GetObjectItem(root, "conf-ifvlan"))){
|
if(!(conf_ifvlan = cJSON_GetObjectItem(root, "conf-ifvlan"))){
|
||||||
|
printf("[vlan]vlan_config_json_parse: Json No conf_ifvlan node.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INPUTERR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1258,7 +1259,7 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
/* 解析最外层interface数组 */
|
/* 解析最外层interface数组 */
|
||||||
if_num = cJSON_GetArraySize(conf_ifvlan);
|
if_num = cJSON_GetArraySize(conf_ifvlan);
|
||||||
if(if_num == 0){
|
if(if_num == 0){
|
||||||
printf("[vlan]vlan_config_json_parse: json array has no interface.\n");
|
printf("[vlan]vlan_config_json_parse: Json array has no interface.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INPUTERR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1287,7 +1288,10 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
}
|
}
|
||||||
cJSON *ifName = cJSON_GetObjectItem(node, "if-name");
|
cJSON *ifName = cJSON_GetObjectItem(node, "if-name");
|
||||||
if(!ifName){
|
if(!ifName){
|
||||||
continue;
|
//continue;
|
||||||
|
printf("[vlan]vlan_config_json_parse: json has no ifName node.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
if(NULL == ifName->valuestring){
|
if(NULL == ifName->valuestring){
|
||||||
printf("[vlan]vlan_config_json_parse: ifName->valuestring is null.\n");
|
printf("[vlan]vlan_config_json_parse: ifName->valuestring is null.\n");
|
||||||
|
@ -1298,7 +1302,10 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
printf("[vlan]if_vlan_info[%d].if_name=%s\n", i, if_vlan_info[i].if_name);
|
printf("[vlan]if_vlan_info[%d].if_name=%s\n", i, if_vlan_info[i].if_name);
|
||||||
cJSON *ifAttr = cJSON_GetObjectItem(node, "if-attr");
|
cJSON *ifAttr = cJSON_GetObjectItem(node, "if-attr");
|
||||||
if(!ifAttr){
|
if(!ifAttr){
|
||||||
continue;
|
//continue;
|
||||||
|
printf("[vlan]vlan_config_json_parse: Json has no ifAttr node.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
if(NULL == ifAttr->valuestring){
|
if(NULL == ifAttr->valuestring){
|
||||||
printf("[vlan]vlan_config_json_parse: ifAttr->valuestring is null.\n");
|
printf("[vlan]vlan_config_json_parse: ifAttr->valuestring is null.\n");
|
||||||
|
@ -1311,15 +1318,23 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info
|
||||||
else if(!strcmp(ifAttr->valuestring, "access")){
|
else if(!strcmp(ifAttr->valuestring, "access")){
|
||||||
if_vlan_info[i].attr = LINK_TYPE_ACCESS;
|
if_vlan_info[i].attr = LINK_TYPE_ACCESS;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
printf("[vlan]vlan_config_json_parse: errror: is not trunk or access.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
cJSON *vId = cJSON_GetObjectItem(node, "vid");
|
cJSON *vId = cJSON_GetObjectItem(node, "vid");
|
||||||
if(!vId){
|
if(!vId){
|
||||||
continue;
|
//continue;
|
||||||
|
printf("[vlan]vlan_config_json_parse: Json has no vId node.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 解析内层vid数组 */
|
/* 解析内层vid数组 */
|
||||||
vl_num = cJSON_GetArraySize(vId);
|
vl_num = cJSON_GetArraySize(vId);
|
||||||
if(vl_num == 0){
|
if(vl_num == 0){
|
||||||
printf("[vlan]vlan_config_json_parse: json array has no vid.\n");
|
printf("[vlan]vlan_config_json_parse: Json array has no vid element.\n");
|
||||||
ret = RET_INPUTERR;
|
ret = RET_INPUTERR;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -2077,7 +2092,11 @@ ret_code vlan_operate_parse(pointer input, int *oper_type)
|
||||||
ret = RET_OK;
|
ret = RET_OK;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
printf("[vlan]vlan_operate_chk: operate-val is UNKNOWN, error.\n");
|
||||||
|
ret = RET_INPUTERR;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
out:
|
out:
|
||||||
if(root){
|
if(root){
|
||||||
cJSON_Delete(root);
|
cJSON_Delete(root);
|
||||||
|
|
Loading…
Reference in New Issue