Changes of Revision 528

open5gs_2.6.6.42.a4f8ba.202311302026.dsc -> open5gs_2.6.6.43.f68a1.202312012026.dsc Changed
x
 
1
@@ -2,7 +2,7 @@
2
 Source: open5gs
3
 Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-sepp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
 Architecture: any
5
-Version: 2.6.6.42.a4f8ba.202311302026
6
+Version: 2.6.6.43.f68a1.202312012026
7
 Maintainer: Harald Welte <laforge@gnumonks.org>
8
 Uploaders: Sukchan Lee <acetcom@gmail.com>
9
 Homepage: https://open5gs.org
10
@@ -32,8 +32,8 @@
11
  open5gs-udr deb net optional arch=any
12
  open5gs-upf deb net optional arch=any
13
 Checksums-Sha1:
14
- 5e5c4fde773627a6586016f5e95f08a6616aa026 14458568 open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz
15
+ b89dc05a7921eb630fd7f4a501f423c445e9c371 14459272 open5gs_2.6.6.43.f68a1.202312012026.tar.xz
16
 Checksums-Sha256:
17
- 09c8adf1668f8895890c53033c2a0d53df7be7b996b1d16a87ba909edd7b1676 14458568 open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz
18
+ 5aee2ba1968965b4d77a6affb1c07b2235a671c7086938e5f8c6bc090256c125 14459272 open5gs_2.6.6.43.f68a1.202312012026.tar.xz
19
 Files:
20
- 0831a53a844eec4b90cdba9267144948 14458568 open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz
21
+ 47734b78febcd9d7b95f99699a7ef759 14459272 open5gs_2.6.6.43.f68a1.202312012026.tar.xz
22
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/.tarball-version -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.6.6.42-a4f8ba.202311302026
3
+2.6.6.43-f68a1.202312012026
4
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/debian/changelog -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.6.6.42.a4f8ba.202311302026) unstable; urgency=medium
3
+open5gs (2.6.6.43.f68a1.202312012026) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom nightly feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Thu, 30 Nov 2023 20:27:50 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Fri, 01 Dec 2023 20:27:35 +0000
9
 
10
 open5gs (2.6.6) unstable; urgency=medium
11
 
12
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/src/amf/context.h -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/src/amf/context.h Changed
13
 
1
@@ -173,6 +173,11 @@
2
     /* UE context */
3
     bool            ue_context_requested;
4
     bool            initial_context_setup_request_sent;
5
+
6
+#define CONTEXT_SETUP_ESTABLISHED(__aMF) \
7
+    CM_CONNECTED(__aMF) && \
8
+    ((__aMF)->ran_ue->initial_context_setup_response_received == true)
9
+    bool            initial_context_setup_response_received;
10
     bool            ue_ambr_sent;
11
 
12
     /* Handover Info */
13
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/src/amf/namf-handler.c -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/src/amf/namf-handler.c Changed
45
 
1
@@ -367,10 +367,18 @@
2
             ogs_assert(r != OGS_ERROR);
3
 
4
         } else if (CM_CONNECTED(amf_ue)) {
5
-            r = nas_send_pdu_session_modification_command(sess, n1buf, n2buf);
6
-            ogs_expect(r == OGS_OK);
7
-            ogs_assert(r != OGS_ERROR);
8
-
9
+            if (CONTEXT_SETUP_ESTABLISHED(amf_ue)) {
10
+                r = nas_send_pdu_session_modification_command(
11
+                        sess, n1buf, n2buf);
12
+                ogs_expect(r == OGS_OK);
13
+                ogs_assert(r != OGS_ERROR);
14
+            } else {
15
+                /* Store 5GSM Message */
16
+                ogs_warn("Session MODIFY Context setup is not established");
17
+                AMF_SESS_STORE_5GSM_MESSAGE(sess,
18
+                        OGS_NAS_5GS_PDU_SESSION_MODIFICATION_COMMAND,
19
+                        n1buf, n2buf);
20
+            }
21
         } else {
22
             ogs_fatal("%s Invalid AMF-UE state", amf_ue->supi);
23
             ogs_assert_if_reached();
24
@@ -435,9 +443,17 @@
25
             }
26
 
27
         } else if (CM_CONNECTED(amf_ue)) {
28
-            r = nas_send_pdu_session_release_command(sess, n1buf, n2buf);
29
-            ogs_expect(r == OGS_OK);
30
-            ogs_assert(r != OGS_ERROR);
31
+            if (CONTEXT_SETUP_ESTABLISHED(amf_ue)) {
32
+                r = nas_send_pdu_session_release_command(sess, n1buf, n2buf);
33
+                ogs_expect(r == OGS_OK);
34
+                ogs_assert(r != OGS_ERROR);
35
+            } else {
36
+                /* Store 5GSM Message */
37
+                ogs_warn("Session RELEASE Context setup is not established");
38
+                AMF_SESS_STORE_5GSM_MESSAGE(sess,
39
+                        OGS_NAS_5GS_PDU_SESSION_RELEASE_COMMAND,
40
+                        n1buf, n2buf);
41
+            }
42
         } else {
43
             ogs_fatal("%s Invalid AMF-UE state", amf_ue->supi);
44
             ogs_assert_if_reached();
45
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/src/amf/ngap-handler.c -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/src/amf/ngap-handler.c Changed
19
 
1
@@ -934,6 +934,8 @@
2
     ogs_debug("    RAN_UE_NGAP_ID%d AMF_UE_NGAP_ID%lld",
3
             ran_ue->ran_ue_ngap_id, (long long)ran_ue->amf_ue_ngap_id);
4
 
5
+    ran_ue->initial_context_setup_response_received = true;
6
+
7
     amf_ue = ran_ue->amf_ue;
8
     if (!amf_ue) {
9
         ogs_error("Cannot find AMF-UE Context %lld",
10
@@ -3228,6 +3230,8 @@
11
     target_ue->ue_context_requested = source_ue->ue_context_requested;
12
     target_ue->initial_context_setup_request_sent =
13
             source_ue->initial_context_setup_request_sent;
14
+    target_ue->initial_context_setup_response_received =
15
+            source_ue->initial_context_setup_response_received;
16
 
17
     target_ue->psimask.activated = source_ue->psimask.activated;
18
 
19
open5gs_2.6.6.42.a4f8ba.202311302026.tar.xz/tests/vonr/session-test.c -> open5gs_2.6.6.43.f68a1.202312012026.tar.xz/tests/vonr/session-test.c Changed
201
 
1
@@ -2301,6 +2301,381 @@
2
     test_ue_remove(test_ue);
3
 }
4
 
5
+static void test7_issues2729_func(abts_case *tc, void *data)
6
+{
7
+    int rv;
8
+    ogs_socknode_t *ngap;
9
+    ogs_socknode_t *gtpu;
10
+    ogs_pkbuf_t *gmmbuf;
11
+    ogs_pkbuf_t *gsmbuf;
12
+    ogs_pkbuf_t *nasbuf;
13
+    ogs_pkbuf_t *sendbuf;
14
+    ogs_pkbuf_t *recvbuf;
15
+    ogs_ngap_message_t message;
16
+    int i;
17
+
18
+    uint8_t tmpOGS_HUGE_LEN;
19
+    char *_gtp_payload = "34ff0024"
20
+        "0000000100000085 010002004500001c 0c0b000040015a7a 0a2d00010a2d0002"
21
+        "00000964cd7c291f";
22
+
23
+    ogs_nas_5gs_mobile_identity_suci_t mobile_identity_suci;
24
+    test_ue_t *test_ue = NULL;
25
+    test_sess_t *sess = NULL;
26
+    test_bearer_t *qos_flow = NULL;
27
+
28
+    bson_t *doc = NULL;
29
+
30
+    /* Setup Test UE & Session Context */
31
+    memset(&mobile_identity_suci, 0, sizeof(mobile_identity_suci));
32
+
33
+    mobile_identity_suci.h.supi_format = OGS_NAS_5GS_SUPI_FORMAT_IMSI;
34
+    mobile_identity_suci.h.type = OGS_NAS_5GS_MOBILE_IDENTITY_SUCI;
35
+    mobile_identity_suci.routing_indicator1 = 0;
36
+    mobile_identity_suci.routing_indicator2 = 0xf;
37
+    mobile_identity_suci.routing_indicator3 = 0xf;
38
+    mobile_identity_suci.routing_indicator4 = 0xf;
39
+    mobile_identity_suci.protection_scheme_id = OGS_PROTECTION_SCHEME_NULL;
40
+    mobile_identity_suci.home_network_pki_value = 0;
41
+
42
+    test_ue = test_ue_add_by_suci(&mobile_identity_suci, "0000203190");
43
+    ogs_assert(test_ue);
44
+
45
+    test_ue->nr_cgi.cell_id = 0x40001;
46
+
47
+    test_ue->nas.registration.tsc = 0;
48
+    test_ue->nas.registration.ksi = OGS_NAS_KSI_NO_KEY_IS_AVAILABLE;
49
+    test_ue->nas.registration.follow_on_request = 1;
50
+    test_ue->nas.registration.value = OGS_NAS_5GS_REGISTRATION_TYPE_INITIAL;
51
+
52
+    test_ue->k_string = "465b5ce8b199b49faa5f0a2ee238a6bc";
53
+    test_ue->opc_string = "e8ed289deba952e4283b54e88e6183ca";
54
+
55
+    /* gNB connects to AMF */
56
+    ngap = testngap_client(AF_INET);
57
+    ABTS_PTR_NOTNULL(tc, ngap);
58
+
59
+    /* gNB connects to UPF */
60
+    gtpu = test_gtpu_server(1, AF_INET);
61
+    ABTS_PTR_NOTNULL(tc, gtpu);
62
+
63
+    /* Send NG-Setup Reqeust */
64
+    sendbuf = testngap_build_ng_setup_request(0x4000, 22);
65
+    ABTS_PTR_NOTNULL(tc, sendbuf);
66
+    rv = testgnb_ngap_send(ngap, sendbuf);
67
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
68
+
69
+    /* Receive NG-Setup Response */
70
+    recvbuf = testgnb_ngap_read(ngap);
71
+    ABTS_PTR_NOTNULL(tc, recvbuf);
72
+    testngap_recv(test_ue, recvbuf);
73
+
74
+    /********** Insert Subscriber in Database */
75
+    doc = test_db_new_session(test_ue);
76
+    ABTS_PTR_NOTNULL(tc, doc);
77
+    ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
78
+
79
+    /* Send Registration request */
80
+    test_ue->registration_request_param.guti = 1;
81
+    gmmbuf = testgmm_build_registration_request(test_ue, NULL, false, false);
82
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
83
+
84
+    test_ue->registration_request_param.gmm_capability = 1;
85
+    test_ue->registration_request_param.requested_nssai = 1;
86
+    test_ue->registration_request_param.last_visited_registered_tai = 1;
87
+    test_ue->registration_request_param.ue_usage_setting = 1;
88
+    nasbuf = testgmm_build_registration_request(test_ue, NULL, false, false);
89
+    ABTS_PTR_NOTNULL(tc, nasbuf);
90
+
91
+    sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf,
92
+                NGAP_RRCEstablishmentCause_mo_Signalling, false, true);
93
+    ABTS_PTR_NOTNULL(tc, sendbuf);
94
+    rv = testgnb_ngap_send(ngap, sendbuf);
95
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
96
+
97
+    /* Receive Identity request */
98
+    recvbuf = testgnb_ngap_read(ngap);
99
+    ABTS_PTR_NOTNULL(tc, recvbuf);
100
+    testngap_recv(test_ue, recvbuf);
101
+
102
+    /* Send Identity response */
103
+    gmmbuf = testgmm_build_identity_response(test_ue);
104
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
105
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
106
+    ABTS_PTR_NOTNULL(tc, sendbuf);
107
+    rv = testgnb_ngap_send(ngap, sendbuf);
108
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
109
+
110
+    /* Receive Authentication request */
111
+    recvbuf = testgnb_ngap_read(ngap);
112
+    ABTS_PTR_NOTNULL(tc, recvbuf);
113
+    testngap_recv(test_ue, recvbuf);
114
+
115
+    /* Send Authentication response */
116
+    gmmbuf = testgmm_build_authentication_response(test_ue);
117
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
118
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
119
+    ABTS_PTR_NOTNULL(tc, sendbuf);
120
+    rv = testgnb_ngap_send(ngap, sendbuf);
121
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
122
+
123
+    /* Receive Security mode command */
124
+    recvbuf = testgnb_ngap_read(ngap);
125
+    ABTS_PTR_NOTNULL(tc, recvbuf);
126
+    testngap_recv(test_ue, recvbuf);
127
+
128
+    /* Send Security mode complete */
129
+    gmmbuf = testgmm_build_security_mode_complete(test_ue, nasbuf);
130
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
131
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
132
+    ABTS_PTR_NOTNULL(tc, sendbuf);
133
+    rv = testgnb_ngap_send(ngap, sendbuf);
134
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
135
+
136
+    /* Receive InitialContextSetupRequest +
137
+     * Registration accept */
138
+    recvbuf = testgnb_ngap_read(ngap);
139
+    ABTS_PTR_NOTNULL(tc, recvbuf);
140
+    testngap_recv(test_ue, recvbuf);
141
+    ABTS_INT_EQUAL(tc,
142
+            NGAP_ProcedureCode_id_InitialContextSetup,
143
+            test_ue->ngap_procedure_code);
144
+
145
+    /* Send UERadioCapabilityInfoIndication */
146
+    sendbuf = testngap_build_ue_radio_capability_info_indication(test_ue);
147
+    ABTS_PTR_NOTNULL(tc, sendbuf);
148
+    rv = testgnb_ngap_send(ngap, sendbuf);
149
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
150
+
151
+    /* Send InitialContextSetupResponse */
152
+    sendbuf = testngap_build_initial_context_setup_response(test_ue, false);
153
+    ABTS_PTR_NOTNULL(tc, sendbuf);
154
+    rv = testgnb_ngap_send(ngap, sendbuf);
155
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
156
+
157
+    /* Send Registration complete */
158
+    gmmbuf = testgmm_build_registration_complete(test_ue);
159
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
160
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
161
+    ABTS_PTR_NOTNULL(tc, sendbuf);
162
+    rv = testgnb_ngap_send(ngap, sendbuf);
163
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
164
+
165
+    /* Receive Configuration update command */
166
+    recvbuf = testgnb_ngap_read(ngap);
167
+    ABTS_PTR_NOTNULL(tc, recvbuf);
168
+    testngap_recv(test_ue, recvbuf);
169
+
170
+    /* Send PDU session establishment request */
171
+    sess = test_sess_add_by_dnn_and_psi(test_ue, "internet", 5);
172
+    ogs_assert(sess);
173
+
174
+    sess->ul_nas_transport_param.request_type =
175
+        OGS_NAS_5GS_REQUEST_TYPE_INITIAL;
176
+    sess->ul_nas_transport_param.dnn = 1;
177
+    sess->ul_nas_transport_param.s_nssai = 1;
178
+
179
+    sess->pdu_session_establishment_param.ssc_mode = 1;
180
+    sess->pdu_session_establishment_param.epco = 1;
181
+
182
+    gsmbuf = testgsm_build_pdu_session_establishment_request(sess);
183
+    ABTS_PTR_NOTNULL(tc, gsmbuf);
184
+    gmmbuf = testgmm_build_ul_nas_transport(sess,
185
+            OGS_NAS_PAYLOAD_CONTAINER_N1_SM_INFORMATION, gsmbuf);
186
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
187
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
188
+    ABTS_PTR_NOTNULL(tc, sendbuf);
189
+    rv = testgnb_ngap_send(ngap, sendbuf);
190
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
191
+
192
+    /* Receive PDUSessionResourceSetupRequest +
193
+     * DL NAS transport +
194
+     * PDU session establishment accept */
195
+    recvbuf = testgnb_ngap_read(ngap);
196
+    ABTS_PTR_NOTNULL(tc, recvbuf);
197
+    testngap_recv(test_ue, recvbuf);
198
+    ABTS_INT_EQUAL(tc,
199
+            NGAP_ProcedureCode_id_PDUSessionResourceSetup,
200
+            test_ue->ngap_procedure_code);
201