[AMF] Distinguish Cleartext/Non-cleartext (#958)

1. If UE does not use a NAS container for Non-cleartext IEs,
   Open5GS AMF will send Registration reject message.
2. If UE sends Non-cleartext IEs without Integrity-protected,
   Open5GS AMF will send Registration reject message.
3. If UE does not send NAS container in Security mode complete message,
   Open5GS AMF will send Registration reject message.
This commit is contained in:
Sukchan Lee
2021-05-07 15:07:51 +09:00
parent 182a61dc0b
commit 1dc692753a
17 changed files with 235 additions and 92 deletions

View File

@@ -123,10 +123,11 @@ typedef struct test_registration_request_param_s {
uint8_t update_type:1;)
};
struct {
ED4(uint8_t uplink_data_status:1;,
ED5(uint8_t uplink_data_status:1;,
uint8_t pdu_session_status:1;,
uint8_t allowed_pdu_session_status:1;,
uint8_t spare2:5;)
uint8_t s1_ue_network_capability:1;,
uint8_t spare2:4;)
};
struct {
uint16_t pdu_session_status;

View File

@@ -144,17 +144,19 @@ ogs_pkbuf_t *testgmm_build_registration_request(
test_ue->ue_security_capability.eutra_ia;
}
registration_request->presencemask |=
if (test_ue->registration_request_param.s1_ue_network_capability) {
registration_request->presencemask |=
OGS_NAS_5GS_REGISTRATION_REQUEST_S1_UE_NETWORK_CAPABILITY_PRESENT;
s1_ue_network_capability->length = 7;
s1_ue_network_capability->eea = test_ue->ue_network_capability.eea;
s1_ue_network_capability->eia = test_ue->ue_network_capability.eia;
s1_ue_network_capability->uea = 0xc0;
s1_ue_network_capability->uia = 0xc0;
s1_ue_network_capability->notification_procedure = 1;
s1_ue_network_capability->extended_protocol_configuration_options = 1;
s1_ue_network_capability->n1_mode = 1;
s1_ue_network_capability->dual_connectivity_with_nr = 1;
s1_ue_network_capability->length = 7;
s1_ue_network_capability->eea = test_ue->ue_network_capability.eea;
s1_ue_network_capability->eia = test_ue->ue_network_capability.eia;
s1_ue_network_capability->uea = 0xc0;
s1_ue_network_capability->uia = 0xc0;
s1_ue_network_capability->notification_procedure = 1;
s1_ue_network_capability->extended_protocol_configuration_options = 1;
s1_ue_network_capability->n1_mode = 1;
s1_ue_network_capability->dual_connectivity_with_nr = 1;
}
if (test_ue->registration_request_param.requested_nssai) {
/* Set Requested NSSAI */

View File

@@ -118,6 +118,7 @@ static void failure_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -518,6 +519,7 @@ static void direct_complete_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1134,6 +1136,7 @@ static void direct_cancel_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1550,6 +1553,7 @@ static void indirect_complete_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -2202,6 +2206,7 @@ static void indirect_cancel_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -118,6 +118,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -92,7 +92,6 @@ static void test1_func(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 1;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf, false, true);
@@ -142,7 +141,6 @@ static void test1_func(abts_case *tc, void *data)
test_ue->ngap_procedure_code);
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 1;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf, false, true);

View File

@@ -97,6 +97,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -340,6 +341,7 @@ static void test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -544,11 +546,11 @@ static void test3_func(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 0;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -762,13 +764,10 @@ static void test3_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.guti = 1;
test_ue->registration_request_param.gmm_capability = 0;
test_ue->registration_request_param.requested_nssai = 0;
test_ue->registration_request_param.last_visited_registered_tai = 0;
test_ue->registration_request_param.ue_usage_setting = 0;
test_ue->registration_request_param.update_type = 0;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
@@ -997,12 +996,15 @@ static void test4_func(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
for (i = 0; i < 10; i++) {
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 0;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -97,6 +97,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -98,6 +98,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -273,8 +274,10 @@ static void test1_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.uplink_data_status = 0;
test_ue->registration_request_param.guti = 1;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
@@ -574,6 +577,7 @@ static void test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -749,8 +753,10 @@ static void test2_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.uplink_data_status = 0;
test_ue->registration_request_param.guti = 1;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);

View File

@@ -97,6 +97,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -211,10 +212,17 @@ static void test1_func(abts_case *tc, void *data)
OGS_NAS_5GS_REGISTRATION_TYPE_MOBILITY_UPDATING;
/* Send Registration request */
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.integrity_protected = 0;
test_ue->registration_request_param.guti = 1;
test_ue->registration_request_param.uplink_data_status = 1;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.guti = 1;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf, true, true);

View File

@@ -97,6 +97,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -492,6 +493,7 @@ static void test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -738,6 +740,7 @@ static void test3_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1097,6 +1100,7 @@ static void test4_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1550,6 +1554,7 @@ static void test5_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1908,10 +1913,11 @@ static void test6_func(abts_case *tc, void *data)
/* Send Registration request */
test_ue->registration_request_param.guti = 1;
test_ue->registration_request_param.gmm_capability = 1;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -97,6 +97,7 @@ static void cm_idle_paging_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -661,6 +662,7 @@ static void cm_idle_error_indication_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1004,6 +1006,7 @@ static void cm_connected_error_indication_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1285,6 +1288,7 @@ static void vonr_qos_flow_test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -1683,6 +1687,7 @@ static void vonr_session_test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -2169,6 +2174,7 @@ static void registration_ue_context_test4_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -2561,6 +2567,7 @@ static void registration_idle_test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -143,6 +143,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -407,6 +408,7 @@ static void test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -97,6 +97,7 @@ static void test1_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -255,6 +256,7 @@ static void test2_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -302,10 +304,13 @@ static void test2_func(abts_case *tc, void *data)
test_ue->ngap_procedure_code);
/* Send Registration request */
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -549,6 +554,7 @@ static void test3_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;
@@ -689,8 +695,10 @@ static void test3_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.uplink_data_status = 0;
test_ue->registration_request_param.guti = 1;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
@@ -839,8 +847,10 @@ static void test3_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.uplink_data_status = 0;
test_ue->registration_request_param.guti = 1;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
@@ -989,6 +999,7 @@ static void test4_func(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, gmmbuf);
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.s1_ue_network_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->registration_request_param.last_visited_registered_tai = 1;
test_ue->registration_request_param.ue_usage_setting = 1;

View File

@@ -92,9 +92,6 @@ static void test1_func(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.requested_nssai = 0;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf, false, true);
@@ -261,13 +258,10 @@ static void test1_func(abts_case *tc, void *data)
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
memset(&test_ue->registration_request_param, 0,
sizeof(test_ue->registration_request_param));
test_ue->registration_request_param.integrity_protected = 1;
test_ue->registration_request_param.guti = 1;
test_ue->registration_request_param.gmm_capability = 0;
test_ue->registration_request_param.requested_nssai = 0;
test_ue->registration_request_param.last_visited_registered_tai = 0;
test_ue->registration_request_param.ue_usage_setting = 0;
test_ue->registration_request_param.update_type = 0;
gmmbuf = testgmm_build_registration_request(test_ue, nasbuf);
ABTS_PTR_NOTNULL(tc, gmmbuf);
@@ -402,32 +396,6 @@ static void test2_func(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
/* Send Registration request */
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->requested_nssai.s_nssai[1].sd.v = 0x000070;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sst = 2;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sst = 0;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.num_of_s_nssai++;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sst = 3;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sd.v = 0x000080;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sst = 0;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.num_of_s_nssai++;
gmmbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, gmmbuf);
sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf, false, true);
@@ -454,6 +422,31 @@ static void test2_func(abts_case *tc, void *data)
testngap_recv(test_ue, recvbuf);
/* Send Security mode complete */
test_ue->registration_request_param.gmm_capability = 1;
test_ue->registration_request_param.requested_nssai = 1;
test_ue->requested_nssai.s_nssai[1].sd.v = 0x000070;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sst = 2;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sst = 0;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.num_of_s_nssai++;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sst = 3;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
sd.v = 0x000080;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sst = 0;
test_ue->requested_nssai.s_nssai[test_ue->requested_nssai.num_of_s_nssai].
mapped_hplmn_sd.v = OGS_S_NSSAI_NO_SD_VALUE;
test_ue->requested_nssai.num_of_s_nssai++;
nasbuf = testgmm_build_registration_request(test_ue, NULL);
ABTS_PTR_NOTNULL(tc, nasbuf);
gmmbuf = testgmm_build_security_mode_complete(test_ue, nasbuf);