Changes of Revision 370

commit_8f58b55e149389343d79680df2caef6b3560fdd6.txt Deleted
commit_b1515a16ff1013e5026020d32669b8927d08aa2e.txt Added
open5gs_2.7.0.37.8f58b.dsc -> open5gs_2.7.0.38.b1515.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.7.0.37.8f58b
6
+Version: 2.7.0.38.b1515
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
- 7205ee18195d122aa0aff9c36423e42fdf260618 14464940 open5gs_2.7.0.37.8f58b.tar.xz
15
+ 47a4b4e1ecbf32eee9e643d6c962dd29673f1d23 14465080 open5gs_2.7.0.38.b1515.tar.xz
16
 Checksums-Sha256:
17
- 1c07c1fc1d32d7505f6368e786a4eae65c38bf2fcb204b12384827ed6b86b6f8 14464940 open5gs_2.7.0.37.8f58b.tar.xz
18
+ 71a1217bf5048b619e6ae2a2b2fb4118fb59cf03d3d621df11689df771478ba4 14465080 open5gs_2.7.0.38.b1515.tar.xz
19
 Files:
20
- 96d1d43096e1ac2ae10a8d01016cf88a 14464940 open5gs_2.7.0.37.8f58b.tar.xz
21
+ 957a0ba95c02591c65babd3a225f5e8f 14465080 open5gs_2.7.0.38.b1515.tar.xz
22
open5gs_2.7.0.37.8f58b.tar.xz/.tarball-version -> open5gs_2.7.0.38.b1515.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.7.0.37-8f58b
3
+2.7.0.38-b1515
4
open5gs_2.7.0.37.8f58b.tar.xz/debian/changelog -> open5gs_2.7.0.38.b1515.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.7.0.37.8f58b) unstable; urgency=medium
3
+open5gs (2.7.0.38.b1515) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom master feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Thu, 04 Jan 2024 21:17:22 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Fri, 05 Jan 2024 12:27:23 +0000
9
 
10
 open5gs (2.7.0) unstable; urgency=medium
11
 
12
open5gs_2.7.0.37.8f58b.tar.xz/src/amf/amf-sm.c -> open5gs_2.7.0.38.b1515.tar.xz/src/amf/amf-sm.c Changed
14
 
1
@@ -478,11 +478,8 @@
2
 
3
             SWITCH(sbi_message.h.resource.component2)
4
             CASE(OGS_SBI_RESOURCE_NAME_MODIFY)
5
-                rv = amf_nsmf_pdusession_handle_update_sm_context(
6
+                amf_nsmf_pdusession_handle_update_sm_context(
7
                         sess, state, &sbi_message);
8
-                if (rv != OGS_OK) {
9
-                    AMF_SESS_CLEAR(sess);
10
-                }
11
                 break;
12
 
13
             CASE(OGS_SBI_RESOURCE_NAME_RELEASE)
14
open5gs_2.7.0.37.8f58b.tar.xz/src/amf/nsmf-handler.c -> open5gs_2.7.0.38.b1515.tar.xz/src/amf/nsmf-handler.c Changed
10
 
1
@@ -228,6 +228,8 @@
2
                     nas_5gs_send_gmm_reject(amf_ue,
3
                             OGS_5GMM_CAUSE_5GS_SERVICES_NOT_ALLOWED);
4
 
5
+                    AMF_SESS_CLEAR(sess);
6
+
7
                     return OGS_ERROR;
8
                 }
9
 
10
open5gs_2.7.0.37.8f58b.tar.xz/src/smf/gsm-sm.c -> open5gs_2.7.0.38.b1515.tar.xz/src/smf/gsm-sm.c Changed
87
 
1
@@ -1,5 +1,6 @@
2
 /*
3
  * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+
5
  *
6
  * This file is part of Open5GS.
7
  *
8
@@ -1200,9 +1201,11 @@
9
 {
10
     int status;
11
 
12
+    smf_ue_t *smf_ue = NULL;
13
     smf_sess_t *sess = NULL;
14
 
15
     ogs_sbi_stream_t *stream = NULL;
16
+    ogs_sbi_message_t *sbi_message = NULL;
17
 
18
     ogs_pfcp_xact_t *pfcp_xact = NULL;
19
     ogs_pfcp_message_t *pfcp_message = NULL;
20
@@ -1356,6 +1359,41 @@
21
             ogs_error("cannot handle PFCP message type%d",
22
                     pfcp_message->h.type);
23
         }
24
+        break;
25
+    case OGS_EVENT_SBI_CLIENT:
26
+        sbi_message = e->h.sbi.message;
27
+        ogs_assert(sbi_message);
28
+
29
+        sess = e->sess;
30
+        ogs_assert(sess);
31
+        smf_ue = sess->smf_ue;
32
+        ogs_assert(smf_ue);
33
+
34
+        SWITCH(sbi_message->h.service.name)
35
+        CASE(OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL)
36
+            ogs_pkbuf_t *n1smbuf = NULL;
37
+
38
+            stream = e->h.sbi.data;
39
+            ogs_assert(stream);
40
+
41
+            ogs_error("%s:%d state %d res_status %d",
42
+                smf_ue->supi, sess->psi,
43
+                e->h.sbi.state, sbi_message->res_status);
44
+
45
+            n1smbuf = gsm_build_pdu_session_release_reject(sess,
46
+                OGS_5GSM_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_THE_PROTOCOL_STATE);
47
+            ogs_assert(n1smbuf);
48
+
49
+            smf_sbi_send_sm_context_update_error_n1_n2_message(
50
+                    stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
51
+                    n1smbuf, OpenAPI_n2_sm_info_type_NULL, NULL);
52
+            break;
53
+        DEFAULT
54
+            ogs_error("%s:%d Invalid API name %s",
55
+                    smf_ue->supi, sess->psi, sbi_message->h.service.name);
56
+            ogs_assert_if_reached();
57
+        END
58
+        break;
59
     }
60
 }
61
 
62
@@ -1574,6 +1612,24 @@
63
             END
64
             break;
65
 
66
+        CASE(OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL)
67
+            ogs_pkbuf_t *n1smbuf = NULL;
68
+
69
+            stream = e->h.sbi.data;
70
+            ogs_assert(stream);
71
+
72
+            ogs_error("%s:%d state %d res_status %d",
73
+                smf_ue->supi, sess->psi,
74
+                e->h.sbi.state, sbi_message->res_status);
75
+
76
+            n1smbuf = gsm_build_pdu_session_release_reject(sess,
77
+                OGS_5GSM_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_THE_PROTOCOL_STATE);
78
+            ogs_assert(n1smbuf);
79
+
80
+            smf_sbi_send_sm_context_update_error_n1_n2_message(
81
+                    stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
82
+                    n1smbuf, OpenAPI_n2_sm_info_type_NULL, NULL);
83
+            break;
84
         DEFAULT
85
             ogs_error("%s:%d Invalid API name %s",
86
                     smf_ue->supi, sess->psi, sbi_message->h.service.name);
87
open5gs_2.7.0.37.8f58b.tar.xz/tests/common/nas-path.c -> open5gs_2.7.0.38.b1515.tar.xz/tests/common/nas-path.c Changed
10
 
1
@@ -102,6 +102,8 @@
2
         break;
3
     case OGS_NAS_5GS_PDU_SESSION_RELEASE_COMMAND:
4
         break;
5
+    case OGS_NAS_5GS_PDU_SESSION_RELEASE_REJECT:
6
+        break;
7
     default:
8
         ogs_error("Unknown message%d", message.gsm.h.message_type);
9
         break;
10
open5gs_2.7.0.37.8f58b.tar.xz/tests/registration/crash-test.c -> open5gs_2.7.0.38.b1515.tar.xz/tests/registration/crash-test.c Changed
201
 
1
@@ -317,6 +317,7 @@
2
     rv = testgnb_ngap_send(ngap, sendbuf);
3
     ABTS_INT_EQUAL(tc, OGS_OK, rv);
4
 
5
+#if 0
6
     /* Receive ErrorIndication */
7
     recvbuf = testgnb_ngap_read(ngap);
8
     ABTS_PTR_NOTNULL(tc, recvbuf);
9
@@ -324,6 +325,7 @@
10
     ABTS_INT_EQUAL(tc,
11
             NGAP_ProcedureCode_id_ErrorIndication,
12
             test_ue->ngap_procedure_code);
13
+#endif
14
 
15
     /* Receive PDUSessionResourceSetupRequest +
16
      * DL NAS transport +
17
@@ -997,6 +999,408 @@
18
     test_ue_remove(test_ue);
19
 }
20
 
21
+static void test4_issues2842_func(abts_case *tc, void *data)
22
+{
23
+    int rv;
24
+    ogs_socknode_t *ngap;
25
+    ogs_socknode_t *gtpu;
26
+    ogs_pkbuf_t *gmmbuf;
27
+    ogs_pkbuf_t *gsmbuf;
28
+    ogs_pkbuf_t *nasbuf;
29
+    ogs_pkbuf_t *sendbuf;
30
+    ogs_pkbuf_t *recvbuf;
31
+    ogs_ngap_message_t message;
32
+    int i;
33
+
34
+    ogs_nas_5gs_mobile_identity_suci_t mobile_identity_suci;
35
+    test_ue_t *test_ue = NULL;
36
+    test_sess_t *sess = NULL;
37
+    test_bearer_t *qos_flow = NULL;
38
+
39
+    bson_t *doc = NULL;
40
+
41
+    /* Setup Test UE & Session Context */
42
+    memset(&mobile_identity_suci, 0, sizeof(mobile_identity_suci));
43
+
44
+    mobile_identity_suci.h.supi_format = OGS_NAS_5GS_SUPI_FORMAT_IMSI;
45
+    mobile_identity_suci.h.type = OGS_NAS_5GS_MOBILE_IDENTITY_SUCI;
46
+    mobile_identity_suci.routing_indicator1 = 0;
47
+    mobile_identity_suci.routing_indicator2 = 0xf;
48
+    mobile_identity_suci.routing_indicator3 = 0xf;
49
+    mobile_identity_suci.routing_indicator4 = 0xf;
50
+    mobile_identity_suci.protection_scheme_id = OGS_PROTECTION_SCHEME_NULL;
51
+    mobile_identity_suci.home_network_pki_value = 0;
52
+
53
+    test_ue = test_ue_add_by_suci(&mobile_identity_suci, "0000203190");
54
+    ogs_assert(test_ue);
55
+
56
+    test_ue->nr_cgi.cell_id = 0x40001;
57
+
58
+    test_ue->nas.registration.tsc = 0;
59
+    test_ue->nas.registration.ksi = OGS_NAS_KSI_NO_KEY_IS_AVAILABLE;
60
+    test_ue->nas.registration.follow_on_request = 1;
61
+    test_ue->nas.registration.value = OGS_NAS_5GS_REGISTRATION_TYPE_INITIAL;
62
+
63
+    test_ue->k_string = "465b5ce8b199b49faa5f0a2ee238a6bc";
64
+    test_ue->opc_string = "e8ed289deba952e4283b54e88e6183ca";
65
+
66
+    /* gNB connects to AMF */
67
+    ngap = testngap_client(AF_INET);
68
+    ABTS_PTR_NOTNULL(tc, ngap);
69
+
70
+    /* gNB connects to UPF */
71
+    gtpu = test_gtpu_server(1, AF_INET);
72
+    ABTS_PTR_NOTNULL(tc, gtpu);
73
+
74
+    /* Send NG-Setup Reqeust */
75
+    sendbuf = testngap_build_ng_setup_request(0x4000, 22);
76
+    ABTS_PTR_NOTNULL(tc, sendbuf);
77
+    rv = testgnb_ngap_send(ngap, sendbuf);
78
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
79
+
80
+    /* Receive NG-Setup Response */
81
+    recvbuf = testgnb_ngap_read(ngap);
82
+    ABTS_PTR_NOTNULL(tc, recvbuf);
83
+    testngap_recv(test_ue, recvbuf);
84
+
85
+    /********** Insert Subscriber in Database */
86
+    doc = test_db_new_simple(test_ue);
87
+    ABTS_PTR_NOTNULL(tc, doc);
88
+    ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
89
+
90
+    /* Send Registration request */
91
+    test_ue->registration_request_param.guti = 1;
92
+    gmmbuf = testgmm_build_registration_request(test_ue, NULL, false, false);
93
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
94
+
95
+    test_ue->registration_request_param.gmm_capability = 1;
96
+    test_ue->registration_request_param.s1_ue_network_capability = 1;
97
+    test_ue->registration_request_param.requested_nssai = 1;
98
+    test_ue->registration_request_param.last_visited_registered_tai = 1;
99
+    test_ue->registration_request_param.ue_usage_setting = 1;
100
+    nasbuf = testgmm_build_registration_request(test_ue, NULL, false, false);
101
+    ABTS_PTR_NOTNULL(tc, nasbuf);
102
+
103
+    sendbuf = testngap_build_initial_ue_message(test_ue, gmmbuf,
104
+                NGAP_RRCEstablishmentCause_mo_Signalling, false, true);
105
+    ABTS_PTR_NOTNULL(tc, sendbuf);
106
+    rv = testgnb_ngap_send(ngap, sendbuf);
107
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
108
+
109
+    /* Receive Identity request */
110
+    recvbuf = testgnb_ngap_read(ngap);
111
+    ABTS_PTR_NOTNULL(tc, recvbuf);
112
+    testngap_recv(test_ue, recvbuf);
113
+
114
+    /* Send Identity response */
115
+    gmmbuf = testgmm_build_identity_response(test_ue);
116
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
117
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
118
+    ABTS_PTR_NOTNULL(tc, sendbuf);
119
+    rv = testgnb_ngap_send(ngap, sendbuf);
120
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
121
+
122
+    /* Receive Authentication request */
123
+    recvbuf = testgnb_ngap_read(ngap);
124
+    ABTS_PTR_NOTNULL(tc, recvbuf);
125
+    testngap_recv(test_ue, recvbuf);
126
+
127
+    /* Send Authentication response */
128
+    gmmbuf = testgmm_build_authentication_response(test_ue);
129
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
130
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
131
+    ABTS_PTR_NOTNULL(tc, sendbuf);
132
+    rv = testgnb_ngap_send(ngap, sendbuf);
133
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
134
+
135
+    /* Receive Security mode command */
136
+    recvbuf = testgnb_ngap_read(ngap);
137
+    ABTS_PTR_NOTNULL(tc, recvbuf);
138
+    testngap_recv(test_ue, recvbuf);
139
+
140
+    /* Send Security mode complete */
141
+    gmmbuf = testgmm_build_security_mode_complete(test_ue, nasbuf);
142
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
143
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
144
+    ABTS_PTR_NOTNULL(tc, sendbuf);
145
+    rv = testgnb_ngap_send(ngap, sendbuf);
146
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
147
+
148
+    /* Receive InitialContextSetupRequest +
149
+     * Registration accept */
150
+    recvbuf = testgnb_ngap_read(ngap);
151
+    ABTS_PTR_NOTNULL(tc, recvbuf);
152
+    testngap_recv(test_ue, recvbuf);
153
+    ABTS_INT_EQUAL(tc,
154
+            NGAP_ProcedureCode_id_InitialContextSetup,
155
+            test_ue->ngap_procedure_code);
156
+
157
+    /* Send UERadioCapabilityInfoIndication */
158
+    sendbuf = testngap_build_ue_radio_capability_info_indication(test_ue);
159
+    ABTS_PTR_NOTNULL(tc, sendbuf);
160
+    rv = testgnb_ngap_send(ngap, sendbuf);
161
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
162
+
163
+    /* Send InitialContextSetupResponse */
164
+    sendbuf = testngap_build_initial_context_setup_response(test_ue, false);
165
+    ABTS_PTR_NOTNULL(tc, sendbuf);
166
+    rv = testgnb_ngap_send(ngap, sendbuf);
167
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
168
+
169
+    /* Send Registration complete */
170
+    gmmbuf = testgmm_build_registration_complete(test_ue);
171
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
172
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
173
+    ABTS_PTR_NOTNULL(tc, sendbuf);
174
+    rv = testgnb_ngap_send(ngap, sendbuf);
175
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
176
+
177
+    /* Receive Configuration update command */
178
+    recvbuf = testgnb_ngap_read(ngap);
179
+    ABTS_PTR_NOTNULL(tc, recvbuf);
180
+    testngap_recv(test_ue, recvbuf);
181
+
182
+    /* Send PDU session establishment request */
183
+    sess = test_sess_add_by_dnn_and_psi(test_ue, "internet", 5);
184
+    ogs_assert(sess);
185
+
186
+    sess->ul_nas_transport_param.request_type =
187
+        OGS_NAS_5GS_REQUEST_TYPE_INITIAL;
188
+    sess->ul_nas_transport_param.dnn = 1;
189
+    sess->ul_nas_transport_param.s_nssai = 0;
190
+
191
+    sess->pdu_session_establishment_param.ssc_mode = 1;
192
+    sess->pdu_session_establishment_param.epco = 1;
193
+
194
+    gsmbuf = testgsm_build_pdu_session_establishment_request(sess);
195
+    ABTS_PTR_NOTNULL(tc, gsmbuf);
196
+    gmmbuf = testgmm_build_ul_nas_transport(sess,
197
+            OGS_NAS_PAYLOAD_CONTAINER_N1_SM_INFORMATION, gsmbuf);
198
+    ABTS_PTR_NOTNULL(tc, gmmbuf);
199
+    sendbuf = testngap_build_uplink_nas_transport(test_ue, gmmbuf);
200
+    ABTS_PTR_NOTNULL(tc, sendbuf);
201