File not found: libosmo-netif_1.6.0.2.1b40.202504022026.dsc

Changes of Revision 379

commit_4088cdf17d4f9e4956c42cab8aaf27a24afe5179.txt Added
commit_52be56b839ce483c74d0ca5f5655f2afe128fbc7.txt Deleted
open5gs_2.7.0.57.52be.dsc -> open5gs_2.7.0.58.4088.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.57.52be
6
+Version: 2.7.0.58.4088
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
- cbde29b872edeb8c0c20add3cd5c96d4cccde269 14467948 open5gs_2.7.0.57.52be.tar.xz
15
+ 0afcc239aa0f682a207d95832f5fedfa13b3a9f0 14467360 open5gs_2.7.0.58.4088.tar.xz
16
 Checksums-Sha256:
17
- 18e08a4d102cb7126b34551fb3101ce25e6018cff451003aba1b1bca23baa87f 14467948 open5gs_2.7.0.57.52be.tar.xz
18
+ e1ef5410cd30a0e6cd60af72d05765accf9a49833f1855b76b95d17c1512d3e8 14467360 open5gs_2.7.0.58.4088.tar.xz
19
 Files:
20
- 090806a3185cdb26846f63c0d76bd17d 14467948 open5gs_2.7.0.57.52be.tar.xz
21
+ f40fe0856a697f6ffbcd955b6a4988f9 14467360 open5gs_2.7.0.58.4088.tar.xz
22
open5gs_2.7.0.57.52be.tar.xz/.tarball-version -> open5gs_2.7.0.58.4088.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.7.0.57-52be
3
+2.7.0.58-4088
4
open5gs_2.7.0.57.52be.tar.xz/debian/changelog -> open5gs_2.7.0.58.4088.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.7.0.57.52be) unstable; urgency=medium
3
+open5gs (2.7.0.58.4088) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom master feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Mon, 15 Jan 2024 22:42:01 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Wed, 17 Jan 2024 12:03:55 +0000
9
 
10
 open5gs (2.7.0) unstable; urgency=medium
11
 
12
open5gs_2.7.0.57.52be.tar.xz/lib/core/ogs-list.h -> open5gs_2.7.0.58.4088.tar.xz/lib/core/ogs-list.h Changed
21
 
1
@@ -206,6 +206,19 @@
2
     return i;
3
 }
4
 
5
+static ogs_inline bool ogs_list_exists(const ogs_list_t *list, void *lnode)
6
+{
7
+    ogs_list_t *node = (ogs_list_t *)lnode;
8
+    void *iter = NULL;
9
+
10
+    ogs_list_for_each(list, iter) {
11
+        if (node == (ogs_list_t *)iter)
12
+            return true;
13
+    }
14
+
15
+    return false;
16
+}
17
+
18
 #ifdef __cplusplus
19
 }
20
 #endif
21
open5gs_2.7.0.57.52be.tar.xz/src/mme/s1ap-handler.c -> open5gs_2.7.0.58.4088.tar.xz/src/mme/s1ap-handler.c Changed
49
 
1
@@ -1046,8 +1046,14 @@
2
                     ogs_debug("    ### ULI PRESENT ###");
3
                     uli_presence = 1;
4
                 }
5
-                ogs_list_add(&mme_ue->bearer_to_modify_list,
6
-                                &bearer->to_modify_node);
7
+                if (ogs_list_exists(
8
+                            &mme_ue->bearer_to_modify_list,
9
+                            &bearer->to_modify_node) == false)
10
+                    ogs_list_add(
11
+                            &mme_ue->bearer_to_modify_list,
12
+                            &bearer->to_modify_node);
13
+                else
14
+                    ogs_warn("Bearer %d Duplicated", (int)e_rab->e_RAB_ID);
15
             }
16
         }
17
 
18
@@ -2195,7 +2201,13 @@
19
             return;
20
         }
21
 
22
-        ogs_list_add(&mme_ue->bearer_to_modify_list, &bearer->to_modify_node);
23
+        if (ogs_list_exists(
24
+                    &mme_ue->bearer_to_modify_list,
25
+                    &bearer->to_modify_node) == false)
26
+            ogs_list_add(
27
+                    &mme_ue->bearer_to_modify_list, &bearer->to_modify_node);
28
+        else
29
+            ogs_warn("Bearer %d Duplicated", (int)e_rab->e_RAB_ID);
30
     }
31
 
32
     if (ogs_list_count(&mme_ue->bearer_to_modify_list)) {
33
@@ -2623,8 +2635,13 @@
34
             return;
35
         }
36
 
37
-        ogs_list_add(
38
-                &mme_ue->bearer_to_modify_list, &bearer->to_modify_node);
39
+        if (ogs_list_exists(
40
+                    &mme_ue->bearer_to_modify_list,
41
+                    &bearer->to_modify_node) == false)
42
+            ogs_list_add(
43
+                    &mme_ue->bearer_to_modify_list, &bearer->to_modify_node);
44
+        else
45
+            ogs_warn("Bearer %d Duplicated", (int)e_rab->e_RAB_ID);
46
     }
47
 
48
     relocation = sgw_ue_check_if_relocated(mme_ue);
49
open5gs_2.7.0.57.52be.tar.xz/tests/handover/epc-x2-test.c -> open5gs_2.7.0.58.4088.tar.xz/tests/handover/epc-x2-test.c Changed
270
 
1
@@ -370,11 +370,268 @@
2
     test_ue_remove(test_ue);
3
 }
4
 
5
+static void test2_func(abts_case *tc, void *data)
6
+{
7
+    int rv;
8
+    ogs_socknode_t *s1ap1, *s1ap2;
9
+    ogs_socknode_t *gtpu1, *gtpu2;
10
+    ogs_pkbuf_t *emmbuf;
11
+    ogs_pkbuf_t *esmbuf;
12
+    ogs_pkbuf_t *sendbuf;
13
+    ogs_pkbuf_t *recvbuf;
14
+    ogs_s1ap_message_t message;
15
+
16
+    ogs_nas_5gs_mobile_identity_suci_t mobile_identity_suci;
17
+    test_ue_t *test_ue = NULL;
18
+    test_sess_t *sess = NULL;
19
+    test_bearer_t *bearer = NULL;
20
+
21
+    bson_t *doc = NULL;
22
+
23
+    /* Setup Test UE & Session Context */
24
+    memset(&mobile_identity_suci, 0, sizeof(mobile_identity_suci));
25
+
26
+    mobile_identity_suci.h.supi_format = OGS_NAS_5GS_SUPI_FORMAT_IMSI;
27
+    mobile_identity_suci.h.type = OGS_NAS_5GS_MOBILE_IDENTITY_SUCI;
28
+    mobile_identity_suci.routing_indicator1 = 0;
29
+    mobile_identity_suci.routing_indicator2 = 0xf;
30
+    mobile_identity_suci.routing_indicator3 = 0xf;
31
+    mobile_identity_suci.routing_indicator4 = 0xf;
32
+    mobile_identity_suci.protection_scheme_id = OGS_PROTECTION_SCHEME_NULL;
33
+    mobile_identity_suci.home_network_pki_value = 0;
34
+
35
+    test_ue = test_ue_add_by_suci(&mobile_identity_suci, "3746000006");
36
+    ogs_assert(test_ue);
37
+
38
+    test_ue->e_cgi.cell_id = 0x1234560;
39
+    test_ue->nas.ksi = OGS_NAS_KSI_NO_KEY_IS_AVAILABLE;
40
+    test_ue->nas.value = OGS_NAS_ATTACH_TYPE_COMBINED_EPS_IMSI_ATTACH;
41
+
42
+    test_ue->k_string = "465b5ce8b199b49faa5f0a2ee238a6bc";
43
+    test_ue->opc_string = "e8ed289deba952e4283b54e88e6183ca";
44
+
45
+    sess = test_sess_add_by_apn(test_ue, "internet", OGS_GTP2_RAT_TYPE_EUTRAN);
46
+    ogs_assert(sess);
47
+
48
+    /* Two eNB connects to MME */
49
+    s1ap1 = tests1ap_client(AF_INET);
50
+    ABTS_PTR_NOTNULL(tc, s1ap1);
51
+
52
+    s1ap2 = tests1ap_client(AF_INET);
53
+    ABTS_PTR_NOTNULL(tc, s1ap2);
54
+
55
+    /* Two eNB connects to SGW */
56
+    gtpu1 = test_gtpu_server(1, AF_INET);
57
+    ABTS_PTR_NOTNULL(tc, gtpu1);
58
+
59
+    gtpu2 = test_gtpu_server(2, AF_INET);
60
+    ABTS_PTR_NOTNULL(tc, gtpu2);
61
+
62
+    /* S1-Setup Reqeust/Response for Source eNB */
63
+    sendbuf = test_s1ap_build_s1_setup_request(
64
+            S1AP_ENB_ID_PR_macroENB_ID, 0x54f64);
65
+    ABTS_PTR_NOTNULL(tc, sendbuf);
66
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
67
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
68
+
69
+    recvbuf = testenb_s1ap_read(s1ap1);
70
+    ABTS_PTR_NOTNULL(tc, recvbuf);
71
+    tests1ap_recv(NULL, recvbuf);
72
+
73
+    /* S1-Setup Reqeust/Response for Target eNB */
74
+    sendbuf = test_s1ap_build_s1_setup_request(
75
+            S1AP_ENB_ID_PR_macroENB_ID, 0x54f65);
76
+    ABTS_PTR_NOTNULL(tc, sendbuf);
77
+    rv = testenb_s1ap_send(s1ap2, sendbuf);
78
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
79
+
80
+    recvbuf = testenb_s1ap_read(s1ap2);
81
+    ABTS_PTR_NOTNULL(tc, recvbuf);
82
+    tests1ap_recv(NULL, recvbuf);
83
+
84
+    /********** Insert Subscriber in Database */
85
+    doc = test_db_new_qos_flow(test_ue);
86
+    ABTS_PTR_NOTNULL(tc, doc);
87
+    ABTS_INT_EQUAL(tc, OGS_OK, test_db_insert_ue(test_ue, doc));
88
+
89
+    /* Send Attach Request */
90
+    memset(&sess->pdn_connectivity_param,
91
+            0, sizeof(sess->pdn_connectivity_param));
92
+    sess->pdn_connectivity_param.eit = 1;
93
+    sess->pdn_connectivity_param.pco = 1;
94
+    sess->pdn_connectivity_param.request_type =
95
+        OGS_NAS_EPS_REQUEST_TYPE_INITIAL;
96
+    esmbuf = testesm_build_pdn_connectivity_request(sess, false);
97
+    ABTS_PTR_NOTNULL(tc, esmbuf);
98
+
99
+    memset(&test_ue->attach_request_param,
100
+            0, sizeof(test_ue->attach_request_param));
101
+    test_ue->attach_request_param.drx_parameter = 1;
102
+    test_ue->attach_request_param.tmsi_status = 1;
103
+    test_ue->attach_request_param.mobile_station_classmark_2 = 1;
104
+    test_ue->attach_request_param.additional_update_type = 1;
105
+    test_ue->attach_request_param.ue_usage_setting = 1;
106
+    emmbuf = testemm_build_attach_request(test_ue, esmbuf, false, false);
107
+    ABTS_PTR_NOTNULL(tc, emmbuf);
108
+
109
+    memset(&test_ue->initial_ue_param, 0, sizeof(test_ue->initial_ue_param));
110
+    sendbuf = test_s1ap_build_initial_ue_message(
111
+            test_ue, emmbuf, S1AP_RRC_Establishment_Cause_mo_Signalling, false);
112
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
113
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
114
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
115
+
116
+    /* Receive Authentication Request */
117
+    recvbuf = testenb_s1ap_read(s1ap1);
118
+    ABTS_PTR_NOTNULL(tc, recvbuf);
119
+    tests1ap_recv(test_ue, recvbuf);
120
+
121
+    /* Send Authentication response */
122
+    emmbuf = testemm_build_authentication_response(test_ue);
123
+    ABTS_PTR_NOTNULL(tc, emmbuf);
124
+    sendbuf = test_s1ap_build_uplink_nas_transport(test_ue, emmbuf);
125
+    ABTS_PTR_NOTNULL(tc, sendbuf);
126
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
127
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
128
+
129
+    /* Receive Security mode Command */
130
+    recvbuf = testenb_s1ap_read(s1ap1);
131
+    ABTS_PTR_NOTNULL(tc, recvbuf);
132
+    tests1ap_recv(test_ue, recvbuf);
133
+
134
+    /* Send Security mode complete */
135
+    test_ue->mobile_identity_imeisv_presence = true;
136
+    emmbuf = testemm_build_security_mode_complete(test_ue);
137
+    ABTS_PTR_NOTNULL(tc, emmbuf);
138
+    sendbuf = test_s1ap_build_uplink_nas_transport(test_ue, emmbuf);
139
+    ABTS_PTR_NOTNULL(tc, sendbuf);
140
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
141
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
142
+
143
+    /* Receive ESM Information Request */
144
+    recvbuf = testenb_s1ap_read(s1ap1);
145
+    ABTS_PTR_NOTNULL(tc, recvbuf);
146
+    tests1ap_recv(test_ue, recvbuf);
147
+
148
+    /* Send ESM Information Response */
149
+    esmbuf = testesm_build_esm_information_response(sess);
150
+    ABTS_PTR_NOTNULL(tc, esmbuf);
151
+    sendbuf = test_s1ap_build_uplink_nas_transport(test_ue, esmbuf);
152
+    ABTS_PTR_NOTNULL(tc, sendbuf);
153
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
154
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
155
+
156
+    /* Receive Initial Context Setup Request +
157
+     * Attach Accept +
158
+     * Activate Default Bearer Context Request */
159
+    recvbuf = testenb_s1ap_read(s1ap1);
160
+    ABTS_PTR_NOTNULL(tc, recvbuf);
161
+    tests1ap_recv(test_ue, recvbuf);
162
+
163
+    /* Send UE Capability Info Indication */
164
+    sendbuf = tests1ap_build_ue_radio_capability_info_indication(test_ue);
165
+    ABTS_PTR_NOTNULL(tc, sendbuf);
166
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
167
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
168
+
169
+    /* Send Initial Context Setup Response */
170
+    sendbuf = test_s1ap_build_initial_context_setup_response(test_ue);
171
+    ABTS_PTR_NOTNULL(tc, sendbuf);
172
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
173
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
174
+
175
+    /* Send Attach Complete + Activate default EPS bearer cotext accept */
176
+    test_ue->nr_cgi.cell_id = 0x1234502;
177
+    bearer = test_bearer_find_by_ue_ebi(test_ue, 5);
178
+    ogs_assert(bearer);
179
+    esmbuf = testesm_build_activate_default_eps_bearer_context_accept(
180
+            bearer, false);
181
+    ABTS_PTR_NOTNULL(tc, esmbuf);
182
+    emmbuf = testemm_build_attach_complete(test_ue, esmbuf);
183
+    ABTS_PTR_NOTNULL(tc, emmbuf);
184
+    sendbuf = test_s1ap_build_uplink_nas_transport(test_ue, emmbuf);
185
+    ABTS_PTR_NOTNULL(tc, sendbuf);
186
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
187
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
188
+
189
+    /* Receive EMM information */
190
+    recvbuf = testenb_s1ap_read(s1ap1);
191
+    ABTS_PTR_NOTNULL(tc, recvbuf);
192
+    tests1ap_recv(test_ue, recvbuf);
193
+
194
+    /* Receive E-RAB Setup Request +
195
+     * Activate dedicated EPS bearer context request */
196
+    recvbuf = testenb_s1ap_read(s1ap1);
197
+    ABTS_PTR_NOTNULL(tc, recvbuf);
198
+    tests1ap_recv(test_ue, recvbuf);
199
+
200
+    /* Send E-RAB Setup Response */
201
+    bearer = test_bearer_find_by_ue_ebi(test_ue, 6);
202
+    ogs_assert(bearer);
203
+    sendbuf = test_s1ap_build_e_rab_setup_response(bearer);
204
+    ABTS_PTR_NOTNULL(tc, sendbuf);
205
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
206
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
207
+
208
+    /* Send Activate dedicated EPS bearer context accept */
209
+    esmbuf = testesm_build_activate_dedicated_eps_bearer_context_accept(bearer);
210
+    ABTS_PTR_NOTNULL(tc, esmbuf);
211
+    sendbuf = test_s1ap_build_uplink_nas_transport(test_ue, esmbuf);
212
+    ABTS_PTR_NOTNULL(tc, sendbuf);
213
+    rv = testenb_s1ap_send(s1ap1, sendbuf);
214
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
215
+
216
+    ogs_msleep(100);
217
+
218
+    /* Send Path Switch Request */
219
+    test_ue->e_cgi.cell_id = 0xabcdef0;
220
+    test_ue->enb_ue_s1ap_id++;
221
+    bearer = ogs_list_first(&sess->bearer_list);
222
+    bearer->ebi = 5;
223
+    bearer->enb_s1u_addr = test_self()->gnb2_addr;
224
+    bearer->enb_s1u_addr6 = test_self()->gnb2_addr6;
225
+    bearer = ogs_list_next(bearer);
226
+    bearer->ebi = 5; /* Invalid Bearer with same EBI = 5 */
227
+    bearer->enb_s1u_addr = test_self()->gnb2_addr;
228
+    bearer->enb_s1u_addr6 = test_self()->gnb2_addr6;
229
+
230
+    sendbuf = test_s1ap_build_path_switch_request(test_ue);
231
+    ABTS_PTR_NOTNULL(tc, sendbuf);
232
+    rv = testenb_s1ap_send(s1ap2, sendbuf);
233
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
234
+
235
+    /* Receive Path Switch Ack */
236
+    recvbuf = testenb_s1ap_read(s1ap2);
237
+    ABTS_PTR_NOTNULL(tc, recvbuf);
238
+    tests1ap_recv(test_ue, recvbuf);
239
+
240
+    /* Receive End Mark */
241
+    recvbuf = test_gtpu_read(gtpu1);
242
+    ABTS_PTR_NOTNULL(tc, recvbuf);
243
+    ogs_pkbuf_free(recvbuf);
244
+
245
+    ogs_msleep(300);
246
+
247
+    /********** Remove Subscriber in Database */
248
+    ABTS_INT_EQUAL(tc, OGS_OK, test_db_remove_ue(test_ue));
249
+
250
+    /* Two eNB disonncect from SGW */
251
+    testgnb_gtpu_close(gtpu1);
252
+    testgnb_gtpu_close(gtpu2);
253
+
254
+    /* Two eNB disonncect from MME */
255
+    testenb_s1ap_close(s1ap1);
256
+    testenb_s1ap_close(s1ap2);
257
+
258
+    test_ue_remove(test_ue);
259
+}
260
+
261
 abts_suite *test_epc_x2(abts_suite *suite)
262
 {
263
     suite = ADD_SUITE(suite)
264
 
265
     abts_run_test(suite, test1_func, NULL);
266
+    abts_run_test(suite, test2_func, NULL);
267
 
268
     return suite;
269
 }
270