sgsn: If there is a subscr don't allow an empty list
This is a left-over from the initial system where no PDP was provided by the system. For now if there is a subscr attached and no PDP context provisioned. He is not allowed to have a data connection. Update the testcase to create the pdp list entry more early with a wildcard and then change it to a specific match.
This commit is contained in:
parent
5e4b88cbb2
commit
9270d99f3d
|
@ -638,8 +638,7 @@ struct sgsn_ggsn_ctx *sgsn_mm_ctx_find_ggsn_ctx(struct sgsn_mm_ctx *mmctx,
|
|||
req_apn_str[0] = 0;
|
||||
}
|
||||
|
||||
if (mmctx->subscr == NULL ||
|
||||
llist_empty(&mmctx->subscr->sgsn_data->pdp_list))
|
||||
if (mmctx->subscr == NULL)
|
||||
allow_any_apn = 1;
|
||||
|
||||
if (strlen(req_apn_str) == 0 && !allow_any_apn) {
|
||||
|
|
|
@ -1871,6 +1871,11 @@ static void test_ggsn_selection(void)
|
|||
actxs[2] = sgsn_apn_ctx_find_alloc("*", "456789");
|
||||
actxs[2]->ggsn = ggcs[2];
|
||||
|
||||
pdp_data = sgsn_subscriber_pdp_data_alloc(s1->sgsn_data);
|
||||
pdp_data->context_id = 1;
|
||||
pdp_data->pdp_type = 0x0121;
|
||||
strncpy(pdp_data->apn_str, "*", sizeof(pdp_data->apn_str)-1);
|
||||
|
||||
/* Resolve GGSNs */
|
||||
|
||||
tp.lv[GSM48_IE_GSM_APN].len =
|
||||
|
@ -1917,10 +1922,6 @@ static void test_ggsn_selection(void)
|
|||
|
||||
/* Add PDP data entry to subscriber */
|
||||
|
||||
pdp_data = sgsn_subscriber_pdp_data_alloc(s1->sgsn_data);
|
||||
pdp_data->context_id = 1;
|
||||
|
||||
pdp_data->pdp_type = 0x0121;
|
||||
strncpy(pdp_data->apn_str, "Test.Apn", sizeof(pdp_data->apn_str)-1);
|
||||
|
||||
tp.lv[GSM48_IE_GSM_APN].len =
|
||||
|
|
Loading…
Reference in New Issue