checking for APN/DNN in case insensitive #617

This commit is contained in:
Sukchan Lee 2020-11-02 11:45:14 -05:00
parent b80554e955
commit ad85c12513
8 changed files with 15 additions and 14 deletions

View File

@ -755,7 +755,7 @@ ogs_pfcp_gtpu_resource_t *ogs_pfcp_gtpu_resource_find(ogs_list_t *list,
if (resource->info.assoni &&
strlen(resource->info.network_instance) &&
apn && strlen(apn) &&
strcmp(apn, resource->info.network_instance) != 0) {
ogs_strcasecmp(apn, resource->info.network_instance) != 0) {
match = false;
}
@ -1599,7 +1599,7 @@ ogs_pfcp_dev_t *ogs_pfcp_dev_find_by_ifname(const char *ifname)
ogs_assert(ifname);
ogs_list_for_each(&ogs_pfcp_self()->dev_list, dev) {
if (strcmp(dev->ifname, ifname) == 0)
if (ogs_strcasecmp(dev->ifname, ifname) == 0)
return dev;
}
@ -1678,7 +1678,7 @@ ogs_pfcp_subnet_t *ogs_pfcp_find_subnet(int family, const char *apn)
ogs_list_for_each(&self.subnet_list, subnet) {
if ((subnet->family == AF_UNSPEC || subnet->family == family) &&
(strlen(subnet->apn) == 0 ||
(strlen(subnet->apn) && strcmp(subnet->apn, apn) == 0)))
(strlen(subnet->apn) && ogs_strcasecmp(subnet->apn, apn) == 0)))
break;
}

View File

@ -1730,7 +1730,7 @@ ogs_sockaddr_t *mme_pgw_addr_find_by_apn(
while (addr) {
if (addr->ogs_sa_family == family &&
(!apn || (pgw->apn && !strcmp(apn, pgw->apn)))) {
(!apn || (pgw->apn && !ogs_strcasecmp(apn, pgw->apn)))) {
return addr;
}
addr = addr->next;
@ -2748,7 +2748,7 @@ mme_sess_t *mme_sess_find_by_apn(mme_ue_t *mme_ue, char *apn)
sess = mme_sess_first(mme_ue);
while (sess) {
if (sess->pdn && strcmp(sess->pdn->apn, apn) == 0)
if (sess->pdn && ogs_strcasecmp(sess->pdn->apn, apn) == 0)
return sess;
sess = mme_sess_next(sess);
@ -3120,7 +3120,7 @@ ogs_pdn_t *mme_pdn_find_by_apn(mme_ue_t *mme_ue, char *apn)
for (i = 0; i < subscription_data->num_of_pdn; i++) {
pdn = &subscription_data->pdn[i];
if (strcmp(pdn->apn, apn) == 0)
if (ogs_strcasecmp(pdn->apn, apn) == 0)
return pdn;
}

View File

@ -432,7 +432,7 @@ static bool compare_ue_info(ogs_pfcp_node_t *node, sgwc_sess_t *sess)
ogs_assert(sgwc_ue);
for (i = 0; i < node->num_of_apn; i++)
if (strcmp(node->apn[i], sess->pdn.apn) == 0) return true;
if (ogs_strcasecmp(node->apn[i], sess->pdn.apn) == 0) return true;
for (i = 0; i < node->num_of_e_cell_id; i++)
if (node->e_cell_id[i] == sgwc_ue->e_cgi.cell_id) return true;
@ -574,7 +574,7 @@ sgwc_sess_t* sgwc_sess_find_by_apn(sgwc_ue_t *sgwc_ue, char *apn)
ogs_assert(apn);
ogs_list_for_each(&sgwc_ue->sess_list, sess) {
if (!strcmp(sess->pdn.apn, apn))
if (!ogs_strcasecmp(sess->pdn.apn, apn))
return sess;
}

View File

@ -612,7 +612,7 @@ static bool compare_ue_info(ogs_pfcp_node_t *node, smf_sess_t *sess)
ogs_assert(sess);
for (i = 0; i < node->num_of_apn; i++)
if (strcmp(node->apn[i], sess->pdn.apn) == 0) return true;
if (ogs_strcasecmp(node->apn[i], sess->pdn.apn) == 0) return true;
for (i = 0; i < node->num_of_e_cell_id; i++)
if (node->e_cell_id[i] == sess->e_cgi.cell_id) return true;
@ -1101,7 +1101,7 @@ smf_sess_t *smf_sess_find_by_apn(smf_ue_t *smf_ue, char *apn)
ogs_assert(apn);
ogs_list_for_each(&smf_ue->sess_list, sess) {
if (!strcmp(sess->pdn.apn, apn))
if (!ogs_strcasecmp(sess->pdn.apn, apn))
return sess;
}

View File

@ -103,7 +103,8 @@ bool smf_nudm_sdm_handle_get(smf_sess_t *sess, ogs_sbi_session_t *session,
continue;
}
if (sess->dnn && strcmp(sess->dnn, dnnConfigurationMap->key) != 0)
if (sess->dnn &&
ogs_strcasecmp(sess->dnn, dnnConfigurationMap->key) != 0)
continue;
if (sess->ue_pdu_session_type) {

View File

@ -441,7 +441,7 @@ bool udr_nudr_dr_handle_subscription_provisioned(
ogs_assert(pdn);
if (recvmsg->param.dnn &&
strcmp(recvmsg->param.dnn, pdn->apn) != 0) continue;
ogs_strcasecmp(recvmsg->param.dnn, pdn->apn) != 0) continue;
if (!pdn->qos.qci) {
ogs_error("No QCI");

View File

@ -118,7 +118,7 @@ static void test1_func(abts_case *tc, void *data)
OGS_HEX(_k_string, strlen(_k_string), test_ue->k);
OGS_HEX(_opc_string, strlen(_opc_string), test_ue->opc);
sess = test_sess_add_by_apn(test_ue, "internet");
sess = test_sess_add_by_apn(test_ue, "INTERNET");
ogs_assert(sess);
/* eNB connects to MME */

View File

@ -1014,7 +1014,7 @@ test_sess_t *test_sess_find_by_apn(test_ue_t *test_ue, char *apn)
ogs_assert(apn);
ogs_list_for_each(&test_ue->sess_list, sess)
if (strcmp(sess->apn, apn) == 0) return sess;
if (ogs_strcasecmp(sess->apn, apn) == 0) return sess;
return NULL;
}