Changes of Revision 91

open5gs_2.4.10.202209250002.dsc -> open5gs_2.4.10.202209260002.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-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
 Architecture: any
5
-Version: 2.4.10.202209250002
6
+Version: 2.4.10.202209260002
7
 Maintainer: Harald Welte <laforge@gnumonks.org>
8
 Uploaders: Sukchan Lee <acetcom@gmail.com>
9
 Homepage: https://open5gs.org
10
@@ -30,8 +30,8 @@
11
  open5gs-udr deb net optional arch=any
12
  open5gs-upf deb net optional arch=any
13
 Checksums-Sha1:
14
- 7c847dc3c48af763b6acb2080a022e28d0907f13 11465816 open5gs_2.4.10.202209250002.tar.xz
15
+ 350ea014f9b755335c816a1c28607a4de44f7891 11466476 open5gs_2.4.10.202209260002.tar.xz
16
 Checksums-Sha256:
17
- 1496ebce9d9e0c2ecd38d39e1b66d7afbbb0f88e0e68121266342422af4aa50d 11465816 open5gs_2.4.10.202209250002.tar.xz
18
+ dff4fde2064b4b19e78053c6a6d2679dc25e9f8b0182e3e21f632dd9419ad71d 11466476 open5gs_2.4.10.202209260002.tar.xz
19
 Files:
20
- e720c3167235644f266563f827a5c94a 11465816 open5gs_2.4.10.202209250002.tar.xz
21
+ 6fcd1a7932c2b7d8d6bf8d11aebb953b 11466476 open5gs_2.4.10.202209260002.tar.xz
22
open5gs_2.4.10.202209250002.tar.xz/.tarball-version -> open5gs_2.4.10.202209260002.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.4.10.202209250002
3
+2.4.10.202209260002
4
open5gs_2.4.10.202209250002.tar.xz/configs/open5gs/amf.yaml.in -> open5gs_2.4.10.202209260002.tar.xz/configs/open5gs/amf.yaml.in Changed
43
 
1
@@ -178,6 +178,13 @@
2
 #          sinit_max_attempts : 4
3
 #          sinit_max_init_timeo : 8000
4
 #
5
+#  <Metrics Server>
6
+#
7
+#  o Metrics Server(http://<any address>:9090)
8
+#    metrics:
9
+#      addr: 0.0.0.0
10
+#      port: 9090
11
+#
12
 #  <GUAMI>
13
 #
14
 #  o Multiple GUAMI
15
@@ -263,6 +270,9 @@
16
         port: 7777
17
     ngap:
18
       - addr: 127.0.0.5
19
+    metrics:
20
+        addr: 127.0.0.5
21
+        port: 9090
22
     guami:
23
       - plmn_id:
24
           mcc: 999
25
@@ -391,17 +401,3 @@
26
 #    handover:
27
 #        duration: 500
28
 time:
29
-
30
-#
31
-# metrics:
32
-#
33
-#  <Metrics Server>
34
-#
35
-#  o Metrics Server(http://<any address>:9090)
36
-#    metrics:
37
-#      addr: 0.0.0.0
38
-#      port: 9090
39
-#
40
-metrics:
41
-    addr: 127.0.0.5
42
-    port: 9090
43
open5gs_2.4.10.202209250002.tar.xz/configs/open5gs/mme.yaml.in -> open5gs_2.4.10.202209260002.tar.xz/configs/open5gs/mme.yaml.in Changed
42
 
1
@@ -175,6 +175,12 @@
2
 #              mnc: 02
3
 #            lac: 43693
4
 #
5
+#  <Metrics Server>
6
+#
7
+#  o Metrics Server(http://<any address>:9090)
8
+#    metrics:
9
+#      addr: 0.0.0.0
10
+#      port: 9090
11
 #
12
 #  <GUMMEI>
13
 #
14
@@ -248,6 +254,9 @@
15
       - addr: 127.0.0.2
16
     gtpc:
17
       - addr: 127.0.0.2
18
+    metrics:
19
+      addr: 127.0.0.2
20
+      port: 9090
21
     gummei:
22
       plmn_id:
23
         mcc: 999
24
@@ -421,17 +430,3 @@
25
 #    handover:
26
 #        duration: 500
27
 time:
28
-
29
-#
30
-# metrics:
31
-#
32
-#  <Metrics Server>
33
-#
34
-#  o Metrics Server(http://<any address>:9090)
35
-#    metrics:
36
-#      addr: 0.0.0.0
37
-#      port: 9090
38
-#
39
-metrics:
40
-    addr: 127.0.0.2
41
-    port: 9090
42
open5gs_2.4.10.202209250002.tar.xz/configs/open5gs/smf.yaml.in -> open5gs_2.4.10.202209260002.tar.xz/configs/open5gs/smf.yaml.in Changed
52
 
1
@@ -16,7 +16,7 @@
2
 #
3
 #  o Set OGS_LOG_TRACE to all domain level
4
 #    level: trace
5
-#    domain: core,pfcp,fd,pfcp,gtp,smf,event,tlv,mem,sock
6
+#    domain: core,fd,pfcp,gtp,smf,event,tlv,mem,sock
7
 #
8
 logger:
9
     file: @localstatedir@/log/open5gs/smf.log
10
@@ -179,6 +179,13 @@
11
 #      option:
12
 #        so_bindtodevice: vrf-blue
13
 #
14
+#  <Metrics Server>
15
+#
16
+#  o Metrics Server(http://<any address>:9090)
17
+#    metrics:
18
+#      addr: 0.0.0.0
19
+#      port: 9090
20
+#
21
 #  <Subnet for UE Pool>
22
 #
23
 #  o IPv4 Pool
24
@@ -423,6 +430,9 @@
25
     gtpu:
26
       - addr: 127.0.0.4
27
       - addr: ::1
28
+    metrics:
29
+        addr: 127.0.0.4
30
+        port: 9090
31
     subnet:
32
       - addr: 10.45.0.1/16
33
       - addr: 2001:db8:cafe::1/48
34
@@ -599,17 +609,3 @@
35
 #    handover:
36
 #        duration: 500
37
 time:
38
-
39
-#
40
-# metrics:
41
-#
42
-#  <Metrics Server>
43
-#
44
-#  o Metrics Server(http://<any address>:9090)
45
-#    metrics:
46
-#      addr: 0.0.0.0
47
-#      port: 9090
48
-#
49
-metrics:
50
-    addr: 127.0.0.4
51
-    port: 9090
52
open5gs_2.4.10.202209250002.tar.xz/debian/changelog -> open5gs_2.4.10.202209260002.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.4.10.202209250002) unstable; urgency=medium
3
+open5gs (2.4.10.202209260002) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom nightly feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Sun, 25 Sep 2022 00:04:31 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Mon, 26 Sep 2022 00:04:30 +0000
9
 
10
 open5gs (2.4.10) unstable; urgency=medium
11
 
12
open5gs_2.4.10.202209250002.tar.xz/docs/_docs/guide/01-quickstart.md -> open5gs_2.4.10.202209260002.tar.xz/docs/_docs/guide/01-quickstart.md Changed
23
 
1
@@ -430,6 +430,21 @@
2
 $ sudo ip6tables -t nat -A POSTROUTING -s 2001:db8:cafe::/48 ! -o ogstun -j MASQUERADE
3
 ```
4
 
5
+Optionally, you may consider the settings below for security purposes.
6
+
7
+```bash
8
+### Prevent UE's from connecting to the host on which UPF is running
9
+$ sudo iptables -I INPUT -s 10.45.0.0/16 -j DROP
10
+$ sudo ip6tables -I INPUT -s 2001:db8:cafe::/48 -j DROP
11
+
12
+### If your core network runs over multiple hosts, you probably want to block
13
+### UE originating traffic from accessing other network functions.
14
+### Replace x.x.x.x/y with the VNFs IP/subnet
15
+$ sudo iptables -I FORWARD -s 10.45.0.0/16 -d x.x.x.x/y -j DROP
16
+```
17
+
18
+**Note:** The above assumes you do not have any existing rules in the filter and nat tables. If a program such as docker has already set up rules, you may need to add the Open5GS related rules differently.
19
+{: .notice--danger}
20
 
21
 ## 5. Turn on your eNB/gNB and UE
22
 ---
23
open5gs_2.4.10.202209250002.tar.xz/docs/_docs/guide/02-building-open5gs-from-sources.md -> open5gs_2.4.10.202209260002.tar.xz/docs/_docs/guide/02-building-open5gs-from-sources.md Changed
21
 
1
@@ -468,6 +468,19 @@
2
 $ sudo ip6tables -t nat -A POSTROUTING -s 2001:db8:cafe::/48 ! -o ogstun -j MASQUERADE
3
 ```
4
 
5
+Optionally, you may consider the settings below for security purposes.
6
+
7
+```bash
8
+### Prevent UE's from connecting to the host on which UPF is running
9
+$ sudo iptables -I INPUT -s 10.45.0.0/16 -j DROP
10
+$ sudo ip6tables -I INPUT -s 2001:db8:cafe::/48 -j DROP
11
+
12
+### If your core network runs over multiple hosts, you probably want to block
13
+### UE originating traffic from accessing other network functions.
14
+### Replace x.x.x.x/y with the VNFs IP/subnet
15
+$ sudo iptables -I FORWARD -s 10.45.0.0/16 -d x.x.x.x/y -j DROP
16
+```
17
+
18
 **Note:** The above assumes you do not have any existing rules in the filter and nat tables. If a program such as docker has already set up rules, you may need to add the Open5GS related rules differently.
19
 {: .notice--danger}
20
 
21
open5gs_2.4.10.202209250002.tar.xz/lib/core/ogs-time.c -> open5gs_2.4.10.202209260002.tar.xz/lib/core/ogs-time.c Changed
44
 
1
@@ -125,7 +125,7 @@
2
     rc = ogs_gettimeofday(&tv);
3
     ogs_assert(rc == 0);
4
 
5
-    return tv.tv_sec * OGS_USEC_PER_SEC + tv.tv_usec;
6
+    return ogs_time_from_sec(tv.tv_sec) + tv.tv_usec;
7
 }
8
 
9
 /* The following code is stolen from APR library */
10
@@ -188,13 +188,13 @@
11
     rc = ogs_gettimeofday(&tv);
12
     ogs_assert(rc == 0);
13
 
14
-    return ogs_time_to_ntp32(tv.tv_sec * OGS_USEC_PER_SEC + tv.tv_usec);
15
+    return ogs_time_to_ntp32(ogs_time_from_sec(tv.tv_sec) + tv.tv_usec);
16
 }
17
 ogs_time_t ogs_time_from_ntp32(uint32_t ntp_timestamp)
18
 {
19
     if (ntp_timestamp < OGS_1970_1900_SEC_DIFF)
20
         return 0;
21
-    return (ntp_timestamp - OGS_1970_1900_SEC_DIFF) * OGS_USEC_PER_SEC;
22
+    return ogs_time_from_sec(ntp_timestamp - OGS_1970_1900_SEC_DIFF);
23
 }
24
 uint32_t ogs_time_to_ntp32(ogs_time_t time)
25
 {
26
@@ -242,7 +242,7 @@
27
 #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
28
     struct timespec ts;
29
     clock_gettime(CLOCK_MONOTONIC, &ts);
30
-    return ((ts.tv_sec * 1000000UL) + (ts.tv_nsec / 1000UL));
31
+    return ogs_time_from_sec(ts.tv_sec) + ts.tv_nsec / 1000UL;
32
 #elif defined(__APPLE__)
33
     static mach_timebase_info_data_t info = {0};
34
     static double ratio = 0.0;
35
@@ -268,7 +268,7 @@
36
     struct timeval tv;
37
 
38
     ogs_gettimeofday(&tv);
39
-    return (tv.tv_sec * 1000000UL) + tv.tv_usec;
40
+    return ogs_time_from_sec(tv.tv_sec) + tv.tv_usec;
41
 #endif
42
 }
43
 
44
open5gs_2.4.10.202209250002.tar.xz/lib/core/ogs-tlv.c -> open5gs_2.4.10.202209260002.tar.xz/lib/core/ogs-tlv.c Changed
14
 
1
@@ -461,7 +461,11 @@
2
         ogs_assert(pos);
3
     }
4
 
5
-    ogs_assert(length == (pos - blk));
6
+    if (length != (pos - blk)) {
7
+        ogs_fatal("ogs_tlv_parse_block() failedLEN:%d,MODE:%d", length, mode);
8
+        ogs_log_hexdump(OGS_LOG_FATAL, data, length);
9
+        ogs_assert_if_reached();
10
+    }
11
 
12
     return root;
13
 }
14
open5gs_2.4.10.202209250002.tar.xz/lib/core/ogs-uuid.c -> open5gs_2.4.10.202209260002.tar.xz/lib/core/ogs-uuid.c Changed
10
 
1
@@ -80,7 +80,7 @@
2
 
3
     /* ### fix this call to be more portable? */
4
     ogs_gettimeofday(&tv);
5
-    *uuid_time = tv.tv_sec * OGS_USEC_PER_SEC + tv.tv_usec;
6
+    *uuid_time = ogs_time_from_sec(tv.tv_sec) + tv.tv_usec;
7
 
8
     /* Offset between UUID formatted times and Unix formatted times.
9
        UUID UTC base time is October 15, 1582.
10
open5gs_2.4.10.202209250002.tar.xz/lib/metrics/context.h -> open5gs_2.4.10.202209260002.tar.xz/lib/metrics/context.h Changed
10
 
1
@@ -39,7 +39,7 @@
2
 void ogs_metrics_context_close(ogs_metrics_context_t *ctx);
3
 void ogs_metrics_context_final(void);
4
 ogs_metrics_context_t *ogs_metrics_self(void);
5
-int ogs_metrics_context_parse_config(void);
6
+int ogs_metrics_context_parse_config(const char *local);
7
 
8
 typedef struct ogs_metrics_spec_s ogs_metrics_spec_t;
9
 ogs_metrics_spec_t *ogs_metrics_spec_new(
10
open5gs_2.4.10.202209250002.tar.xz/lib/metrics/prometheus/context.c -> open5gs_2.4.10.202209260002.tar.xz/lib/metrics/prometheus/context.c Changed
44
 
1
@@ -104,7 +104,7 @@
2
     return &self;
3
 }
4
 
5
-int ogs_metrics_context_parse_config(void)
6
+int ogs_metrics_context_parse_config(const char *local)
7
 {
8
     int family = AF_UNSPEC;
9
     const char *hostname = NULL;
10
@@ -121,17 +121,26 @@
11
     while (ogs_yaml_iter_next(&root_iter)) {
12
         const char *root_key = ogs_yaml_iter_key(&root_iter);
13
         ogs_assert(root_key);
14
-        if (!strcmp(root_key, "metrics")) {
15
+        if (local && !strcmp(root_key, local)) {
16
             ogs_yaml_iter_t local_iter;
17
             ogs_yaml_iter_recurse(&root_iter, &local_iter);
18
             while (ogs_yaml_iter_next(&local_iter)) {
19
                 const char *local_key = ogs_yaml_iter_key(&local_iter);
20
-                if (!strcmp(local_key, "addr")) {
21
-                    if ((v = ogs_yaml_iter_value(&local_iter)))
22
-                        hostname = v;
23
-                } else if (!strcmp(local_key, "port")) {
24
-                    if ((v = ogs_yaml_iter_value(&local_iter)))
25
-                        port = atoi(v);
26
+                ogs_assert(local_key);
27
+                if (!strcmp(local_key, "metrics")) {
28
+                    ogs_yaml_iter_t metrics_iter;
29
+                    ogs_yaml_iter_recurse(&local_iter, &metrics_iter);
30
+                    while (ogs_yaml_iter_next(&metrics_iter)) {
31
+                        const char *metrics_key = ogs_yaml_iter_key(&metrics_iter);
32
+                        ogs_assert(metrics_key);
33
+                        if (!strcmp(metrics_key, "addr")) {
34
+                            if ((v = ogs_yaml_iter_value(&metrics_iter)))
35
+                                hostname = v;
36
+                        } else if (!strcmp(metrics_key, "port")) {
37
+                            if ((v = ogs_yaml_iter_value(&metrics_iter)))
38
+                                port = atoi(v);
39
+                        }
40
+                    }
41
                 }
42
             }
43
         }
44
open5gs_2.4.10.202209250002.tar.xz/lib/metrics/void/context.c -> open5gs_2.4.10.202209260002.tar.xz/lib/metrics/void/context.c Changed
10
 
1
@@ -50,7 +50,7 @@
2
     return &self;
3
 }
4
 
5
-int ogs_metrics_context_parse_config(void)
6
+int ogs_metrics_context_parse_config(const char *local)
7
 {
8
     return OGS_OK;
9
 }
10
open5gs_2.4.10.202209250002.tar.xz/lib/sbi/client.c -> open5gs_2.4.10.202209260002.tar.xz/lib/sbi/client.c Changed
78
 
1
@@ -44,6 +44,7 @@
2
 
3
     char *memory;
4
     size_t size;
5
+    bool memory_overflow;
6
 
7
     char *location;
8
 
9
@@ -533,6 +534,8 @@
10
 
11
             res = resource->data.result;
12
             if (res == CURLE_OK) {
13
+                ogs_log_level_e level = OGS_LOG_DEBUG;
14
+
15
                 response = ogs_sbi_response_new();
16
                 ogs_assert(response);
17
 
18
@@ -546,7 +549,17 @@
19
                 response->h.uri = ogs_strdup(url);
20
                 ogs_assert(response->h.uri);
21
 
22
-                ogs_debug("%d:%s %s",
23
+                if (content_type)
24
+                    ogs_sbi_header_set(response->http.headers,
25
+                            OGS_SBI_CONTENT_TYPE, content_type);
26
+                if (conn->location)
27
+                    ogs_sbi_header_set(response->http.headers,
28
+                            OGS_SBI_LOCATION, conn->location);
29
+
30
+                if (conn->memory_overflow == true)
31
+                    level = OGS_LOG_ERROR;
32
+
33
+                ogs_log_message(level, 0, "%d:%s %s",
34
                         response->status, response->h.method, response->h.uri);
35
 
36
                 if (conn->memory) {
37
@@ -557,16 +570,17 @@
38
                     ogs_assert(response->http.content_length);
39
                 }
40
 
41
-                ogs_debug("RECEIVED%d", (int)response->http.content_length);
42
+                ogs_log_message(level, 0, "RECEIVED%d",
43
+                        (int)response->http.content_length);
44
                 if (response->http.content_length && response->http.content)
45
-                    ogs_debug("%s", response->http.content);
46
+                    ogs_log_message(level, 0, "%s", response->http.content);
47
+
48
+                if (conn->memory_overflow == true) {
49
+                    ogs_sbi_response_free(response);
50
+                    connection_remove(conn);
51
+                    break;
52
+                }
53
 
54
-                if (content_type)
55
-                    ogs_sbi_header_set(response->http.headers,
56
-                            OGS_SBI_CONTENT_TYPE, content_type);
57
-                if (conn->location)
58
-                    ogs_sbi_header_set(response->http.headers,
59
-                            OGS_SBI_LOCATION, conn->location);
60
             } else
61
                 ogs_warn("%d %s", res, conn->error);
62
 
63
@@ -727,8 +741,12 @@
64
     realsize = size * nmemb;
65
     ptr = ogs_realloc(conn->memory, conn->size + realsize + 1);
66
     if(!ptr) {
67
-        ogs_fatal("not enough memory (realloc returned NULL)");
68
-        ogs_assert_if_reached();
69
+        conn->memory_overflow = true;
70
+
71
+        ogs_error("Overflow : conn->size%d, realsize%d",
72
+                    (int)conn->size, (int)realsize);
73
+        ogs_log_hexdump(OGS_LOG_ERROR, contents, realsize);
74
+
75
         return 0;
76
     }
77
 
78
open5gs_2.4.10.202209250002.tar.xz/lib/sbi/nghttp2-server.c -> open5gs_2.4.10.202209260002.tar.xz/lib/sbi/nghttp2-server.c Changed
81
 
1
@@ -82,6 +82,7 @@
2
 
3
     int32_t                 stream_id;
4
     ogs_sbi_request_t       *request;
5
+    bool                    memory_overflow;
6
 
7
     ogs_sbi_session_t       *session;
8
 } ogs_sbi_stream_t;
9
@@ -791,12 +792,23 @@
10
     case NGHTTP2_DATA:
11
         /* HEADERS or DATA frame with +END_STREAM flag */
12
         if (frame->hd.flags & NGHTTP2_FLAG_END_STREAM) {
13
+            ogs_log_level_e level = OGS_LOG_DEBUG;
14
 
15
-            ogs_debug("%s %s", request->h.method, request->h.uri);
16
+            if (stream->memory_overflow == true)
17
+                level = OGS_LOG_ERROR;
18
+
19
+            ogs_log_message(level, 0,
20
+                    "%s %s", request->h.method, request->h.uri);
21
 
22
             if (request->http.content_length && request->http.content) {
23
-                ogs_debug("RECEIVED: %d", (int)request->http.content_length);
24
-                ogs_debug("%s", request->http.content);
25
+                ogs_log_message(level, 0,
26
+                        "RECEIVED: %d", (int)request->http.content_length);
27
+                ogs_log_message(level, 0, "%s", request->http.content);
28
+            }
29
+
30
+            if (stream->memory_overflow == true) {
31
+                ogs_error("DROP Overflow");
32
+                break;
33
             }
34
 
35
             if (server->cb(request, stream) != OGS_OK) {
36
@@ -967,23 +979,30 @@
37
     ogs_assert(len);
38
 
39
     if (request->http.content == NULL) {
40
-        request->http.content_length = len;
41
-        request->http.content =
42
-            (char*)ogs_malloc(request->http.content_length + 1);
43
-        ogs_assert(request->http.content);
44
+        ogs_assert(request->http.content_length == 0);
45
+        ogs_assert(offset == 0);
46
+
47
+        request->http.content = (char*)ogs_malloc(len + 1);
48
     } else {
49
-        offset = request->http.content_length;
50
-        if ((request->http.content_length + len) > OGS_HUGE_LEN) {
51
-            ogs_error("Overflow : Content-Length%d, len%d",
52
-                        (int)request->http.content_length, (int)len);
53
-            ogs_assert_if_reached();
54
-        }
55
-        request->http.content_length += len;
56
-        request->http.content = (char *)ogs_realloc(
57
-                request->http.content, request->http.content_length + 1);
58
-        ogs_assert(request->http.content);
59
+        ogs_assert(request->http.content_length != 0);
60
+
61
+        request->http.content = (char*)ogs_realloc(
62
+                request->http.content, request->http.content_length + len + 1);
63
     }
64
 
65
+    if (!request->http.content) {
66
+        stream->memory_overflow = true;
67
+
68
+        ogs_error("Overflow : Content-Length%d, len%d",
69
+                    (int)request->http.content_length, (int)len);
70
+        ogs_log_hexdump(OGS_LOG_ERROR, data, len);
71
+
72
+        return 0;
73
+    }
74
+
75
+    offset = request->http.content_length;
76
+    request->http.content_length += len;
77
+
78
     memcpy(request->http.content + offset, data, len);
79
     request->http.contentrequest->http.content_length = '\0';
80
 
81
open5gs_2.4.10.202209250002.tar.xz/src/amf/context.c -> open5gs_2.4.10.202209260002.tar.xz/src/amf/context.c Changed
10
 
1
@@ -825,6 +825,8 @@
2
                     /* handle config in sbi library */
3
                 } else if (!strcmp(amf_key, "discovery")) {
4
                     /* handle config in sbi library */
5
+                } else if (!strcmp(amf_key, "metrics")) {
6
+                    /* handle config in metrics library */
7
                 } else
8
                     ogs_warn("unknown key `%s`", amf_key);
9
             }
10
open5gs_2.4.10.202209250002.tar.xz/src/amf/init.c -> open5gs_2.4.10.202209260002.tar.xz/src/amf/init.c Changed
10
 
1
@@ -37,7 +37,7 @@
2
     rv = ogs_sbi_context_parse_config("amf", "nrf", "scp");
3
     if (rv != OGS_OK) return rv;
4
 
5
-    rv = ogs_metrics_context_parse_config();
6
+    rv = ogs_metrics_context_parse_config("amf");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = amf_context_parse_config();
10
open5gs_2.4.10.202209250002.tar.xz/src/mme/mme-context.c -> open5gs_2.4.10.202209260002.tar.xz/src/mme/mme-context.c Changed
10
 
1
@@ -1277,6 +1277,8 @@
2
                             YAML_SEQUENCE_NODE);
3
                 } else if (!strcmp(mme_key, "mme_name")) {
4
                     self.mme_name = ogs_yaml_iter_value(&mme_iter);
5
+                } else if (!strcmp(mme_key, "metrics")) {
6
+                    /* handle config in metrics library */
7
                 } else
8
                     ogs_warn("unknown key `%s`", mme_key);
9
             }
10
open5gs_2.4.10.202209250002.tar.xz/src/mme/mme-init.c -> open5gs_2.4.10.202209260002.tar.xz/src/mme/mme-init.c Changed
10
 
1
@@ -49,7 +49,7 @@
2
     rv = ogs_gtp_context_parse_config("mme", "sgwc");
3
     if (rv != OGS_OK) return rv;
4
 
5
-    rv = ogs_metrics_context_parse_config();
6
+    rv = ogs_metrics_context_parse_config("mme");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = mme_context_parse_config();
10
open5gs_2.4.10.202209250002.tar.xz/src/mme/mme-s11-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/mme/mme-s11-handler.c Changed
73
 
1
@@ -220,7 +220,7 @@
2
         ogs_assert(cause);
3
         cause_value = cause->value;
4
         if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
5
-            ogs_error("GTP Failed Bearer-CAUSE:%d", cause_value);
6
+            ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
7
             if (create_action == OGS_GTP_CREATE_IN_ATTACH_REQUEST) {
8
                 ogs_error("%s Attach reject", mme_ue->imsi_bcd);
9
                 ogs_assert(OGS_OK == nas_eps_send_attach_reject(mme_ue,
10
@@ -240,7 +240,7 @@
11
             OGS_GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_NETWORK_PREFERENCE &&
12
         cause_value !=
13
             OGS_GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_SINGLE_ADDRESS_BEARER_ONLY) {
14
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
15
+        ogs_error("GTP Cause Value:%d", cause_value);
16
         if (create_action == OGS_GTP_CREATE_IN_ATTACH_REQUEST) {
17
             ogs_error("%s Attach reject", mme_ue->imsi_bcd);
18
             ogs_assert(OGS_OK == nas_eps_send_attach_reject(mme_ue,
19
@@ -467,7 +467,7 @@
20
     ogs_assert(cause);
21
     cause_value = cause->value;
22
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
23
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
24
+        ogs_error("GTP Cause Value:%d", cause_value);
25
         mme_send_delete_session_or_mme_ue_context_release(mme_ue);
26
         return;
27
     }
28
@@ -548,7 +548,7 @@
29
 
30
         cause_value = cause->value;
31
         if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED)
32
-            ogs_error("GTP Failed CAUSE:%d - Ignored", cause_value);
33
+            ogs_error("GTP Cause Value:%d - Ignored", cause_value);
34
     }
35
 
36
     /********************
37
@@ -1143,7 +1143,7 @@
38
 
39
         cause_value = cause->value;
40
         if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED)
41
-            ogs_error("GTP Failed CAUSE:%d, ACTION:%d", cause_value, action);
42
+            ogs_error("GTP Cause Value:%d, ACTION:%d", cause_value, action);
43
     }
44
 
45
     /********************
46
@@ -1455,7 +1455,7 @@
47
     ogs_assert(cause);
48
     cause_value = cause->value;
49
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
50
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
51
+        ogs_error("GTP Cause Value:%d", cause_value);
52
         mme_send_delete_session_or_mme_ue_context_release(mme_ue);
53
         return;
54
     }
55
@@ -1571,7 +1571,7 @@
56
     ogs_assert(cause);
57
     cause_value = cause->value;
58
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
59
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
60
+        ogs_error("GTP Cause Value:%d", cause_value);
61
         mme_send_delete_session_or_mme_ue_context_release(mme_ue);
62
         return;
63
     }
64
@@ -1639,7 +1639,7 @@
65
         ogs_assert(cause);
66
 
67
         cause_value = cause->value;
68
-        ogs_warn("GTP Failed CAUSE:%d - Ignored", cause_value);
69
+        ogs_warn("GTP Cause Value:%d - Ignored", cause_value);
70
     } else {
71
         ogs_error("No Cause");
72
     }
73
open5gs_2.4.10.202209250002.tar.xz/src/mme/mme-s6a-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/mme/mme-s6a-handler.c Changed
44
 
1
@@ -102,13 +102,27 @@
2
             break;
3
         }
4
 
5
-        mme_ue->sessioni.name = ogs_strdup(slice_data->sessioni.name);
6
-        ogs_assert(mme_ue->sessioni.name);
7
+        if (slice_data->sessioni.name) {
8
+            mme_ue->sessioni.name = ogs_strdup(slice_data->sessioni.name);
9
+            ogs_assert(mme_ue->sessioni.name);
10
+        }
11
 
12
         mme_ue->sessioni.context_identifier =
13
             slice_data->sessioni.context_identifier;
14
 
15
-        mme_ue->sessioni.session_type = slice_data->sessioni.session_type;
16
+        if (slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV4 ||
17
+            slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV6 ||
18
+            slice_data->sessioni.session_type ==
19
+                OGS_PDU_SESSION_TYPE_IPV4V6) {
20
+            mme_ue->sessioni.session_type =
21
+                slice_data->sessioni.session_type;
22
+        } else {
23
+            ogs_error("Invalid PDN_TYPE%d",
24
+                slice_data->sessioni.session_type);
25
+            if (mme_ue->sessioni.name)
26
+                ogs_free(mme_ue->sessioni.name);
27
+            break;
28
+        }
29
         memcpy(&mme_ue->sessioni.paa, &slice_data->sessioni.paa,
30
                 sizeof(mme_ue->sessioni.paa));
31
 
32
@@ -127,6 +141,11 @@
33
             slice_data->sessioni.charging_characteristics_presence;
34
     }
35
 
36
+    if (i == 0) {
37
+        ogs_error("No Session");
38
+        return OGS_NAS_EMM_CAUSE_SEVERE_NETWORK_FAILURE;
39
+    }
40
+
41
     mme_ue->num_of_session = i;
42
     mme_ue->context_identifier = slice_data->context_identifier;
43
 
44
open5gs_2.4.10.202209250002.tar.xz/src/sgwc/pfcp-sm.c -> open5gs_2.4.10.202209260002.tar.xz/src/sgwc/pfcp-sm.c Changed
39
 
1
@@ -169,12 +169,16 @@
2
 
3
     switch (e->id) {
4
     case OGS_FSM_ENTRY_SIG:
5
-        ogs_info("PFCP associated");
6
+        ogs_info("PFCP associated %s:%d",
7
+            OGS_ADDR(&node->addr, buf),
8
+            OGS_PORT(&node->addr));
9
         ogs_timer_start(node->t_no_heartbeat,
10
                 ogs_app()->time.message.pfcp.no_heartbeat_duration);
11
         break;
12
     case OGS_FSM_EXIT_SIG:
13
-        ogs_info("PFCP de-associated");
14
+        ogs_info("PFCP de-associated %s:%d",
15
+            OGS_ADDR(&node->addr, buf),
16
+            OGS_PORT(&node->addr));
17
         ogs_timer_stop(node->t_no_heartbeat);
18
         break;
19
     case SGWC_EVT_SXA_MESSAGE:
20
@@ -206,12 +210,16 @@
21
                     &message->pfcp_heartbeat_response));
22
             break;
23
         case OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE:
24
-            ogs_warn("PFCPREQ has already been associated");
25
+            ogs_warn("PFCPREQ has already been associated %s:%d",
26
+                OGS_ADDR(&node->addr, buf),
27
+                OGS_PORT(&node->addr));
28
             ogs_pfcp_cp_handle_association_setup_request(node, xact,
29
                     &message->pfcp_association_setup_request);
30
             break;
31
         case OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE:
32
-            ogs_warn("PFCPRSP has already been associated");
33
+            ogs_warn("PFCPRSP has already been associated %s:%d",
34
+                OGS_ADDR(&node->addr, buf),
35
+                OGS_PORT(&node->addr));
36
             ogs_pfcp_cp_handle_association_setup_response(node, xact,
37
                     &message->pfcp_association_setup_response);
38
             break;
39
open5gs_2.4.10.202209250002.tar.xz/src/sgwc/s11-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/sgwc/s11-handler.c Changed
62
 
1
@@ -766,7 +766,7 @@
2
     ogs_assert(cause);
3
     cause_value = cause->value;
4
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
5
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
6
+        ogs_error("GTP Cause Value:%d", cause_value);
7
         ogs_assert(OGS_OK ==
8
             sgwc_pfcp_send_bearer_modification_request(
9
                 bearer, NULL, NULL,
10
@@ -919,7 +919,7 @@
11
     ogs_assert(cause);
12
     cause_value = cause->value;
13
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
14
-        ogs_error("GTP Failed Bearer-CAUSE:%d", cause_value);
15
+        ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
16
         ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
17
                 OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
18
         return;
19
@@ -929,7 +929,7 @@
20
     ogs_assert(cause);
21
     cause_value = cause->value;
22
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
23
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
24
+        ogs_error("GTP Cause Value:%d", cause_value);
25
         ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
26
                 OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
27
         return;
28
@@ -1022,7 +1022,7 @@
29
             cause_value = cause->value;
30
             if (cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
31
             } else {
32
-                ogs_error("GTP Failed CAUSE:%d", cause_value);
33
+                ogs_error("GTP Cause Value:%d", cause_value);
34
             }
35
         } else {
36
             ogs_error("No Cause");
37
@@ -1062,13 +1062,13 @@
38
 
39
                     if (cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
40
                     } else {
41
-                        ogs_error("GTP Failed CAUSE:%d", cause_value);
42
+                        ogs_error("GTP Cause Value:%d", cause_value);
43
                     }
44
                 } else {
45
                     ogs_error("No Cause");
46
                 }
47
             } else {
48
-                ogs_error("GTP Failed CAUSE:%d", cause_value);
49
+                ogs_error("GTP Cause Value:%d", cause_value);
50
             }
51
         } else {
52
             ogs_error("No Cause");
53
@@ -1172,7 +1172,7 @@
54
 
55
         cause_value = cause->value;
56
         if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED)
57
-            ogs_warn("GTP Failed CAUSE:%d - PFCP_CAUSE%d",
58
+            ogs_warn("GTP Cause Value:%d - PFCP_CAUSE%d",
59
                     cause_value, pfcp_cause_from_gtp(cause_value));
60
     } else {
61
         ogs_error("No Cause");
62
open5gs_2.4.10.202209250002.tar.xz/src/sgwc/s5c-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/sgwc/s5c-handler.c Changed
201
 
1
@@ -79,9 +79,6 @@
2
     ogs_gtp_xact_t *s11_xact = NULL;
3
     ogs_gtp_node_t *pgw = NULL;
4
 
5
-    ogs_assert(sess);
6
-    sgwc_ue = sess->sgwc_ue;
7
-    ogs_assert(sgwc_ue);
8
     ogs_assert(gtpbuf);
9
     ogs_assert(message);
10
     rsp = &message->create_session_response;
11
@@ -99,10 +96,32 @@
12
     rv = ogs_gtp_xact_commit(s5c_xact);
13
     ogs_expect(rv == OGS_OK);
14
 
15
+    /************************
16
+     * Check Session Context
17
+     *
18
+     * - Session could be deleted before a message is received from SMF.
19
+     ************************/
20
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
21
+
22
+    if (!sess) {
23
+        ogs_error("No Context in TEID");
24
+        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
25
+    } else {
26
+        sgwc_ue = sess->sgwc_ue;
27
+        ogs_assert(sgwc_ue);
28
+    }
29
+
30
+    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
31
+        ogs_gtp_send_error_message(
32
+                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
33
+                OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
34
+        return;
35
+    }
36
+
37
     /*****************************************
38
      * Check Mandatory/Conditional IE Missing
39
      *****************************************/
40
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
41
+    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
42
 
43
     if (rsp->pgw_s5_s8__s2a_s2b_f_teid_for_pmip_based_interface_or_for_gtp_based_control_plane_interface.presence == 0) {
44
         ogs_error("No GTP TEID");
45
@@ -150,7 +169,7 @@
46
         ogs_assert(cause);
47
         cause_value = cause->value;
48
         if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
49
-            ogs_error("GTP Failed Bearer-CAUSE:%d", cause_value);
50
+            ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
51
             ogs_gtp_send_error_message(
52
                     s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
53
                     OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
54
@@ -167,7 +186,7 @@
55
             OGS_GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_NETWORK_PREFERENCE &&
56
         cause_value !=
57
             OGS_GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_SINGLE_ADDRESS_BEARER_ONLY) {
58
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
59
+        ogs_error("GTP Cause Value:%d", cause_value);
60
         ogs_gtp_send_error_message(
61
                 s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
62
                 OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
63
@@ -280,9 +299,6 @@
64
     ogs_gtp_xact_t *s11_xact = NULL;
65
     ogs_gtp2_modify_bearer_response_t *rsp = NULL;
66
 
67
-    ogs_assert(sess);
68
-    sgwc_ue = sess->sgwc_ue;
69
-    ogs_assert(sgwc_ue);
70
     ogs_assert(message);
71
     rsp = &message->modify_bearer_response;
72
     ogs_assert(rsp);
73
@@ -300,10 +316,37 @@
74
     rv = ogs_gtp_xact_commit(s5c_xact);
75
     ogs_expect(rv == OGS_OK);
76
 
77
+    /************************
78
+     * Check Session Context
79
+     *
80
+     * - Session could be deleted before a message is received from SMF.
81
+     ************************/
82
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
83
+
84
+    if (!sess) {
85
+        ogs_error("No Context in TEID");
86
+        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
87
+    } else {
88
+        sgwc_ue = sess->sgwc_ue;
89
+        ogs_assert(sgwc_ue);
90
+    }
91
+
92
+    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
93
+        if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
94
+            ogs_gtp_send_error_message(
95
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
96
+                    OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
97
+        else
98
+            ogs_gtp_send_error_message(
99
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
100
+                    OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
101
+        return;
102
+    }
103
+
104
     /*****************************************
105
      * Check Mandatory/Conditional IE Missing
106
      *****************************************/
107
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
108
+    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
109
 
110
     if (rsp->cause.presence == 0) {
111
         ogs_error("No Cause");
112
@@ -331,7 +374,7 @@
113
     ogs_assert(cause);
114
     cause_value = cause->value;
115
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
116
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
117
+        ogs_error("GTP Cause Value:%d", cause_value);
118
         if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
119
             ogs_gtp_send_error_message(
120
                     s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
121
@@ -385,9 +428,6 @@
122
     ogs_gtp_xact_t *s11_xact = NULL;
123
     ogs_gtp2_delete_session_response_t *rsp = NULL;
124
 
125
-    ogs_assert(sess);
126
-    sgwc_ue = sess->sgwc_ue;
127
-    ogs_assert(sgwc_ue);
128
     ogs_assert(message);
129
     rsp = &message->delete_session_response;
130
     ogs_assert(rsp);
131
@@ -404,10 +444,32 @@
132
     rv = ogs_gtp_xact_commit(s5c_xact);
133
     ogs_expect(rv == OGS_OK);
134
 
135
+    /************************
136
+     * Check Session Context
137
+     *
138
+     * - Session could be deleted before a message is received from SMF.
139
+     ************************/
140
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
141
+
142
+    if (!sess) {
143
+        ogs_error("No Context in TEID");
144
+        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
145
+    } else {
146
+        sgwc_ue = sess->sgwc_ue;
147
+        ogs_assert(sgwc_ue);
148
+    }
149
+
150
+    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
151
+        ogs_gtp_send_error_message(
152
+                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
153
+                OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
154
+        return;
155
+    }
156
+
157
     /*****************************************
158
      * Check Mandatory/Conditional IE Missing
159
      *****************************************/
160
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
161
+    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
162
 
163
     if (rsp->cause.presence == 0) {
164
         ogs_error("No Cause");
165
@@ -430,7 +492,7 @@
166
     ogs_assert(cause);
167
     cause_value = cause->value;
168
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
169
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
170
+        ogs_error("GTP Cause Value:%d", cause_value);
171
         ogs_gtp_send_error_message(
172
                 s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
173
                 OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
174
@@ -835,9 +897,6 @@
175
 
176
     sgwc_ue_t *sgwc_ue = NULL;
177
 
178
-    ogs_assert(sess);
179
-    sgwc_ue = sess->sgwc_ue;
180
-    ogs_assert(sgwc_ue);
181
     ogs_assert(message);
182
     ind = &message->bearer_resource_failure_indication;
183
     ogs_assert(ind);
184
@@ -851,6 +910,19 @@
185
     s11_xact = s5c_xact->assoc_xact;
186
     ogs_assert(s11_xact);
187
 
188
+    /************************
189
+     * Check Session Context
190
+     *
191
+     * - Session could be deleted before a message is received from SMF.
192
+     ************************/
193
+    if (!sess) {
194
+        ogs_error("No Context in TEID");
195
+        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
196
+    } else {
197
+        sgwc_ue = sess->sgwc_ue;
198
+        ogs_assert(sgwc_ue);
199
+    }
200
+
201
open5gs_2.4.10.202209250002.tar.xz/src/sgwc/sxa-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/sgwc/sxa-handler.c Changed
24
 
1
@@ -1325,12 +1325,21 @@
2
 
3
     ogs_debug("Session Report Request");
4
 
5
-    ogs_assert(sess);
6
     ogs_assert(pfcp_xact);
7
     ogs_assert(pfcp_req);
8
 
9
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
10
 
11
+    /************************
12
+     * Check Session Context
13
+     *
14
+     * - Session could be deleted before a message is received from SMF.
15
+     ************************/
16
+    if (!sess) {
17
+        ogs_error("No Context");
18
+        cause_value = OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND;
19
+    }
20
+
21
     if (pfcp_req->report_type.presence == 0) {
22
         ogs_error("No Report Type");
23
         cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING;
24
open5gs_2.4.10.202209250002.tar.xz/src/sgwu/pfcp-sm.c -> open5gs_2.4.10.202209260002.tar.xz/src/sgwu/pfcp-sm.c Changed
39
 
1
@@ -165,12 +165,16 @@
2
 
3
     switch (e->id) {
4
     case OGS_FSM_ENTRY_SIG:
5
-        ogs_info("PFCP associated");
6
+        ogs_info("PFCP associated %s:%d",
7
+            OGS_ADDR(&node->addr, buf),
8
+            OGS_PORT(&node->addr));
9
         ogs_timer_start(node->t_no_heartbeat,
10
                 ogs_app()->time.message.pfcp.no_heartbeat_duration);
11
         break;
12
     case OGS_FSM_EXIT_SIG:
13
-        ogs_info("PFCP de-associated");
14
+        ogs_info("PFCP de-associated %s:%d",
15
+            OGS_ADDR(&node->addr, buf),
16
+            OGS_PORT(&node->addr));
17
         ogs_timer_stop(node->t_no_heartbeat);
18
         break;
19
     case SGWU_EVT_SXA_MESSAGE:
20
@@ -194,12 +198,16 @@
21
                     &message->pfcp_heartbeat_response));
22
             break;
23
         case OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE:
24
-            ogs_warn("PFCPREQ has already been associated");
25
+            ogs_warn("PFCPREQ has already been associated %s:%d",
26
+                OGS_ADDR(&node->addr, buf),
27
+                OGS_PORT(&node->addr));
28
             ogs_pfcp_up_handle_association_setup_request(node, xact,
29
                     &message->pfcp_association_setup_request);
30
             break;
31
         case OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE:
32
-            ogs_warn("PFCPRSP has already been associated");
33
+            ogs_warn("PFCPRSP has already been associated %s:%d",
34
+                OGS_ADDR(&node->addr, buf),
35
+                OGS_PORT(&node->addr));
36
             ogs_pfcp_up_handle_association_setup_response(node, xact,
37
                     &message->pfcp_association_setup_response);
38
             break;
39
open5gs_2.4.10.202209250002.tar.xz/src/smf/context.c -> open5gs_2.4.10.202209260002.tar.xz/src/smf/context.c Changed
10
 
1
@@ -835,6 +835,8 @@
2
                     /* handle config in sbi library */
3
                 } else if (!strcmp(smf_key, "discovery")) {
4
                     /* handle config in sbi library */
5
+                } else if (!strcmp(smf_key, "metrics")) {
6
+                    /* handle config in metrics library */
7
                 } else
8
                     ogs_warn("unknown key `%s`", smf_key);
9
             }
10
open5gs_2.4.10.202209250002.tar.xz/src/smf/init.c -> open5gs_2.4.10.202209260002.tar.xz/src/smf/init.c Changed
10
 
1
@@ -55,7 +55,7 @@
2
     rv = ogs_sbi_context_parse_config("smf", "nrf", "scp");
3
     if (rv != OGS_OK) return rv;
4
 
5
-    rv = ogs_metrics_context_parse_config();
6
+    rv = ogs_metrics_context_parse_config("smf");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = smf_context_parse_config();
10
open5gs_2.4.10.202209250002.tar.xz/src/smf/n4-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/smf/n4-handler.c Changed
10
 
1
@@ -1063,7 +1063,7 @@
2
         return OGS_PFCP_CAUSE_MANDATORY_IE_MISSING;
3
     }
4
     if (rsp->cause.u8 != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
5
-            ogs_warn("PFCP Cause%d : Not Accepted", rsp->cause.u8);
6
+            ogs_warn("PFCP Cause %d : Not Accepted", rsp->cause.u8);
7
             return rsp->cause.u8;
8
     }
9
 
10
open5gs_2.4.10.202209250002.tar.xz/src/smf/pfcp-sm.c -> open5gs_2.4.10.202209260002.tar.xz/src/smf/pfcp-sm.c Changed
39
 
1
@@ -171,12 +171,16 @@
2
 
3
     switch (e->h.id) {
4
     case OGS_FSM_ENTRY_SIG:
5
-        ogs_info("PFCP associated");
6
+        ogs_info("PFCP associated %s:%d",
7
+            OGS_ADDR(&node->addr, buf),
8
+            OGS_PORT(&node->addr));
9
         ogs_timer_start(node->t_no_heartbeat,
10
                 ogs_app()->time.message.pfcp.no_heartbeat_duration);
11
         break;
12
     case OGS_FSM_EXIT_SIG:
13
-        ogs_info("PFCP de-associated");
14
+        ogs_info("PFCP de-associated %s:%d",
15
+            OGS_ADDR(&node->addr, buf),
16
+            OGS_PORT(&node->addr));
17
         ogs_timer_stop(node->t_no_heartbeat);
18
         break;
19
     case SMF_EVT_N4_MESSAGE:
20
@@ -210,12 +214,16 @@
21
                     &message->pfcp_heartbeat_response));
22
             break;
23
         case OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE:
24
-            ogs_warn("PFCPREQ has already been associated");
25
+            ogs_warn("PFCPREQ has already been associated %s:%d",
26
+                OGS_ADDR(&node->addr, buf),
27
+                OGS_PORT(&node->addr));
28
             ogs_pfcp_cp_handle_association_setup_request(node, xact,
29
                     &message->pfcp_association_setup_request);
30
             break;
31
         case OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE:
32
-            ogs_warn("PFCPRSP has already been associated");
33
+            ogs_warn("PFCPRSP has already been associated %s:%d",
34
+                OGS_ADDR(&node->addr, buf),
35
+                OGS_PORT(&node->addr));
36
             ogs_pfcp_cp_handle_association_setup_response(node, xact,
37
                     &message->pfcp_association_setup_response);
38
             break;
39
open5gs_2.4.10.202209250002.tar.xz/src/smf/s5c-handler.c -> open5gs_2.4.10.202209260002.tar.xz/src/smf/s5c-handler.c Changed
62
 
1
@@ -708,7 +708,7 @@
2
     ogs_assert(cause);
3
     cause_value = cause->value;
4
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
5
-        ogs_error("GTP Failed Bearer-CAUSE:%d", cause_value);
6
+        ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
7
         ogs_assert(OGS_OK ==
8
             smf_epc_pfcp_send_one_bearer_modification_request(
9
                 bearer, NULL, OGS_PFCP_MODIFY_REMOVE,
10
@@ -721,7 +721,7 @@
11
     ogs_assert(cause);
12
     cause_value = cause->value;
13
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
14
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
15
+        ogs_error("GTP Cause Value:%d", cause_value);
16
         ogs_assert(OGS_OK ==
17
             smf_epc_pfcp_send_one_bearer_modification_request(
18
                 bearer, NULL, OGS_PFCP_MODIFY_REMOVE,
19
@@ -837,7 +837,7 @@
20
     ogs_assert(cause);
21
     cause_value = cause->value;
22
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
23
-        ogs_error("GTP Failed Bearer-CAUSE:%d", cause_value);
24
+        ogs_error("GTP Bearer Cause VALUE:%d", cause_value);
25
         return;
26
     }
27
 
28
@@ -845,7 +845,7 @@
29
     ogs_assert(cause);
30
     cause_value = cause->value;
31
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
32
-        ogs_error("GTP Failed CAUSE:%d", cause_value);
33
+        ogs_error("GTP Cause Value:%d", cause_value);
34
         return;
35
     }
36
 
37
@@ -925,7 +925,7 @@
38
             cause_value = cause->value;
39
             if (cause->value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
40
             } else {
41
-                ogs_error("GTP Failed CAUSE:%d", cause_value);
42
+                ogs_error("GTP Cause Value:%d", cause_value);
43
             }
44
         } else {
45
             ogs_error("No Cause");
46
@@ -965,13 +965,13 @@
47
 
48
                 if (cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
49
                 } else {
50
-                    ogs_error("GTP Failed CAUSE:%d", cause_value);
51
+                    ogs_error("GTP Cause Value:%d", cause_value);
52
                 }
53
             } else {
54
                 ogs_error("No Cause");
55
             }
56
         } else {
57
-            ogs_error("GTP Failed CAUSE:%d", cause_value);
58
+            ogs_error("GTP Cause Value:%d", cause_value);
59
         }
60
     } else {
61
         ogs_error("No Cause");
62
open5gs_2.4.10.202209250002.tar.xz/src/upf/context.c -> open5gs_2.4.10.202209260002.tar.xz/src/upf/context.c Changed
30
 
1
@@ -547,7 +547,8 @@
2
     if (!urr_acc->t_validity_time)
3
         urr_acc->t_validity_time = ogs_timer_add(ogs_app()->timer_mgr,
4
                                         upf_sess_urr_acc_timers_cb, urr);
5
-    ogs_timer_start(urr_acc->t_validity_time, urr->quota_validity_time * OGS_USEC_PER_SEC);
6
+    ogs_timer_start(urr_acc->t_validity_time,
7
+            ogs_time_from_sec(urr->quota_validity_time));
8
 }
9
 static void upf_sess_urr_acc_time_quota_setup(upf_sess_t *sess, ogs_pfcp_urr_t *urr)
10
 {
11
@@ -558,7 +559,7 @@
12
     if (!urr_acc->t_time_quota)
13
         urr_acc->t_time_quota = ogs_timer_add(ogs_app()->timer_mgr,
14
                                         upf_sess_urr_acc_timers_cb, urr);
15
-    ogs_timer_start(urr_acc->t_time_quota, urr->time_quota * OGS_USEC_PER_SEC);
16
+    ogs_timer_start(urr_acc->t_time_quota, ogs_time_from_sec(urr->time_quota));
17
 }
18
 static void upf_sess_urr_acc_time_threshold_setup(upf_sess_t *sess, ogs_pfcp_urr_t *urr)
19
 {
20
@@ -569,7 +570,8 @@
21
     if (!urr_acc->t_time_threshold)
22
         urr_acc->t_time_threshold = ogs_timer_add(ogs_app()->timer_mgr,
23
                                         upf_sess_urr_acc_timers_cb, urr);
24
-    ogs_timer_start(urr_acc->t_time_threshold, urr->time_threshold * OGS_USEC_PER_SEC);
25
+    ogs_timer_start(urr_acc->t_time_threshold,
26
+            ogs_time_from_sec(urr->time_threshold));
27
 }
28
 
29
 void upf_sess_urr_acc_timers_setup(upf_sess_t *sess, ogs_pfcp_urr_t *urr)
30
open5gs_2.4.10.202209250002.tar.xz/src/upf/pfcp-sm.c -> open5gs_2.4.10.202209260002.tar.xz/src/upf/pfcp-sm.c Changed
39
 
1
@@ -170,12 +170,16 @@
2
 
3
     switch (e->id) {
4
     case OGS_FSM_ENTRY_SIG:
5
-        ogs_info("PFCP associated");
6
+        ogs_info("PFCP associated %s:%d",
7
+            OGS_ADDR(&node->addr, buf),
8
+            OGS_PORT(&node->addr));
9
         ogs_timer_start(node->t_no_heartbeat,
10
                 ogs_app()->time.message.pfcp.no_heartbeat_duration);
11
         break;
12
     case OGS_FSM_EXIT_SIG:
13
-        ogs_info("PFCP de-associated");
14
+        ogs_info("PFCP de-associated %s:%d",
15
+            OGS_ADDR(&node->addr, buf),
16
+            OGS_PORT(&node->addr));
17
         ogs_timer_stop(node->t_no_heartbeat);
18
         break;
19
     case UPF_EVT_N4_MESSAGE:
20
@@ -199,12 +203,16 @@
21
                     &message->pfcp_heartbeat_response));
22
             break;
23
         case OGS_PFCP_ASSOCIATION_SETUP_REQUEST_TYPE:
24
-            ogs_warn("PFCPREQ has already been associated");
25
+            ogs_warn("PFCPREQ has already been associated %s:%d",
26
+                OGS_ADDR(&node->addr, buf),
27
+                OGS_PORT(&node->addr));
28
             ogs_pfcp_up_handle_association_setup_request(node, xact,
29
                     &message->pfcp_association_setup_request);
30
             break;
31
         case OGS_PFCP_ASSOCIATION_SETUP_RESPONSE_TYPE:
32
-            ogs_warn("PFCPRSP has already been associated");
33
+            ogs_warn("PFCPRSP has already been associated %s:%d",
34
+                OGS_ADDR(&node->addr, buf),
35
+                OGS_PORT(&node->addr));
36
             ogs_pfcp_up_handle_association_setup_response(node, xact,
37
                     &message->pfcp_association_setup_response);
38
             break;
39