Changes of Revision 775
open5gs_2.7.1.4452.d9a3.202408032026.dsc -> open5gs_2.7.2.4457.3743.202408042026.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.1.4452.d9a3.202408032026
6
+Version: 2.7.2.4457.3743.202408042026
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
- 940ae4098f7ea7c98ca012aa0d10be991f46328c 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz
15
+ 057e0b1dc8a1c134a03b42a9c2dc3f1bb2b391da 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz
16
Checksums-Sha256:
17
- 3a8eb306c84940d6a2e02c41dde58b460407a09ae0b270f9fdd0d140bd57c6c7 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz
18
+ 11659442b3e50930b40ab93164f1adf1c8962f49fc1a530a114482aeeeb47c0a 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz
19
Files:
20
- 66f31aab2eecf6641d46e10d2e2b8d82 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz
21
+ 816161d3aabf7c5e91d029a67a9079d7 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz
22
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/.tarball-version -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/.tarball-version
Changed
4
1
2
-2.7.1.4452-d9a3.202408032026
3
+2.7.2.4457-3743.202408042026
4
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/debian/changelog -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/debian/changelog
Changed
42
1
2
-open5gs (2.7.1.4452.d9a3.202408032026) unstable; urgency=medium
3
+open5gs (2.7.2.4457.3743.202408042026) unstable; urgency=medium
4
5
* Automatically generated changelog entry for building the Osmocom nightly feed
6
7
- -- Osmocom OBS scripts <info@osmocom.org> Sat, 03 Aug 2024 20:27:53 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Sun, 04 Aug 2024 20:27:52 +0000
9
+
10
+open5gs (2.7.2) unstable; urgency=medium
11
+
12
+ * Bug Fixed
13
+
14
+ -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:03:45 +0900
15
+
16
+open5gs (2.7.2~jammy1) jammy; urgency=medium
17
+
18
+ * Bug Fixed
19
+
20
+ -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:02:06 +0900
21
+
22
+open5gs (2.7.2~focal1) focal; urgency=medium
23
+
24
+ * Bug Fixed
25
+
26
+ -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:00:24 +0900
27
+
28
+open5gs (2.7.2~noble1) noble; urgency=medium
29
+
30
+ * Bug Fixed
31
+
32
+ -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 20:58:44 +0900
33
+
34
+open5gs (2.7.2~bionic1) bionic; urgency=medium
35
+
36
+ * Bug Fixed
37
+
38
+ -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 20:56:49 +0900
39
40
open5gs (2.7.1) unstable; urgency=medium
41
42
open5gs_2.7.2.4457.3743.202408042026.tar.xz/docs/_posts/2024-08-04-release-v2.7.2.md
Added
17
1
2
+---
3
+title: "v2.7.2 - ogs_pool_cycle() removed"
4
+date: 2024-08-04 21:13:00 +0900
5
+categories:
6
+ - Release
7
+tags:
8
+ - News
9
+ - Release
10
+head_inline: "<style> ul { padding-bottom: 1em; } .blue { color: blue; }</style>"
11
+---
12
+
13
+See Release Note(https://github.com/open5gs/open5gs/releases/tag/v2.7.2)
14
+
15
+Download -- v2.7.2.tar.gz(https://github.com/open5gs/open5gs/archive/v2.7.2.tar.gz)
16
+{: .notice--info}
17
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/lib/core/ogs-time.h -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/lib/core/ogs-time.h
Changed
14
1
2
/** @return ogs_time_t as a msec */
3
#define ogs_time_msec(time) (((time) / 1000) % 1000)
4
5
-/** @return ogs_time_t as a msec */
6
+/** @return ogs_time_t to msec */
7
#define ogs_time_to_msec(time) ((time) ? (1 + ((time) - 1) / 1000) : 0)
8
+/** @return ogs_time_t to sec */
9
+#define ogs_time_to_sec(time) \
10
+ ((time) ? (1 + ((time) - 1) / OGS_USEC_PER_SEC) : 0)
11
12
/** @return milliseconds as an ogs_time_t */
13
#define ogs_time_from_msec(msec) ((ogs_time_t)(msec) * 1000)
14
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/lib/sbi/context.h -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/lib/sbi/context.h
Changed
15
1
2
typedef struct ogs_sbi_subscription_data_s {
3
ogs_lnode_t lnode;
4
5
-#define OGS_SBI_VALIDITY_SEC(v) \
6
- ogs_time_sec(v) + (ogs_time_usec(v) ? 1 : 0)
7
- struct {
8
- int validity_duration;
9
- } time;
10
-
11
+ ogs_time_t validity_duration; /* valditiyTime(unit: usec) */
12
ogs_timer_t *t_validity; /* check validation */
13
ogs_timer_t *t_patch; /* for sending PATCH */
14
15
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/lib/sbi/nnrf-build.c -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/lib/sbi/nnrf-build.c
Changed
14
1
2
goto end;
3
}
4
5
- ogs_assert(subscription_data->time.validity_duration);
6
+ ogs_assert(subscription_data->validity_duration);
7
validity_time = ogs_sbi_localtime_string(
8
- ogs_time_now() +
9
- ogs_time_from_sec(subscription_data->time.validity_duration));
10
+ ogs_time_now() + subscription_data->validity_duration);
11
ogs_assert(validity_time);
12
13
ValidityItem.op = OpenAPI_patch_operation_replace;
14
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/lib/sbi/nnrf-handler.c -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/lib/sbi/nnrf-handler.c
Changed
158
1
2
char *validity_time, const char *action)
3
{
4
ogs_time_t time, validity, patch;
5
+ char *validity_time_string = NULL;
6
7
- ogs_assert(validity_time);
8
ogs_assert(subscription_data);
9
ogs_assert(action);
10
11
- if (ogs_sbi_time_from_string(&time, validity_time) == false) {
12
- ogs_error("%s Subscription %s until %s parser error",
13
- subscription_data->id, action, validity_time);
14
- return;
15
- }
16
-
17
- validity = time - ogs_time_now();
18
- if (validity < 0) {
19
- ogs_error("%s Subscription %s until %s validity:%d.%06d",
20
- subscription_data->id, action, validity_time,
21
- (int)ogs_time_sec(validity), (int)ogs_time_usec(validity));
22
- return;
23
- }
24
-
25
/*
26
- * Store subscription_data->time.validity_duration to derive NRF validity.
27
- * It will be used in ogs_nnrf_nfm_build_status_update().
28
+ * If there is a validity_time, then the NRF is updating
29
+ * the validity_time by sending HTTP_STATUS to 200.
30
+ * Therefore, change subscription_data->valdity_duration
31
+ * according to this value.
32
*
33
- * So, you should not remove the following lines.
34
+ * If validity_time is NULL, NRF sent an HTTP_STATUS of 204 (No content).
35
+ * In this case, use the existing subscription_data->validity_duration.
36
*/
37
- subscription_data->time.validity_duration = OGS_SBI_VALIDITY_SEC(validity);
38
+ if (validity_time) {
39
+ if (ogs_sbi_time_from_string(&time, validity_time) == false) {
40
+ ogs_error("%s Subscription %s until %s parser error",
41
+ subscription_data->id, action, validity_time);
42
+ return;
43
+ }
44
+
45
+ validity = time - ogs_time_now();
46
+ if (validity < 0) {
47
+ ogs_error("%s Subscription %s until %s validity:%d.%06d",
48
+ subscription_data->id, action, validity_time,
49
+ (int)ogs_time_sec(validity), (int)ogs_time_usec(validity));
50
+ return;
51
+ }
52
+
53
+ /*
54
+ * Store subscription_data->validity_duration to derive NRF validity.
55
+ * It will be used in ogs_nnrf_nfm_build_status_update().
56
+ *
57
+ * So, you should not remove the following lines.
58
+ */
59
+ subscription_data->validity_duration =
60
+ /* Normalize seconds */
61
+ ogs_time_from_sec(ogs_time_to_sec(validity));
62
+ }
63
64
if (!subscription_data->t_validity) {
65
subscription_data->t_validity =
66
67
ogs_timer_subscription_validity, subscription_data);
68
ogs_assert(subscription_data->t_validity);
69
}
70
- ogs_timer_start(subscription_data->t_validity, validity);
71
+ ogs_timer_start(subscription_data->t_validity,
72
+ subscription_data->validity_duration);
73
74
/*
75
* PATCH request will be sent before VALIDITY is expired.
76
*/
77
#define PATCH_TIME_FROM_VALIDITY(x) ((x) / 2)
78
- patch = PATCH_TIME_FROM_VALIDITY(validity);
79
+ patch = PATCH_TIME_FROM_VALIDITY(subscription_data->validity_duration);
80
81
if (!subscription_data->t_patch) {
82
subscription_data->t_patch =
83
84
}
85
ogs_timer_start(subscription_data->t_patch, patch);
86
87
+ if (validity_time) {
88
+ validity_time_string = ogs_strdup(validity_time);
89
+ ogs_assert(validity_time_string);
90
+ } else {
91
+ validity_time_string = ogs_sbi_localtime_string(
92
+ ogs_time_now() + subscription_data->validity_duration);
93
+ ogs_assert(validity_time_string);
94
+ }
95
+
96
ogs_info("%s Subscription %s until %s "
97
- "duration:%d,validity:%d.%06d,patch:%d.%06d",
98
- subscription_data->id, action, validity_time,
99
- subscription_data->time.validity_duration,
100
- (int)ogs_time_sec(validity), (int)ogs_time_usec(validity),
101
+ "duration:%lld,validity:%d.%06d,patch:%d.%06d",
102
+ subscription_data->id, action, validity_time_string,
103
+ (long long)subscription_data->validity_duration,
104
+ (int)ogs_time_sec(subscription_data->validity_duration),
105
+ (int)ogs_time_usec(subscription_data->validity_duration),
106
(int)ogs_time_sec(patch), (int)ogs_time_usec(patch));
107
+
108
+ ogs_free(validity_time_string);
109
}
110
111
void ogs_nnrf_nfm_handle_nf_status_subscribe(
112
113
ogs_sbi_message_t *recvmsg)
114
{
115
OpenAPI_subscription_data_t *SubscriptionData = NULL;
116
+ char *validity_time = NULL;
117
+ const char *action = NULL;
118
119
ogs_assert(recvmsg);
120
ogs_assert(subscription_data);
121
122
- SubscriptionData = recvmsg->SubscriptionData;
123
- if (!SubscriptionData) {
124
- ogs_error("No SubscriptionData");
125
- return;
126
+ if (recvmsg->res_status == OGS_SBI_HTTP_STATUS_OK) {
127
+ SubscriptionData = recvmsg->SubscriptionData;
128
+ if (!SubscriptionData) {
129
+ ogs_error("No SubscriptionData");
130
+ return;
131
+ }
132
+ if (!SubscriptionData->validity_time) {
133
+ ogs_error("No validityTime");
134
+ return;
135
+ }
136
+
137
+ validity_time = SubscriptionData->validity_time;
138
+ action = "updated(200 OK)";
139
+ } else if (recvmsg->res_status == OGS_SBI_HTTP_STATUS_NO_CONTENT) {
140
+ /* No valdityTime. Re-use current subscription_data->valdity_duration */
141
+ action = "updated(204 No Content)";
142
+ } else {
143
+ ogs_fatal("%s HTTP response error %d",
144
+ subscription_data->id ? subscription_data->id : "Unknown",
145
+ recvmsg->res_status);
146
+ ogs_assert_if_reached();
147
}
148
149
- /* Subscription Validity Time */
150
- if (SubscriptionData->validity_time)
151
- handle_validity_time(
152
- subscription_data, SubscriptionData->validity_time, "updated");
153
+ /* Update Subscription Validity Time */
154
+ handle_validity_time(subscription_data, validity_time, action);
155
}
156
157
bool ogs_nnrf_nfm_handle_nf_status_notify(
158
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/meson.build -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/meson.build
Changed
19
1
2
# along with this program. If not, see <https://www.gnu.org/licenses/>.
3
4
project('open5gs', 'c', 'cpp',
5
- version : '2.7.1',
6
+ version : '2.7.2',
7
license : 'AGPL-3.0-or-later',
8
meson_version : '>= 0.43.0',
9
default_options :
10
11
,
12
)
13
14
-libogslib_version = '2.7.1'
15
+libogslib_version = '2.7.2'
16
17
prefix = get_option('prefix')
18
bindir = join_paths(prefix, get_option('bindir'))
19
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/src/nrf/nnrf-handler.c -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/src/nrf/nnrf-handler.c
Changed
195
1
2
/*
3
* The NRF validity is initially set in configuration.
4
*/
5
- subscription_data->time.validity_duration =
6
- ogs_local_conf()->time.subscription.validity_duration;
7
+ subscription_data->validity_duration =
8
+ ogs_time_from_sec(
9
+ ogs_local_conf()->time.subscription.validity_duration);
10
11
- if (subscription_data->time.validity_duration) {
12
+ if (subscription_data->validity_duration) {
13
SubscriptionData->validity_time = ogs_sbi_localtime_string(
14
- ogs_time_now() + ogs_time_from_sec(
15
- subscription_data->time.validity_duration));
16
+ ogs_time_now() + subscription_data->validity_duration);
17
ogs_assert(SubscriptionData->validity_time);
18
19
if (!subscription_data->t_validity) {
20
21
ogs_assert(subscription_data->t_validity);
22
}
23
ogs_timer_start(subscription_data->t_validity,
24
- ogs_time_from_sec(subscription_data->time.validity_duration));
25
+ subscription_data->validity_duration);
26
}
27
28
- ogs_info("%s Subscription created until %s validity_duration:%d",
29
+ ogs_info("%s Subscription created until %s "
30
+ "duration:%lld,validity:%d.%06d",
31
subscription_data->id,
32
SubscriptionData->validity_time,
33
- subscription_data->time.validity_duration);
34
+ (long long)subscription_data->validity_duration,
35
+ (int)ogs_time_sec(subscription_data->validity_duration),
36
+ (int)ogs_time_usec(subscription_data->validity_duration));
37
38
/* Location */
39
server = ogs_sbi_server_from_stream(stream);
40
41
42
ogs_sbi_subscription_data_t *subscription_data = NULL;
43
44
+ ogs_time_t time, validity;
45
+
46
ogs_assert(stream);
47
ogs_assert(recvmsg);
48
49
50
END
51
}
52
53
- if (validity_time) {
54
- ogs_time_t time, validity;
55
-
56
- if (ogs_sbi_time_from_string(&time, validity_time) == false) {
57
- ogs_error("%s Subscription updated until %s parser error",
58
- subscription_data->id, validity_time);
59
- goto end;
60
- }
61
-
62
- validity = time - ogs_time_now();
63
- if (validity < 0) {
64
- ogs_error("%s Subscription updated until %s validity:%d.%06d",
65
- subscription_data->id, validity_time,
66
- (int)ogs_time_sec(validity), (int)ogs_time_usec(validity));
67
- goto end;
68
- }
69
-
70
- /*
71
- * The NRF validity is updated if NF sent the PATCH Request.
72
- */
73
- subscription_data->time.validity_duration =
74
- OGS_SBI_VALIDITY_SEC(validity);
75
+ if (!validity_time) {
76
+ ogs_error("%s No validityTime", subscription_data->id);
77
+ ogs_assert(true ==
78
+ ogs_sbi_server_send_error(
79
+ stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
80
+ recvmsg, "No validityTime", subscription_data->id,
81
+ NULL));
82
+ return false;
83
+ }
84
85
- if (!subscription_data->t_validity) {
86
- subscription_data->t_validity =
87
- ogs_timer_add(ogs_app()->timer_mgr,
88
- nrf_timer_subscription_validity, subscription_data);
89
- ogs_assert(subscription_data->t_validity);
90
- }
91
- ogs_timer_start(subscription_data->t_validity,
92
- ogs_time_from_sec(subscription_data->time.validity_duration));
93
+ if (ogs_sbi_time_from_string(&time, validity_time) == false) {
94
+ ogs_error("%s Subscription updated until %s parser error",
95
+ subscription_data->id, validity_time);
96
+ ogs_assert(true ==
97
+ ogs_sbi_server_send_error(
98
+ stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
99
+ recvmsg, "parse error", subscription_data->id,
100
+ validity_time));
101
+ return false;
102
+ }
103
104
- ogs_info("%s Subscription updated until %s "
105
- "duration:%d,validity:%d.%06d",
106
+ validity = time - ogs_time_now();
107
+ if (validity < 0) {
108
+ ogs_error("%s Subscription updated until %s validity:%d.%06d",
109
subscription_data->id, validity_time,
110
- subscription_data->time.validity_duration,
111
(int)ogs_time_sec(validity), (int)ogs_time_usec(validity));
112
-
113
- /* To send SubscriptionData to the NF */
114
- memset(&sendmsg, 0, sizeof(sendmsg));
115
- sendmsg.SubscriptionData = &SubscriptionData;
116
-
117
- /* Mandatory */
118
- SubscriptionData.nf_status_notification_uri =
119
- subscription_data->notification_uri;
120
-
121
- /* Validity Time */
122
- SubscriptionData.validity_time = ogs_sbi_localtime_string(
123
- ogs_time_now() + ogs_time_from_sec(
124
- subscription_data->time.validity_duration));
125
- ogs_assert(SubscriptionData.validity_time);
126
-
127
- response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_OK);
128
- ogs_assert(response);
129
- ogs_assert(true == ogs_sbi_server_send_response(stream, response));
130
-
131
- ogs_free(SubscriptionData.validity_time);
132
-
133
- return true;
134
+ ogs_assert(true ==
135
+ ogs_sbi_server_send_error(
136
+ stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
137
+ recvmsg, "invalid validity", subscription_data->id,
138
+ validity_time));
139
+ return false;
140
}
141
142
-end:
143
- response = ogs_sbi_build_response(
144
- recvmsg, OGS_SBI_HTTP_STATUS_NO_CONTENT);
145
+ /*
146
+ * The NRF validity is updated if NF sent the PATCH Request.
147
+ */
148
+ subscription_data->validity_duration =
149
+ /* Normalize seconds */
150
+ ogs_time_from_sec(ogs_time_to_sec(validity));
151
+
152
+ if (!subscription_data->t_validity) {
153
+ subscription_data->t_validity =
154
+ ogs_timer_add(ogs_app()->timer_mgr,
155
+ nrf_timer_subscription_validity, subscription_data);
156
+ ogs_assert(subscription_data->t_validity);
157
+ }
158
+ ogs_timer_start(subscription_data->t_validity,
159
+ subscription_data->validity_duration);
160
+
161
+ ogs_info("%s Subscription updated until %s "
162
+ "duration:%lld,validity:%d.%06d",
163
+ subscription_data->id, validity_time,
164
+ (long long)subscription_data->validity_duration,
165
+ (int)ogs_time_sec(subscription_data->validity_duration),
166
+ (int)ogs_time_usec(subscription_data->validity_duration));
167
+
168
+ /* To send SubscriptionData to the NF */
169
+ memset(&sendmsg, 0, sizeof(sendmsg));
170
+
171
+#if 0 /* Use HTTP_STATUS_NO_CONTENT(204) instead of HTTP_STATUS_OK(200) */
172
+ sendmsg.SubscriptionData = &SubscriptionData;
173
+
174
+ /* Mandatory */
175
+ SubscriptionData.nf_status_notification_uri =
176
+ subscription_data->notification_uri;
177
+
178
+ /* Validity Time */
179
+ SubscriptionData.validity_time = ogs_sbi_localtime_string(
180
+ ogs_time_now() + subscription_data->validity_duration);
181
+ ogs_assert(SubscriptionData.validity_time);
182
+
183
+ response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_OK);
184
+#else
185
+ response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_NO_CONTENT);
186
+#endif
187
ogs_assert(response);
188
ogs_assert(true == ogs_sbi_server_send_response(stream, response));
189
190
+ ogs_free(SubscriptionData.validity_time);
191
+
192
return true;
193
}
194
195
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/tests/app/5gc-init.c -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/tests/app/5gc-init.c
Changed
10
1
2
*
3
* If freeDiameter is not used, it uses a delay of less than 4 seconds.
4
*/
5
- ogs_msleep(500);
6
+ ogs_msleep(1000);
7
8
return OGS_OK;;
9
}
10