Changes of Revision 624

open5gs_2.7.0.95.199f4.202403052026.dsc -> open5gs_2.7.0.96.32271.202403062026.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.95.199f4.202403052026
6
+Version: 2.7.0.96.32271.202403062026
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
- 501f71b675dbeaec6306b50bf2c993eb2ae2866c 14477536 open5gs_2.7.0.95.199f4.202403052026.tar.xz
15
+ ac9e7217b5335bbbab781c5c6f85fa7e0e855329 14476752 open5gs_2.7.0.96.32271.202403062026.tar.xz
16
 Checksums-Sha256:
17
- fd31045e7ba3881ce02f68496f86e4c6c07a124c6d4dec26240ac09257f7acbe 14477536 open5gs_2.7.0.95.199f4.202403052026.tar.xz
18
+ 8950d18dedc4813c3c53c204f9d2f27a64efbc2ea8255f23e31fb635bb988932 14476752 open5gs_2.7.0.96.32271.202403062026.tar.xz
19
 Files:
20
- 1eb8f602144bb13ed6c678177ae677fd 14477536 open5gs_2.7.0.95.199f4.202403052026.tar.xz
21
+ d437e0dccd5e265e418a34c9745c9524 14476752 open5gs_2.7.0.96.32271.202403062026.tar.xz
22
open5gs_2.7.0.95.199f4.202403052026.tar.xz/.tarball-version -> open5gs_2.7.0.96.32271.202403062026.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.7.0.95-199f4.202403052026
3
+2.7.0.96-32271.202403062026
4
open5gs_2.7.0.95.199f4.202403052026.tar.xz/debian/changelog -> open5gs_2.7.0.96.32271.202403062026.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.7.0.95.199f4.202403052026) unstable; urgency=medium
3
+open5gs (2.7.0.96.32271.202403062026) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom nightly feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Tue, 05 Mar 2024 20:27:40 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Wed, 06 Mar 2024 20:27:34 +0000
9
 
10
 open5gs (2.7.0) unstable; urgency=medium
11
 
12
open5gs_2.7.0.95.199f4.202403052026.tar.xz/lib/nas/5gs/conv.c -> open5gs_2.7.0.96.32271.202403062026.tar.xz/lib/nas/5gs/conv.c Changed
33
 
1
@@ -110,6 +110,7 @@
2
                 ogs_plmn_id_mcc(&plmn_id), ogs_plmn_id_mnc(&plmn_id));
3
         if (!suci) {
4
             ogs_error("ogs_mstrcatf() failed");
5
+            ogs_free(suci);
6
             return NULL;
7
         }
8
     } else {
9
@@ -117,6 +118,7 @@
10
                 ogs_plmn_id_mcc(&plmn_id), ogs_plmn_id_mnc(&plmn_id));
11
         if (!suci) {
12
             ogs_error("ogs_mstrcatf() failed");
13
+            ogs_free(suci);
14
             return NULL;
15
         }
16
     }
17
@@ -152,9 +154,14 @@
18
     scheme_output =
19
         (uint8_t *)mobile_identity->buffer +
20
         OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE;
21
+    if (mobile_identity->length < OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE) {
22
+        ogs_error("The length of Mobile Identity(%d) is less then the min(%d)",
23
+            mobile_identity->length, OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE);
24
+        ogs_free(suci);
25
+        return NULL;
26
+    }
27
     scheme_output_size =
28
         mobile_identity->length - OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE;
29
-    ogs_assert(scheme_output_size);
30
     scheme_output_string_or_bcd = ogs_calloc(1, scheme_output_size*2+1);
31
     ogs_assert(scheme_output_string_or_bcd);
32
 
33
open5gs_2.7.0.95.199f4.202403052026.tar.xz/src/amf/gmm-handler.c -> open5gs_2.7.0.96.32271.202403062026.tar.xz/src/amf/gmm-handler.c Changed
27
 
1
@@ -130,6 +130,12 @@
2
         return OGS_5GMM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE;
3
     }
4
 
5
+    if (mobile_identity->length < OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE) {
6
+        ogs_error("The length of Mobile Identity(%d) is less then the min(%d)",
7
+            mobile_identity->length, OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE);
8
+        return OGS_5GMM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE;
9
+    }
10
+
11
     mobile_identity_header =
12
             (ogs_nas_5gs_mobile_identity_header_t *)mobile_identity->buffer;
13
 
14
@@ -886,6 +892,12 @@
15
         return OGS_5GMM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE;
16
     }
17
 
18
+    if (mobile_identity->length < OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE) {
19
+        ogs_error("The length of Mobile Identity(%d) is less then the min(%d)",
20
+            mobile_identity->length, OGS_NAS_5GS_MOBILE_IDENTITY_SUCI_MIN_SIZE);
21
+        return OGS_5GMM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE;
22
+    }
23
+
24
     mobile_identity_header =
25
             (ogs_nas_5gs_mobile_identity_header_t *)mobile_identity->buffer;
26
 
27
open5gs_2.7.0.95.199f4.202403052026.tar.xz/src/amf/gmm-sm.c -> open5gs_2.7.0.96.32271.202403062026.tar.xz/src/amf/gmm-sm.c Changed
20
 
1
@@ -1365,7 +1365,17 @@
2
                 ogs_error("gmm_handle_identity_response() "
3
                             "failed %d in type %d",
4
                             gmm_cause, amf_ue->nas.message_type);
5
-                r = nas_5gs_send_gmm_reject(ran_ue, amf_ue, gmm_cause);
6
+                if (amf_ue->nas.message_type ==
7
+                        OGS_NAS_5GS_REGISTRATION_REQUEST ||
8
+                    amf_ue->nas.message_type ==
9
+                        OGS_NAS_5GS_SERVICE_REQUEST)
10
+                    r = nas_5gs_send_gmm_reject(ran_ue, amf_ue, gmm_cause);
11
+                else
12
+                    r = ngap_send_error_indication2(
13
+                            ran_ue,
14
+                            NGAP_Cause_PR_protocol,
15
+                            NGAP_CauseProtocol_semantic_error);
16
+
17
                 ogs_expect(r == OGS_OK);
18
                 ogs_assert(r != OGS_ERROR);
19
                 OGS_FSM_TRAN(s, gmm_state_exception);
20
open5gs_2.7.0.95.199f4.202403052026.tar.xz/tests/common/ngap-build.c -> open5gs_2.7.0.96.32271.202403062026.tar.xz/tests/common/ngap-build.c Changed
32
 
1
@@ -2661,3 +2661,30 @@
2
 
3
     return pkbuf;
4
 }
5
+
6
+ogs_pkbuf_t *test_ngap_build_malformed_initial_ue_message(int i)
7
+{
8
+    ogs_pkbuf_t *pkbuf = NULL;
9
+    const char *payloadTEST_NGAP_MAX_MESSAGE = {
10
+        "000f007300000700 5500034002000026 001d1c0602940a5f 7f5f7e105c000209"
11
+        "00007fff00000000 004c4c585f4e5f00 79000f405f7a8a1f 58755ff001940078"
12
+        "954e005a40012800 0340025fc0007040 010000ab4021205f 5f5f5f4f3d7fff10"
13
+        "de5f5f765f000000 0000000000000000 00000000000000"
14
+        "",
15
+        "",
16
+
17
+    };
18
+    uint16_t lenTEST_NGAP_MAX_MESSAGE = {
19
+        119,
20
+        0,
21
+        0,
22
+    };
23
+    char hexbufOGS_HUGE_LEN;
24
+
25
+    pkbuf = ogs_pkbuf_alloc(NULL, OGS_MAX_SDU_LEN);
26
+    ogs_assert(pkbuf);
27
+    ogs_pkbuf_put_data(pkbuf,
28
+        ogs_hex_from_string(payloadi, hexbuf, sizeof(hexbuf)), leni);
29
+
30
+    return pkbuf;
31
+}
32
open5gs_2.7.0.95.199f4.202403052026.tar.xz/tests/common/ngap-build.h -> open5gs_2.7.0.96.32271.202403062026.tar.xz/tests/common/ngap-build.h Changed
9
 
1
@@ -80,6 +80,7 @@
2
         NGAP_Cause_PR group, long cause);
3
 
4
 ogs_pkbuf_t *test_ngap_build_amf_configuration_ack(int i);
5
+ogs_pkbuf_t *test_ngap_build_malformed_initial_ue_message(int i);
6
 
7
 #ifdef __cplusplus
8
 }
9
open5gs_2.7.0.95.199f4.202403052026.tar.xz/tests/registration/crash-test.c -> open5gs_2.7.0.96.32271.202403062026.tar.xz/tests/registration/crash-test.c Changed
49
 
1
@@ -1401,6 +1401,39 @@
2
     test_ue_remove(test_ue);
3
 }
4
 
5
+static void test5_func(abts_case *tc, void *data)
6
+{
7
+    int rv;
8
+    ogs_socknode_t *ngap;
9
+    ogs_pkbuf_t *sendbuf;
10
+    ogs_pkbuf_t *recvbuf;
11
+    ogs_ngap_message_t message;
12
+
13
+    ngap = testngap_client(AF_INET);
14
+    ABTS_PTR_NOTNULL(tc, ngap);
15
+
16
+    sendbuf = testngap_build_ng_setup_request(0x4000, 22);
17
+    ABTS_PTR_NOTNULL(tc, sendbuf);
18
+    rv = testgnb_ngap_send(ngap, sendbuf);
19
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
20
+
21
+    recvbuf = testgnb_ngap_read(ngap);
22
+    ABTS_PTR_NOTNULL(tc, recvbuf);
23
+    ogs_pkbuf_free(recvbuf);
24
+
25
+    sendbuf = test_ngap_build_malformed_initial_ue_message(0);
26
+    ABTS_PTR_NOTNULL(tc, sendbuf);
27
+
28
+    rv = testgnb_ngap_send(ngap, sendbuf);
29
+    ABTS_INT_EQUAL(tc, OGS_OK, rv);
30
+
31
+    recvbuf = testgnb_ngap_read(ngap);
32
+    ABTS_PTR_NOTNULL(tc, recvbuf);
33
+    ogs_pkbuf_free(recvbuf);
34
+
35
+    testgnb_ngap_close(ngap);
36
+}
37
+
38
 abts_suite *test_crash(abts_suite *suite)
39
 {
40
     suite = ADD_SUITE(suite)
41
@@ -1409,6 +1442,7 @@
42
     abts_run_test(suite, test2_func, NULL);
43
     abts_run_test(suite, test3_func, NULL);
44
     abts_run_test(suite, test4_issues2842_func, NULL);
45
+    abts_run_test(suite, test5_func, NULL);
46
 
47
     return suite;
48
 }
49