mirror of
https://github.com/open5gs/open5gs.git
synced 2026-05-02 05:10:10 +00:00
[SBI] Crash occurs when ENUM in the MAP (#2103)
This commit is contained in:
parent
ce668c556c
commit
969c116e77
1097 changed files with 266728 additions and 42047 deletions
|
|
@ -71,44 +71,85 @@ OpenAPI_access_token_req_t *OpenAPI_access_token_req_create(
|
|||
|
||||
void OpenAPI_access_token_req_free(OpenAPI_access_token_req_t *access_token_req)
|
||||
{
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
if (NULL == access_token_req) {
|
||||
return;
|
||||
}
|
||||
OpenAPI_lnode_t *node;
|
||||
ogs_free(access_token_req->nf_instance_id);
|
||||
ogs_free(access_token_req->scope);
|
||||
ogs_free(access_token_req->target_nf_instance_id);
|
||||
OpenAPI_plmn_id_free(access_token_req->requester_plmn);
|
||||
OpenAPI_list_for_each(access_token_req->requester_plmn_list, node) {
|
||||
OpenAPI_plmn_id_free(node->data);
|
||||
if (access_token_req->nf_instance_id) {
|
||||
ogs_free(access_token_req->nf_instance_id);
|
||||
access_token_req->nf_instance_id = NULL;
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_plmn_list);
|
||||
OpenAPI_list_for_each(access_token_req->requester_snssai_list, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
if (access_token_req->scope) {
|
||||
ogs_free(access_token_req->scope);
|
||||
access_token_req->scope = NULL;
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_snssai_list);
|
||||
ogs_free(access_token_req->requester_fqdn);
|
||||
OpenAPI_list_for_each(access_token_req->requester_snpn_list, node) {
|
||||
OpenAPI_plmn_id_nid_free(node->data);
|
||||
if (access_token_req->target_nf_instance_id) {
|
||||
ogs_free(access_token_req->target_nf_instance_id);
|
||||
access_token_req->target_nf_instance_id = NULL;
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_snpn_list);
|
||||
OpenAPI_plmn_id_free(access_token_req->target_plmn);
|
||||
OpenAPI_list_for_each(access_token_req->target_snssai_list, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
if (access_token_req->requester_plmn) {
|
||||
OpenAPI_plmn_id_free(access_token_req->requester_plmn);
|
||||
access_token_req->requester_plmn = NULL;
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->target_snssai_list);
|
||||
OpenAPI_list_for_each(access_token_req->target_nsi_list, node) {
|
||||
ogs_free(node->data);
|
||||
if (access_token_req->requester_plmn_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_plmn_list, node) {
|
||||
OpenAPI_plmn_id_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_plmn_list);
|
||||
access_token_req->requester_plmn_list = NULL;
|
||||
}
|
||||
if (access_token_req->requester_snssai_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_snssai_list, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_snssai_list);
|
||||
access_token_req->requester_snssai_list = NULL;
|
||||
}
|
||||
if (access_token_req->requester_fqdn) {
|
||||
ogs_free(access_token_req->requester_fqdn);
|
||||
access_token_req->requester_fqdn = NULL;
|
||||
}
|
||||
if (access_token_req->requester_snpn_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_snpn_list, node) {
|
||||
OpenAPI_plmn_id_nid_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->requester_snpn_list);
|
||||
access_token_req->requester_snpn_list = NULL;
|
||||
}
|
||||
if (access_token_req->target_plmn) {
|
||||
OpenAPI_plmn_id_free(access_token_req->target_plmn);
|
||||
access_token_req->target_plmn = NULL;
|
||||
}
|
||||
if (access_token_req->target_snssai_list) {
|
||||
OpenAPI_list_for_each(access_token_req->target_snssai_list, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->target_snssai_list);
|
||||
access_token_req->target_snssai_list = NULL;
|
||||
}
|
||||
if (access_token_req->target_nsi_list) {
|
||||
OpenAPI_list_for_each(access_token_req->target_nsi_list, node) {
|
||||
ogs_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->target_nsi_list);
|
||||
access_token_req->target_nsi_list = NULL;
|
||||
}
|
||||
if (access_token_req->target_nf_set_id) {
|
||||
ogs_free(access_token_req->target_nf_set_id);
|
||||
access_token_req->target_nf_set_id = NULL;
|
||||
}
|
||||
if (access_token_req->target_nf_service_set_id) {
|
||||
ogs_free(access_token_req->target_nf_service_set_id);
|
||||
access_token_req->target_nf_service_set_id = NULL;
|
||||
}
|
||||
OpenAPI_list_free(access_token_req->target_nsi_list);
|
||||
ogs_free(access_token_req->target_nf_set_id);
|
||||
ogs_free(access_token_req->target_nf_service_set_id);
|
||||
ogs_free(access_token_req);
|
||||
}
|
||||
|
||||
cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access_token_req)
|
||||
{
|
||||
cJSON *item = NULL;
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
if (access_token_req == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [AccessTokenReq]");
|
||||
|
|
@ -116,30 +157,42 @@ cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access
|
|||
}
|
||||
|
||||
item = cJSON_CreateObject();
|
||||
if (access_token_req->grant_type == OpenAPI_access_token_req_GRANTTYPE_NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [grant_type]");
|
||||
return NULL;
|
||||
}
|
||||
if (cJSON_AddStringToObject(item, "grant_type", OpenAPI_grant_typeaccess_token_req_ToString(access_token_req->grant_type)) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [grant_type]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!access_token_req->nf_instance_id) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [nf_instance_id]");
|
||||
return NULL;
|
||||
}
|
||||
if (cJSON_AddStringToObject(item, "nfInstanceId", access_token_req->nf_instance_id) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [nf_instance_id]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (access_token_req->nf_type) {
|
||||
if (access_token_req->nf_type != OpenAPI_nf_type_NULL) {
|
||||
if (cJSON_AddStringToObject(item, "nfType", OpenAPI_nf_type_ToString(access_token_req->nf_type)) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [nf_type]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (access_token_req->target_nf_type) {
|
||||
if (access_token_req->target_nf_type != OpenAPI_nf_type_NULL) {
|
||||
if (cJSON_AddStringToObject(item, "targetNfType", OpenAPI_nf_type_ToString(access_token_req->target_nf_type)) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_nf_type]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
if (!access_token_req->scope) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [scope]");
|
||||
return NULL;
|
||||
}
|
||||
if (cJSON_AddStringToObject(item, "scope", access_token_req->scope) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [scope]");
|
||||
goto end;
|
||||
|
|
@ -171,17 +224,13 @@ cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access
|
|||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *requester_plmn_list_node;
|
||||
if (access_token_req->requester_plmn_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_plmn_list, requester_plmn_list_node) {
|
||||
cJSON *itemLocal = OpenAPI_plmn_id_convertToJSON(requester_plmn_list_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_plmn_listList, itemLocal);
|
||||
OpenAPI_list_for_each(access_token_req->requester_plmn_list, node) {
|
||||
cJSON *itemLocal = OpenAPI_plmn_id_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_plmn_listList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -191,17 +240,13 @@ cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access
|
|||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *requester_snssai_list_node;
|
||||
if (access_token_req->requester_snssai_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_snssai_list, requester_snssai_list_node) {
|
||||
cJSON *itemLocal = OpenAPI_snssai_convertToJSON(requester_snssai_list_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_snssai_listList, itemLocal);
|
||||
OpenAPI_list_for_each(access_token_req->requester_snssai_list, node) {
|
||||
cJSON *itemLocal = OpenAPI_snssai_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_snssai_listList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -218,17 +263,13 @@ cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access
|
|||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *requester_snpn_list_node;
|
||||
if (access_token_req->requester_snpn_list) {
|
||||
OpenAPI_list_for_each(access_token_req->requester_snpn_list, requester_snpn_list_node) {
|
||||
cJSON *itemLocal = OpenAPI_plmn_id_nid_convertToJSON(requester_snpn_list_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_snpn_listList, itemLocal);
|
||||
OpenAPI_list_for_each(access_token_req->requester_snpn_list, node) {
|
||||
cJSON *itemLocal = OpenAPI_plmn_id_nid_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(requester_snpn_listList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -251,34 +292,28 @@ cJSON *OpenAPI_access_token_req_convertToJSON(OpenAPI_access_token_req_t *access
|
|||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *target_snssai_list_node;
|
||||
if (access_token_req->target_snssai_list) {
|
||||
OpenAPI_list_for_each(access_token_req->target_snssai_list, target_snssai_list_node) {
|
||||
cJSON *itemLocal = OpenAPI_snssai_convertToJSON(target_snssai_list_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(target_snssai_listList, itemLocal);
|
||||
OpenAPI_list_for_each(access_token_req->target_snssai_list, node) {
|
||||
cJSON *itemLocal = OpenAPI_snssai_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(target_snssai_listList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
if (access_token_req->target_nsi_list) {
|
||||
cJSON *target_nsi_list = cJSON_AddArrayToObject(item, "targetNsiList");
|
||||
if (target_nsi_list == NULL) {
|
||||
cJSON *target_nsi_listList = cJSON_AddArrayToObject(item, "targetNsiList");
|
||||
if (target_nsi_listList == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *target_nsi_list_node;
|
||||
OpenAPI_list_for_each(access_token_req->target_nsi_list, target_nsi_list_node) {
|
||||
if (cJSON_AddStringToObject(target_nsi_list, "", (char*)target_nsi_list_node->data) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
OpenAPI_list_for_each(access_token_req->target_nsi_list, node) {
|
||||
if (cJSON_AddStringToObject(target_nsi_listList, "", (char*)node->data) == NULL) {
|
||||
ogs_error("OpenAPI_access_token_req_convertToJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (access_token_req->target_nf_set_id) {
|
||||
|
|
@ -302,33 +337,55 @@ end:
|
|||
OpenAPI_access_token_req_t *OpenAPI_access_token_req_parseFromJSON(cJSON *access_token_reqJSON)
|
||||
{
|
||||
OpenAPI_access_token_req_t *access_token_req_local_var = NULL;
|
||||
cJSON *grant_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "grant_type");
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
cJSON *grant_type = NULL;
|
||||
OpenAPI_access_token_req_grant_type_e grant_typeVariable = 0;
|
||||
cJSON *nf_instance_id = NULL;
|
||||
cJSON *nf_type = NULL;
|
||||
OpenAPI_nf_type_e nf_typeVariable = 0;
|
||||
cJSON *target_nf_type = NULL;
|
||||
OpenAPI_nf_type_e target_nf_typeVariable = 0;
|
||||
cJSON *scope = NULL;
|
||||
cJSON *target_nf_instance_id = NULL;
|
||||
cJSON *requester_plmn = NULL;
|
||||
OpenAPI_plmn_id_t *requester_plmn_local_nonprim = NULL;
|
||||
cJSON *requester_plmn_list = NULL;
|
||||
OpenAPI_list_t *requester_plmn_listList = NULL;
|
||||
cJSON *requester_snssai_list = NULL;
|
||||
OpenAPI_list_t *requester_snssai_listList = NULL;
|
||||
cJSON *requester_fqdn = NULL;
|
||||
cJSON *requester_snpn_list = NULL;
|
||||
OpenAPI_list_t *requester_snpn_listList = NULL;
|
||||
cJSON *target_plmn = NULL;
|
||||
OpenAPI_plmn_id_t *target_plmn_local_nonprim = NULL;
|
||||
cJSON *target_snssai_list = NULL;
|
||||
OpenAPI_list_t *target_snssai_listList = NULL;
|
||||
cJSON *target_nsi_list = NULL;
|
||||
OpenAPI_list_t *target_nsi_listList = NULL;
|
||||
cJSON *target_nf_set_id = NULL;
|
||||
cJSON *target_nf_service_set_id = NULL;
|
||||
grant_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "grant_type");
|
||||
if (!grant_type) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [grant_type]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_access_token_req_grant_type_e grant_typeVariable;
|
||||
if (!cJSON_IsString(grant_type)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [grant_type]");
|
||||
goto end;
|
||||
}
|
||||
grant_typeVariable = OpenAPI_grant_typeaccess_token_req_FromString(grant_type->valuestring);
|
||||
|
||||
cJSON *nf_instance_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "nfInstanceId");
|
||||
nf_instance_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "nfInstanceId");
|
||||
if (!nf_instance_id) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [nf_instance_id]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!cJSON_IsString(nf_instance_id)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [nf_instance_id]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
cJSON *nf_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "nfType");
|
||||
|
||||
OpenAPI_nf_type_e nf_typeVariable;
|
||||
nf_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "nfType");
|
||||
if (nf_type) {
|
||||
if (!cJSON_IsString(nf_type)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [nf_type]");
|
||||
|
|
@ -337,9 +394,7 @@ OpenAPI_access_token_req_t *OpenAPI_access_token_req_parseFromJSON(cJSON *access
|
|||
nf_typeVariable = OpenAPI_nf_type_FromString(nf_type->valuestring);
|
||||
}
|
||||
|
||||
cJSON *target_nf_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfType");
|
||||
|
||||
OpenAPI_nf_type_e target_nf_typeVariable;
|
||||
target_nf_type = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfType");
|
||||
if (target_nf_type) {
|
||||
if (!cJSON_IsString(target_nf_type)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nf_type]");
|
||||
|
|
@ -348,198 +403,174 @@ OpenAPI_access_token_req_t *OpenAPI_access_token_req_parseFromJSON(cJSON *access
|
|||
target_nf_typeVariable = OpenAPI_nf_type_FromString(target_nf_type->valuestring);
|
||||
}
|
||||
|
||||
cJSON *scope = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "scope");
|
||||
scope = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "scope");
|
||||
if (!scope) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [scope]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!cJSON_IsString(scope)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [scope]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
cJSON *target_nf_instance_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfInstanceId");
|
||||
|
||||
target_nf_instance_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfInstanceId");
|
||||
if (target_nf_instance_id) {
|
||||
if (!cJSON_IsString(target_nf_instance_id)) {
|
||||
if (!cJSON_IsString(target_nf_instance_id) && !cJSON_IsNull(target_nf_instance_id)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nf_instance_id]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *requester_plmn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterPlmn");
|
||||
|
||||
OpenAPI_plmn_id_t *requester_plmn_local_nonprim = NULL;
|
||||
requester_plmn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterPlmn");
|
||||
if (requester_plmn) {
|
||||
requester_plmn_local_nonprim = OpenAPI_plmn_id_parseFromJSON(requester_plmn);
|
||||
}
|
||||
|
||||
cJSON *requester_plmn_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterPlmnList");
|
||||
|
||||
OpenAPI_list_t *requester_plmn_listList;
|
||||
requester_plmn_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterPlmnList");
|
||||
if (requester_plmn_list) {
|
||||
cJSON *requester_plmn_list_local_nonprimitive;
|
||||
if (!cJSON_IsArray(requester_plmn_list)){
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
requester_plmn_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_plmn_list_local_nonprimitive, requester_plmn_list ) {
|
||||
if (!cJSON_IsObject(requester_plmn_list_local_nonprimitive)) {
|
||||
cJSON *requester_plmn_list_local = NULL;
|
||||
if (!cJSON_IsArray(requester_plmn_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_plmn_id_t *requester_plmn_listItem = OpenAPI_plmn_id_parseFromJSON(requester_plmn_list_local_nonprimitive);
|
||||
|
||||
if (!requester_plmn_listItem) {
|
||||
ogs_error("No requester_plmn_listItem");
|
||||
OpenAPI_list_free(requester_plmn_listList);
|
||||
goto end;
|
||||
requester_plmn_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_plmn_list_local, requester_plmn_list) {
|
||||
if (!cJSON_IsObject(requester_plmn_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_plmn_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_plmn_id_t *requester_plmn_listItem = OpenAPI_plmn_id_parseFromJSON(requester_plmn_list_local);
|
||||
if (!requester_plmn_listItem) {
|
||||
ogs_error("No requester_plmn_listItem");
|
||||
OpenAPI_list_free(requester_plmn_listList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(requester_plmn_listList, requester_plmn_listItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(requester_plmn_listList, requester_plmn_listItem);
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *requester_snssai_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterSnssaiList");
|
||||
|
||||
OpenAPI_list_t *requester_snssai_listList;
|
||||
requester_snssai_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterSnssaiList");
|
||||
if (requester_snssai_list) {
|
||||
cJSON *requester_snssai_list_local_nonprimitive;
|
||||
if (!cJSON_IsArray(requester_snssai_list)){
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
requester_snssai_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_snssai_list_local_nonprimitive, requester_snssai_list ) {
|
||||
if (!cJSON_IsObject(requester_snssai_list_local_nonprimitive)) {
|
||||
cJSON *requester_snssai_list_local = NULL;
|
||||
if (!cJSON_IsArray(requester_snssai_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_snssai_t *requester_snssai_listItem = OpenAPI_snssai_parseFromJSON(requester_snssai_list_local_nonprimitive);
|
||||
|
||||
if (!requester_snssai_listItem) {
|
||||
ogs_error("No requester_snssai_listItem");
|
||||
OpenAPI_list_free(requester_snssai_listList);
|
||||
goto end;
|
||||
requester_snssai_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_snssai_list_local, requester_snssai_list) {
|
||||
if (!cJSON_IsObject(requester_snssai_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_snssai_t *requester_snssai_listItem = OpenAPI_snssai_parseFromJSON(requester_snssai_list_local);
|
||||
if (!requester_snssai_listItem) {
|
||||
ogs_error("No requester_snssai_listItem");
|
||||
OpenAPI_list_free(requester_snssai_listList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(requester_snssai_listList, requester_snssai_listItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(requester_snssai_listList, requester_snssai_listItem);
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *requester_fqdn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterFqdn");
|
||||
|
||||
requester_fqdn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterFqdn");
|
||||
if (requester_fqdn) {
|
||||
if (!cJSON_IsString(requester_fqdn)) {
|
||||
if (!cJSON_IsString(requester_fqdn) && !cJSON_IsNull(requester_fqdn)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_fqdn]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *requester_snpn_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterSnpnList");
|
||||
|
||||
OpenAPI_list_t *requester_snpn_listList;
|
||||
requester_snpn_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "requesterSnpnList");
|
||||
if (requester_snpn_list) {
|
||||
cJSON *requester_snpn_list_local_nonprimitive;
|
||||
if (!cJSON_IsArray(requester_snpn_list)){
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
requester_snpn_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_snpn_list_local_nonprimitive, requester_snpn_list ) {
|
||||
if (!cJSON_IsObject(requester_snpn_list_local_nonprimitive)) {
|
||||
cJSON *requester_snpn_list_local = NULL;
|
||||
if (!cJSON_IsArray(requester_snpn_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_plmn_id_nid_t *requester_snpn_listItem = OpenAPI_plmn_id_nid_parseFromJSON(requester_snpn_list_local_nonprimitive);
|
||||
|
||||
if (!requester_snpn_listItem) {
|
||||
ogs_error("No requester_snpn_listItem");
|
||||
OpenAPI_list_free(requester_snpn_listList);
|
||||
goto end;
|
||||
requester_snpn_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(requester_snpn_list_local, requester_snpn_list) {
|
||||
if (!cJSON_IsObject(requester_snpn_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [requester_snpn_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_plmn_id_nid_t *requester_snpn_listItem = OpenAPI_plmn_id_nid_parseFromJSON(requester_snpn_list_local);
|
||||
if (!requester_snpn_listItem) {
|
||||
ogs_error("No requester_snpn_listItem");
|
||||
OpenAPI_list_free(requester_snpn_listList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(requester_snpn_listList, requester_snpn_listItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(requester_snpn_listList, requester_snpn_listItem);
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *target_plmn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetPlmn");
|
||||
|
||||
OpenAPI_plmn_id_t *target_plmn_local_nonprim = NULL;
|
||||
target_plmn = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetPlmn");
|
||||
if (target_plmn) {
|
||||
target_plmn_local_nonprim = OpenAPI_plmn_id_parseFromJSON(target_plmn);
|
||||
}
|
||||
|
||||
cJSON *target_snssai_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetSnssaiList");
|
||||
|
||||
OpenAPI_list_t *target_snssai_listList;
|
||||
target_snssai_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetSnssaiList");
|
||||
if (target_snssai_list) {
|
||||
cJSON *target_snssai_list_local_nonprimitive;
|
||||
if (!cJSON_IsArray(target_snssai_list)){
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
target_snssai_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(target_snssai_list_local_nonprimitive, target_snssai_list ) {
|
||||
if (!cJSON_IsObject(target_snssai_list_local_nonprimitive)) {
|
||||
cJSON *target_snssai_list_local = NULL;
|
||||
if (!cJSON_IsArray(target_snssai_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_snssai_t *target_snssai_listItem = OpenAPI_snssai_parseFromJSON(target_snssai_list_local_nonprimitive);
|
||||
|
||||
if (!target_snssai_listItem) {
|
||||
ogs_error("No target_snssai_listItem");
|
||||
OpenAPI_list_free(target_snssai_listList);
|
||||
target_snssai_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(target_snssai_list_local, target_snssai_list) {
|
||||
if (!cJSON_IsObject(target_snssai_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_snssai_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_snssai_t *target_snssai_listItem = OpenAPI_snssai_parseFromJSON(target_snssai_list_local);
|
||||
if (!target_snssai_listItem) {
|
||||
ogs_error("No target_snssai_listItem");
|
||||
OpenAPI_list_free(target_snssai_listList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(target_snssai_listList, target_snssai_listItem);
|
||||
}
|
||||
}
|
||||
|
||||
target_nsi_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNsiList");
|
||||
if (target_nsi_list) {
|
||||
cJSON *target_nsi_list_local = NULL;
|
||||
if (!cJSON_IsArray(target_nsi_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_list_add(target_snssai_listList, target_snssai_listItem);
|
||||
}
|
||||
target_nsi_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(target_nsi_list_local, target_nsi_list) {
|
||||
double *localDouble = NULL;
|
||||
int *localInt = NULL;
|
||||
if (!cJSON_IsString(target_nsi_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(target_nsi_listList, ogs_strdup(target_nsi_list_local->valuestring));
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *target_nsi_list = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNsiList");
|
||||
|
||||
OpenAPI_list_t *target_nsi_listList;
|
||||
if (target_nsi_list) {
|
||||
cJSON *target_nsi_list_local;
|
||||
if (!cJSON_IsArray(target_nsi_list)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
target_nsi_listList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(target_nsi_list_local, target_nsi_list) {
|
||||
if (!cJSON_IsString(target_nsi_list_local)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nsi_list]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(target_nsi_listList, ogs_strdup(target_nsi_list_local->valuestring));
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *target_nf_set_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfSetId");
|
||||
|
||||
target_nf_set_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfSetId");
|
||||
if (target_nf_set_id) {
|
||||
if (!cJSON_IsString(target_nf_set_id)) {
|
||||
if (!cJSON_IsString(target_nf_set_id) && !cJSON_IsNull(target_nf_set_id)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nf_set_id]");
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *target_nf_service_set_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfServiceSetId");
|
||||
|
||||
target_nf_service_set_id = cJSON_GetObjectItemCaseSensitive(access_token_reqJSON, "targetNfServiceSetId");
|
||||
if (target_nf_service_set_id) {
|
||||
if (!cJSON_IsString(target_nf_service_set_id)) {
|
||||
if (!cJSON_IsString(target_nf_service_set_id) && !cJSON_IsNull(target_nf_service_set_id)) {
|
||||
ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nf_service_set_id]");
|
||||
goto end;
|
||||
}
|
||||
|
|
@ -551,21 +582,64 @@ OpenAPI_access_token_req_t *OpenAPI_access_token_req_parseFromJSON(cJSON *access
|
|||
nf_type ? nf_typeVariable : 0,
|
||||
target_nf_type ? target_nf_typeVariable : 0,
|
||||
ogs_strdup(scope->valuestring),
|
||||
target_nf_instance_id ? ogs_strdup(target_nf_instance_id->valuestring) : NULL,
|
||||
target_nf_instance_id && !cJSON_IsNull(target_nf_instance_id) ? ogs_strdup(target_nf_instance_id->valuestring) : NULL,
|
||||
requester_plmn ? requester_plmn_local_nonprim : NULL,
|
||||
requester_plmn_list ? requester_plmn_listList : NULL,
|
||||
requester_snssai_list ? requester_snssai_listList : NULL,
|
||||
requester_fqdn ? ogs_strdup(requester_fqdn->valuestring) : NULL,
|
||||
requester_fqdn && !cJSON_IsNull(requester_fqdn) ? ogs_strdup(requester_fqdn->valuestring) : NULL,
|
||||
requester_snpn_list ? requester_snpn_listList : NULL,
|
||||
target_plmn ? target_plmn_local_nonprim : NULL,
|
||||
target_snssai_list ? target_snssai_listList : NULL,
|
||||
target_nsi_list ? target_nsi_listList : NULL,
|
||||
target_nf_set_id ? ogs_strdup(target_nf_set_id->valuestring) : NULL,
|
||||
target_nf_service_set_id ? ogs_strdup(target_nf_service_set_id->valuestring) : NULL
|
||||
target_nf_set_id && !cJSON_IsNull(target_nf_set_id) ? ogs_strdup(target_nf_set_id->valuestring) : NULL,
|
||||
target_nf_service_set_id && !cJSON_IsNull(target_nf_service_set_id) ? ogs_strdup(target_nf_service_set_id->valuestring) : NULL
|
||||
);
|
||||
|
||||
return access_token_req_local_var;
|
||||
end:
|
||||
if (requester_plmn_local_nonprim) {
|
||||
OpenAPI_plmn_id_free(requester_plmn_local_nonprim);
|
||||
requester_plmn_local_nonprim = NULL;
|
||||
}
|
||||
if (requester_plmn_listList) {
|
||||
OpenAPI_list_for_each(requester_plmn_listList, node) {
|
||||
OpenAPI_plmn_id_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(requester_plmn_listList);
|
||||
requester_plmn_listList = NULL;
|
||||
}
|
||||
if (requester_snssai_listList) {
|
||||
OpenAPI_list_for_each(requester_snssai_listList, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(requester_snssai_listList);
|
||||
requester_snssai_listList = NULL;
|
||||
}
|
||||
if (requester_snpn_listList) {
|
||||
OpenAPI_list_for_each(requester_snpn_listList, node) {
|
||||
OpenAPI_plmn_id_nid_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(requester_snpn_listList);
|
||||
requester_snpn_listList = NULL;
|
||||
}
|
||||
if (target_plmn_local_nonprim) {
|
||||
OpenAPI_plmn_id_free(target_plmn_local_nonprim);
|
||||
target_plmn_local_nonprim = NULL;
|
||||
}
|
||||
if (target_snssai_listList) {
|
||||
OpenAPI_list_for_each(target_snssai_listList, node) {
|
||||
OpenAPI_snssai_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(target_snssai_listList);
|
||||
target_snssai_listList = NULL;
|
||||
}
|
||||
if (target_nsi_listList) {
|
||||
OpenAPI_list_for_each(target_nsi_listList, node) {
|
||||
ogs_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(target_nsi_listList);
|
||||
target_nsi_listList = NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue