Changes of Revision 986
open5gs_2.7.2.4623.6c67.202503032026.dsc -> open5gs_2.7.2.4625.4012.202503042026.dsc
Changed
x
1
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.2.4623.6c67.202503032026
6
+Version: 2.7.2.4625.4012.202503042026
7
Maintainer: Harald Welte <laforge@gnumonks.org>
8
Uploaders: Sukchan Lee <acetcom@gmail.com>
9
Homepage: https://open5gs.org
10
11
open5gs-udr deb net optional arch=any
12
open5gs-upf deb net optional arch=any
13
Checksums-Sha1:
14
- c390ebcd225281b1d76500c3b3973add697d7155 14526096 open5gs_2.7.2.4623.6c67.202503032026.tar.xz
15
+ d74c8af25129ee0977e9091079d285d963f0ccdf 14526816 open5gs_2.7.2.4625.4012.202503042026.tar.xz
16
Checksums-Sha256:
17
- a4988fb2ac0594903c5449b74e6947625caef1e4b15e56f5c41c8fd4ba246f75 14526096 open5gs_2.7.2.4623.6c67.202503032026.tar.xz
18
+ 2479a67042b6c1b6f3f7225d70979b371a3653d7a43e9b29176175ae0a95e8de 14526816 open5gs_2.7.2.4625.4012.202503042026.tar.xz
19
Files:
20
- 2a05e14472623266dd5fcba123e33093 14526096 open5gs_2.7.2.4623.6c67.202503032026.tar.xz
21
+ 8563a17bb419ea1eca28f55f326f8f16 14526816 open5gs_2.7.2.4625.4012.202503042026.tar.xz
22
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/.tarball-version -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/.tarball-version
Changed
4
1
2
-2.7.2.4623-6c67.202503032026
3
+2.7.2.4625-4012.202503042026
4
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/debian/changelog -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/debian/changelog
Changed
12
1
2
-open5gs (2.7.2.4623.6c67.202503032026) unstable; urgency=medium
3
+open5gs (2.7.2.4625.4012.202503042026) unstable; urgency=medium
4
5
* Automatically generated changelog entry for building the Osmocom nightly feed
6
7
- -- Osmocom OBS scripts <info@osmocom.org> Mon, 03 Mar 2025 20:27:52 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Tue, 04 Mar 2025 20:27:54 +0000
9
10
open5gs (2.7.2) unstable; urgency=medium
11
12
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/client.h -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/client.h
Changed
46
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
client = ((__cTX)->client); \
10
ogs_assert(client); \
11
if (client->fqdn) { \
12
- ogs_warn("NF EndPoint(fqdn) updated %s:%d", \
13
+ ogs_warn("UnRef NF EndPoint(fqdn) %s:%d", \
14
client->fqdn, client->fqdn_port); \
15
} \
16
if (client->addr) { \
17
- ogs_warn("NF EndPoint(addr) updated %s:%d", \
18
+ ogs_warn("UnRef NF EndPoint(addr) %s:%d", \
19
OGS_ADDR(client->addr, buf), OGS_PORT(client->addr)); \
20
} \
21
if (client->addr6) { \
22
- ogs_warn("NF EndPoint(addr6) updated %s:%d", \
23
+ ogs_warn("UnRef NF EndPoint(addr6) %s:%d", \
24
OGS_ADDR(client->addr6, buf), OGS_PORT(client->addr6)); \
25
} \
26
ogs_sbi_client_remove(client); \
27
28
((__cTX)->client) = (__pClient); \
29
ogs_debug("CLIENT Ref %d", (__pClient)->reference_count); \
30
if ((__pClient)->fqdn) { \
31
- ogs_info("NF EndPoint(fqdn) setup %s:%d", \
32
+ ogs_info("Setup NF EndPoint(fqdn) %s:%d", \
33
(__pClient)->fqdn, (__pClient)->fqdn_port); \
34
} \
35
if ((__pClient)->addr) { \
36
- ogs_info("NF EndPoint(addr) setup %s:%d", \
37
+ ogs_info("Setup NF EndPoint(addr) %s:%d", \
38
OGS_ADDR((__pClient)->addr, buf), OGS_PORT((__pClient)->addr)); \
39
} \
40
if ((__pClient)->addr6) { \
41
- ogs_info("NF EndPoint(addr6) setup %s:%d", \
42
+ ogs_info("Setup NF EndPoint(addr6) %s:%d", \
43
OGS_ADDR((__pClient)->addr6, buf), \
44
OGS_PORT((__pClient)->addr6)); \
45
} \
46
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/context.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/context.c
Changed
60
1
2
/*
3
- * Copyright (C) 2019-2024 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
{
10
ogs_sbi_nf_instance_t *nf_instance = NULL;
11
12
- ogs_assert(id);
13
+ /*
14
+ * This is related to Issue #3093.
15
+ *
16
+ * We want to be able to use 'ogs_sbi_nf_instance_id_find(char *id)'
17
+ * even if the 'id' is NULL as in the use case below.
18
+ *
19
+ * ogs_sbi_nf_instance_find(
20
+ * sess->sbi.service_type_arrayservice_type.nf_instance_id));
21
+ *
22
+ * To do so, we changed the 'assert(id)' to 'if (!id) return NULL',
23
+ * as shown below.
24
+ */
25
+ if (!id) return NULL;
26
27
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance) {
28
if (nf_instance->id && strcmp(nf_instance->id, id) == 0)
29
30
}
31
}
32
33
- return nf_instance->client;
34
+ return NULL;
35
}
36
37
ogs_sbi_client_t *ogs_sbi_client_find_by_service_type(
38
39
40
void ogs_sbi_object_free(ogs_sbi_object_t *sbi_object)
41
{
42
+ int i;
43
+
44
ogs_assert(sbi_object);
45
46
if (ogs_list_count(&sbi_object->xact_list))
47
ogs_error("SBI running %d", ogs_list_count(&sbi_object->xact_list));
48
+
49
+ for (i = 0; i < OGS_SBI_MAX_NUM_OF_SERVICE_TYPE; i++) {
50
+ if (sbi_object->service_type_arrayi.nf_instance_id)
51
+ ogs_free(sbi_object->service_type_arrayi.nf_instance_id);
52
+ }
53
+ for (i = 0; i < OGS_SBI_MAX_NUM_OF_NF_TYPE; i++) {
54
+ if (sbi_object->nf_type_arrayi.nf_instance_id)
55
+ ogs_free(sbi_object->nf_type_arrayi.nf_instance_id);
56
+ }
57
}
58
59
ogs_sbi_xact_t *ogs_sbi_xact_add(
60
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/context.h -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/context.h
Changed
125
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_sbi_obj_type_e type;
10
11
struct {
12
- ogs_sbi_nf_instance_t *nf_instance;
13
+ char *nf_instance_id;
14
15
+#if ENABLE_VALIDITY_TIMEOUT
16
/*
17
* Search.Result stored in nf_instance->time.validity_duration;
18
*
19
20
* if no validityPeriod in SearchResult, validity_timeout is 0.
21
*/
22
ogs_time_t validity_timeout;
23
+#endif
24
} nf_type_arrayOGS_SBI_MAX_NUM_OF_NF_TYPE,
25
service_type_arrayOGS_SBI_MAX_NUM_OF_SERVICE_TYPE;
26
27
28
29
int ogs_sbi_default_client_port(OpenAPI_uri_scheme_e scheme);
30
31
+#if ENABLE_VALIDITY_TIMEOUT
32
#define OGS_SBI_SETUP_NF_INSTANCE(__cTX, __nFInstance) \
33
do { \
34
ogs_assert(__nFInstance); \
35
ogs_assert((__nFInstance)->id); \
36
+ ogs_assert((__nFInstance)->nf_type); \
37
ogs_assert((__nFInstance)->t_validity); \
38
\
39
- if ((__cTX).nf_instance) { \
40
- ogs_warn("%s NF Instance updated type:%s validity:%ds", \
41
- ((__cTX).nf_instance)->id, \
42
- OpenAPI_nf_type_ToString(((__cTX).nf_instance)->nf_type), \
43
- ((__cTX).nf_instance)->time.validity_duration); \
44
+ if ((__cTX).nf_instance_id) { \
45
+ ogs_warn("%s Unlink NF Instance " \
46
+ "type:%s validity:%d timeout:%lds", \
47
+ ((__cTX).nf_instance_id), \
48
+ OpenAPI_nf_type_ToString((__nFInstance)->nf_type), \
49
+ (__nFInstance)->time.validity_duration, \
50
+ (long)((__cTX).validity_timeout)); \
51
+ ogs_free((__cTX).nf_instance_id); \
52
} \
53
\
54
- ((__cTX).nf_instance) = __nFInstance; \
55
+ ((__cTX).nf_instance_id) = ogs_strdup((__nFInstance)->id); \
56
if ((__nFInstance)->time.validity_duration) { \
57
((__cTX).validity_timeout) = (__nFInstance)->t_validity->timeout; \
58
} else { \
59
((__cTX).validity_timeout) = 0; \
60
} \
61
- ogs_info("%s NF Instance setup type:%s validity:%ds", \
62
- (__nFInstance)->id, \
63
+ ogs_info("%s Setup NF Instance type:%s validity:%d timeout:%lds", \
64
+ ((__cTX).nf_instance_id), \
65
OpenAPI_nf_type_ToString((__nFInstance)->nf_type), \
66
- (__nFInstance)->time.validity_duration); \
67
+ (__nFInstance)->time.validity_duration, \
68
+ (long)((__cTX).validity_timeout)); \
69
} while(0)
70
+#else
71
+#define OGS_SBI_SETUP_NF_INSTANCE(__cTX, __nFInstance) \
72
+ do { \
73
+ ogs_assert(__nFInstance); \
74
+ ogs_assert((__nFInstance)->id); \
75
+ ogs_assert((__nFInstance)->nf_type); \
76
+ \
77
+ if ((__cTX).nf_instance_id) { \
78
+ ogs_warn("%s Unlink NF Instance type:%s", \
79
+ ((__cTX).nf_instance_id), \
80
+ OpenAPI_nf_type_ToString((__nFInstance)->nf_type)); \
81
+ ogs_free((__cTX).nf_instance_id); \
82
+ } \
83
+ \
84
+ ((__cTX).nf_instance_id) = ogs_strdup((__nFInstance)->id); \
85
+ ogs_info("%s Setup NF Instance type:%s", \
86
+ ((__cTX).nf_instance_id), \
87
+ OpenAPI_nf_type_ToString((__nFInstance)->nf_type)); \
88
+ } while(0)
89
+#endif
90
91
/*
92
- * Search.Result stored in nf_instance->time.validity_duration;
93
+ * Issue #3470
94
*
95
- * validity_timeout = nf_instance->validity->timeout =
96
- * ogs_get_monotonic_time() + nf_instance->time.validity_duration;
97
+ * Previously, nf_instance pointers were stored in nf_type_array and
98
+ * service_type_array. This led to a dangling pointer problem when an
99
+ * nf_instance was removed via ogs_sbi_nf_instance_remove().
100
*
101
- * if no validityPeriod in SearchResult, validity_timeout is 0.
102
+ * To resolve this, we now store nf_instance_id instead, and use
103
+ * ogs_sbi_nf_instance_find(nf_instance_id) to verify the validity of an
104
+ * nf_instance.
105
*/
106
+#if ENABLE_VALIDITY_TIMEOUT
107
#define OGS_SBI_GET_NF_INSTANCE(__cTX) \
108
((__cTX).validity_timeout == 0 || \
109
(__cTX).validity_timeout > ogs_get_monotonic_time() ? \
110
- ((__cTX).nf_instance) : NULL)
111
-
112
-#define OGS_SBI_NF_INSTANCE_VALID(__nFInstance) \
113
- (((__nFInstance) && ((__nFInstance)->t_validity) && \
114
- ((__nFInstance)->time.validity_duration == 0 || \
115
- (__nFInstance)->t_validity->timeout > ogs_get_monotonic_time())) ? \
116
- true : false)
117
+ (ogs_sbi_nf_instance_find((__cTX).nf_instance_id)) : NULL)
118
+#else
119
+#define OGS_SBI_GET_NF_INSTANCE(__cTX) \
120
+ ogs_sbi_nf_instance_find((__cTX).nf_instance_id)
121
+#endif
122
123
bool ogs_sbi_discovery_param_is_matched(
124
ogs_sbi_nf_instance_t *nf_instance,
125
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/mhd-server.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/mhd-server.c
Changed
31
1
2
3
static int server_start(ogs_sbi_server_t *server,
4
int (*cb)(ogs_sbi_request_t *request, void *data));
5
+static void server_graceful_shutdown(ogs_sbi_server_t *server);
6
static void server_stop(ogs_sbi_server_t *server);
7
8
static bool server_send_rspmem_persistent(
9
10
server_final,
11
12
server_start,
13
+ server_graceful_shutdown,
14
server_stop,
15
16
server_send_rspmem_persistent,
17
18
return OGS_OK;
19
}
20
21
+static void server_graceful_shutdown(ogs_sbi_server_t *server)
22
+{
23
+ ogs_assert(server);
24
+
25
+ /* No need to shutdown gracefully */
26
+}
27
+
28
static void server_stop(ogs_sbi_server_t *server)
29
{
30
ogs_assert(server);
31
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/nghttp2-server.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/nghttp2-server.c
Changed
51
1
2
3
static int server_start(ogs_sbi_server_t *server,
4
int (*cb)(ogs_sbi_request_t *request, void *data));
5
+static void server_graceful_shutdown(ogs_sbi_server_t *server);
6
static void server_stop(ogs_sbi_server_t *server);
7
8
static bool server_send_rspmem_persistent(
9
10
server_final,
11
12
server_start,
13
+ server_graceful_shutdown,
14
server_stop,
15
16
server_send_rspmem_persistent,
17
18
return OGS_OK;
19
}
20
21
+/* Gracefully shutdown the server by sending GOAWAY to each session. */
22
+static void server_graceful_shutdown(ogs_sbi_server_t *server)
23
+{
24
+ ogs_sbi_session_t *sbi_sess = NULL;
25
+ ogs_sbi_session_t *next_sbi_sess = NULL;
26
+ int rv;
27
+
28
+ /* Iterate over all active sessions in the server. */
29
+ ogs_list_for_each_safe(&server->session_list, next_sbi_sess, sbi_sess) {
30
+ /* Submit a GOAWAY frame using the last stream ID. */
31
+ rv = nghttp2_submit_goaway(sbi_sess->session,
32
+ NGHTTP2_FLAG_NONE,
33
+ sbi_sess->last_stream_id,
34
+ NGHTTP2_NO_ERROR,
35
+ NULL, 0);
36
+ if (rv != 0) {
37
+ ogs_error("nghttp2_submit_goaway() failed (%d:%s)",
38
+ rv, nghttp2_strerror(rv));
39
+ }
40
+
41
+ /* Send the GOAWAY frame to the client. */
42
+ if (session_send(sbi_sess) != OGS_OK) {
43
+ ogs_error("session_send() failed during graceful shutdown");
44
+ }
45
+ }
46
+}
47
+
48
static void server_stop(ogs_sbi_server_t *server)
49
{
50
ogs_assert(server);
51
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/path.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/path.c
Changed
27
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_assert(scp_client);
10
}
11
12
- /* Target NF-Instance */
13
+/*
14
+ * Issue #3470
15
+ *
16
+ * Previously, nf_instance pointers were stored in nf_type_array and
17
+ * service_type_array. This led to a dangling pointer problem when an
18
+ * nf_instance was removed via ogs_sbi_nf_instance_remove().
19
+ *
20
+ * To resolve this, we now store nf_instance_id instead, and use
21
+ * ogs_sbi_nf_instance_find(nf_instance_id) to verify the validity of an
22
+ * nf_instance.
23
+ */
24
nf_instance = OGS_SBI_GET_NF_INSTANCE(
25
sbi_object->service_type_arrayservice_type);
26
ogs_debug("OGS_SBI_GET_NF_INSTANCE nf_instance:%p,service_name:%s",
27
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/server.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/server.c
Changed
16
1
2
return OGS_OK;
3
}
4
5
+void ogs_sbi_server_graceful_shutdown_all(void)
6
+{
7
+ ogs_sbi_server_t *server = NULL, *next_server = NULL;
8
+
9
+ ogs_list_for_each_safe(&ogs_sbi_self()->server_list, next_server, server)
10
+ ogs_sbi_server_actions.graceful_shutdown(server);
11
+}
12
+
13
void ogs_sbi_server_stop_all(void)
14
{
15
ogs_sbi_server_t *server = NULL, *next_server = NULL;
16
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/lib/sbi/server.h -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/lib/sbi/server.h
Changed
17
1
2
3
int (*start)(ogs_sbi_server_t *server,
4
int (*cb)(ogs_sbi_request_t *request, void *data));
5
+ void (*graceful_shutdown)(ogs_sbi_server_t *server);
6
void (*stop)(ogs_sbi_server_t *server);
7
8
bool (*send_rspmem_persistent)(
9
10
11
int ogs_sbi_server_start_all(
12
int (*cb)(ogs_sbi_request_t *request, void *data));
13
+void ogs_sbi_server_graceful_shutdown_all(void);
14
void ogs_sbi_server_stop_all(void);
15
16
bool ogs_sbi_server_send_rspmem_persistent(
17
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/gmm-handler.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/gmm-handler.c
Changed
8
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/namf-build.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/namf-build.c
Changed
8
1
2
/*
3
- * Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/namf-handler.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/namf-handler.c
Changed
8
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/nnrf-handler.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/nnrf-handler.c
Changed
8
1
2
/*
3
- * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/amf/sbi-path.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/amf/sbi-path.c
Changed
8
1
2
/*
3
- * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/ausf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/ausf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/bsf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/bsf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/nrf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/nrf/init.c
Changed
20
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
10
static void event_termination(void)
11
{
12
- /*
13
- * Add business-login during Daemon termination
14
- */
15
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
16
+ ogs_sbi_server_graceful_shutdown_all();
17
18
/* Start holding timer */
19
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
20
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/nssf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/nssf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/pcf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/pcf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/scp/context.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/scp/context.c
Changed
10
1
2
3
if (assoc->client)
4
ogs_sbi_client_remove(assoc->client);
5
- if (assoc->nrf_client)
6
- ogs_sbi_client_remove(assoc->nrf_client);
7
8
if (assoc->target_apiroot)
9
ogs_free(assoc->target_apiroot);
10
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/scp/context.h -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/scp/context.h
Changed
9
1
2
ogs_pool_id_t stream_id;
3
4
ogs_sbi_client_t *client;
5
- ogs_sbi_client_t *nrf_client;
6
7
ogs_sbi_request_t *request;
8
9
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/scp/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/scp/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/sepp/context.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/sepp/context.c
Changed
10
1
2
3
if (assoc->client)
4
ogs_sbi_client_remove(assoc->client);
5
- if (assoc->nrf_client)
6
- ogs_sbi_client_remove(assoc->nrf_client);
7
8
ogs_pool_free(&sepp_assoc_pool, assoc);
9
}
10
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/sepp/context.h -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/sepp/context.h
Changed
9
1
2
ogs_pool_id_t stream_id;
3
4
ogs_sbi_client_t *client;
5
- ogs_sbi_client_t *nrf_client;
6
7
ogs_sbi_request_t *request;
8
ogs_sbi_service_type_e service_type;
9
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/sepp/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/sepp/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2023-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&sepp_self()->peer_list, sepp_node)
10
sepp_handshake_fsm_fini(sepp_node);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/smf/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/smf/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/udm/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/udm/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18
open5gs_2.7.2.4623.6c67.202503032026.tar.xz/src/udr/init.c -> open5gs_2.7.2.4625.4012.202503042026.tar.xz/src/udr/init.c
Changed
18
1
2
/*
3
- * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
4
+ * Copyright (C) 2019-2025 by Sukchan Lee <acetcom@gmail.com>
5
*
6
* This file is part of Open5GS.
7
*
8
9
ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
10
ogs_sbi_nf_fsm_fini(nf_instance);
11
12
+ /* Gracefully shutdown the server by sending GOAWAY to each session. */
13
+ ogs_sbi_server_graceful_shutdown_all();
14
+
15
/* Starting holding timer */
16
t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
17
ogs_assert(t_termination_holding);
18