Projects
osmocom:nightly
open5gs
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 775
View file
open5gs_2.7.1.4452.d9a3.202408032026.dsc -> open5gs_2.7.2.4457.3743.202408042026.dsc
Changed
@@ -2,7 +2,7 @@ Source: open5gs 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 Architecture: any -Version: 2.7.1.4452.d9a3.202408032026 +Version: 2.7.2.4457.3743.202408042026 Maintainer: Harald Welte <laforge@gnumonks.org> Uploaders: Sukchan Lee <acetcom@gmail.com> Homepage: https://open5gs.org @@ -32,8 +32,8 @@ open5gs-udr deb net optional arch=any open5gs-upf deb net optional arch=any Checksums-Sha1: - 940ae4098f7ea7c98ca012aa0d10be991f46328c 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz + 057e0b1dc8a1c134a03b42a9c2dc3f1bb2b391da 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz Checksums-Sha256: - 3a8eb306c84940d6a2e02c41dde58b460407a09ae0b270f9fdd0d140bd57c6c7 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz + 11659442b3e50930b40ab93164f1adf1c8962f49fc1a530a114482aeeeb47c0a 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz Files: - 66f31aab2eecf6641d46e10d2e2b8d82 14499936 open5gs_2.7.1.4452.d9a3.202408032026.tar.xz + 816161d3aabf7c5e91d029a67a9079d7 14501336 open5gs_2.7.2.4457.3743.202408042026.tar.xz
View file
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/.tarball-version -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.7.1.4452-d9a3.202408032026 +2.7.2.4457-3743.202408042026
View file
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/debian/changelog -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/debian/changelog
Changed
@@ -1,8 +1,38 @@ -open5gs (2.7.1.4452.d9a3.202408032026) unstable; urgency=medium +open5gs (2.7.2.4457.3743.202408042026) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Sat, 03 Aug 2024 20:27:53 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Sun, 04 Aug 2024 20:27:52 +0000 + +open5gs (2.7.2) unstable; urgency=medium + + * Bug Fixed + + -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:03:45 +0900 + +open5gs (2.7.2~jammy1) jammy; urgency=medium + + * Bug Fixed + + -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:02:06 +0900 + +open5gs (2.7.2~focal1) focal; urgency=medium + + * Bug Fixed + + -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 21:00:24 +0900 + +open5gs (2.7.2~noble1) noble; urgency=medium + + * Bug Fixed + + -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 20:58:44 +0900 + +open5gs (2.7.2~bionic1) bionic; urgency=medium + + * Bug Fixed + + -- Sukchan Lee <acetcom@gmail.com> Sun, 04 Aug 2024 20:56:49 +0900 open5gs (2.7.1) unstable; urgency=medium
View file
open5gs_2.7.2.4457.3743.202408042026.tar.xz/docs/_posts/2024-08-04-release-v2.7.2.md
Added
@@ -0,0 +1,15 @@ +--- +title: "v2.7.2 - ogs_pool_cycle() removed" +date: 2024-08-04 21:13:00 +0900 +categories: + - Release +tags: + - News + - Release +head_inline: "<style> ul { padding-bottom: 1em; } .blue { color: blue; }</style>" +--- + +See Release Note(https://github.com/open5gs/open5gs/releases/tag/v2.7.2) + +Download -- v2.7.2.tar.gz(https://github.com/open5gs/open5gs/archive/v2.7.2.tar.gz) +{: .notice--info}
View file
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
@@ -84,8 +84,11 @@ /** @return ogs_time_t as a msec */ #define ogs_time_msec(time) (((time) / 1000) % 1000) -/** @return ogs_time_t as a msec */ +/** @return ogs_time_t to msec */ #define ogs_time_to_msec(time) ((time) ? (1 + ((time) - 1) / 1000) : 0) +/** @return ogs_time_t to sec */ +#define ogs_time_to_sec(time) \ + ((time) ? (1 + ((time) - 1) / OGS_USEC_PER_SEC) : 0) /** @return milliseconds as an ogs_time_t */ #define ogs_time_from_msec(msec) ((ogs_time_t)(msec) * 1000)
View file
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
@@ -285,12 +285,7 @@ typedef struct ogs_sbi_subscription_data_s { ogs_lnode_t lnode; -#define OGS_SBI_VALIDITY_SEC(v) \ - ogs_time_sec(v) + (ogs_time_usec(v) ? 1 : 0) - struct { - int validity_duration; - } time; - + ogs_time_t validity_duration; /* valditiyTime(unit: usec) */ ogs_timer_t *t_validity; /* check validation */ ogs_timer_t *t_patch; /* for sending PATCH */
View file
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
@@ -1722,10 +1722,9 @@ goto end; } - ogs_assert(subscription_data->time.validity_duration); + ogs_assert(subscription_data->validity_duration); validity_time = ogs_sbi_localtime_string( - ogs_time_now() + - ogs_time_from_sec(subscription_data->time.validity_duration)); + ogs_time_now() + subscription_data->validity_duration); ogs_assert(validity_time); ValidityItem.op = OpenAPI_patch_operation_replace;
View file
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
@@ -793,32 +793,45 @@ char *validity_time, const char *action) { ogs_time_t time, validity, patch; + char *validity_time_string = NULL; - ogs_assert(validity_time); ogs_assert(subscription_data); ogs_assert(action); - if (ogs_sbi_time_from_string(&time, validity_time) == false) { - ogs_error("%s Subscription %s until %s parser error", - subscription_data->id, action, validity_time); - return; - } - - validity = time - ogs_time_now(); - if (validity < 0) { - ogs_error("%s Subscription %s until %s validity:%d.%06d", - subscription_data->id, action, validity_time, - (int)ogs_time_sec(validity), (int)ogs_time_usec(validity)); - return; - } - /* - * Store subscription_data->time.validity_duration to derive NRF validity. - * It will be used in ogs_nnrf_nfm_build_status_update(). + * If there is a validity_time, then the NRF is updating + * the validity_time by sending HTTP_STATUS to 200. + * Therefore, change subscription_data->valdity_duration + * according to this value. * - * So, you should not remove the following lines. + * If validity_time is NULL, NRF sent an HTTP_STATUS of 204 (No content). + * In this case, use the existing subscription_data->validity_duration. */ - subscription_data->time.validity_duration = OGS_SBI_VALIDITY_SEC(validity); + if (validity_time) { + if (ogs_sbi_time_from_string(&time, validity_time) == false) { + ogs_error("%s Subscription %s until %s parser error", + subscription_data->id, action, validity_time); + return; + } + + validity = time - ogs_time_now(); + if (validity < 0) { + ogs_error("%s Subscription %s until %s validity:%d.%06d", + subscription_data->id, action, validity_time, + (int)ogs_time_sec(validity), (int)ogs_time_usec(validity)); + return; + } + + /* + * Store subscription_data->validity_duration to derive NRF validity. + * It will be used in ogs_nnrf_nfm_build_status_update(). + * + * So, you should not remove the following lines. + */ + subscription_data->validity_duration = + /* Normalize seconds */ + ogs_time_from_sec(ogs_time_to_sec(validity)); + } if (!subscription_data->t_validity) { subscription_data->t_validity = @@ -826,13 +839,14 @@ ogs_timer_subscription_validity, subscription_data); ogs_assert(subscription_data->t_validity); } - ogs_timer_start(subscription_data->t_validity, validity); + ogs_timer_start(subscription_data->t_validity, + subscription_data->validity_duration); /* * PATCH request will be sent before VALIDITY is expired. */ #define PATCH_TIME_FROM_VALIDITY(x) ((x) / 2) - patch = PATCH_TIME_FROM_VALIDITY(validity); + patch = PATCH_TIME_FROM_VALIDITY(subscription_data->validity_duration); if (!subscription_data->t_patch) { subscription_data->t_patch = @@ -842,12 +856,24 @@ } ogs_timer_start(subscription_data->t_patch, patch); + if (validity_time) { + validity_time_string = ogs_strdup(validity_time); + ogs_assert(validity_time_string); + } else { + validity_time_string = ogs_sbi_localtime_string( + ogs_time_now() + subscription_data->validity_duration); + ogs_assert(validity_time_string); + } + ogs_info("%s Subscription %s until %s " - "duration:%d,validity:%d.%06d,patch:%d.%06d", - subscription_data->id, action, validity_time, - subscription_data->time.validity_duration, - (int)ogs_time_sec(validity), (int)ogs_time_usec(validity), + "duration:%lld,validity:%d.%06d,patch:%d.%06d", + subscription_data->id, action, validity_time_string, + (long long)subscription_data->validity_duration, + (int)ogs_time_sec(subscription_data->validity_duration), + (int)ogs_time_usec(subscription_data->validity_duration), (int)ogs_time_sec(patch), (int)ogs_time_usec(patch)); + + ogs_free(validity_time_string); } void ogs_nnrf_nfm_handle_nf_status_subscribe( @@ -952,20 +978,37 @@ ogs_sbi_message_t *recvmsg) { OpenAPI_subscription_data_t *SubscriptionData = NULL; + char *validity_time = NULL; + const char *action = NULL; ogs_assert(recvmsg); ogs_assert(subscription_data); - SubscriptionData = recvmsg->SubscriptionData; - if (!SubscriptionData) { - ogs_error("No SubscriptionData"); - return; + if (recvmsg->res_status == OGS_SBI_HTTP_STATUS_OK) { + SubscriptionData = recvmsg->SubscriptionData; + if (!SubscriptionData) { + ogs_error("No SubscriptionData"); + return; + } + if (!SubscriptionData->validity_time) { + ogs_error("No validityTime"); + return; + } + + validity_time = SubscriptionData->validity_time; + action = "updated(200 OK)"; + } else if (recvmsg->res_status == OGS_SBI_HTTP_STATUS_NO_CONTENT) { + /* No valdityTime. Re-use current subscription_data->valdity_duration */ + action = "updated(204 No Content)"; + } else { + ogs_fatal("%s HTTP response error %d", + subscription_data->id ? subscription_data->id : "Unknown", + recvmsg->res_status); + ogs_assert_if_reached(); } - /* Subscription Validity Time */ - if (SubscriptionData->validity_time) - handle_validity_time( - subscription_data, SubscriptionData->validity_time, "updated"); + /* Update Subscription Validity Time */ + handle_validity_time(subscription_data, validity_time, action); } bool ogs_nnrf_nfm_handle_nf_status_notify(
View file
open5gs_2.7.1.4452.d9a3.202408032026.tar.xz/meson.build -> open5gs_2.7.2.4457.3743.202408042026.tar.xz/meson.build
Changed
@@ -16,7 +16,7 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. project('open5gs', 'c', 'cpp', - version : '2.7.1', + version : '2.7.2', license : 'AGPL-3.0-or-later', meson_version : '>= 0.43.0', default_options : @@ -25,7 +25,7 @@ , ) -libogslib_version = '2.7.1' +libogslib_version = '2.7.2' prefix = get_option('prefix') bindir = join_paths(prefix, get_option('bindir'))
View file
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
@@ -424,13 +424,13 @@ /* * The NRF validity is initially set in configuration. */ - subscription_data->time.validity_duration = - ogs_local_conf()->time.subscription.validity_duration; + subscription_data->validity_duration = + ogs_time_from_sec( + ogs_local_conf()->time.subscription.validity_duration); - if (subscription_data->time.validity_duration) { + if (subscription_data->validity_duration) { SubscriptionData->validity_time = ogs_sbi_localtime_string( - ogs_time_now() + ogs_time_from_sec( - subscription_data->time.validity_duration)); + ogs_time_now() + subscription_data->validity_duration); ogs_assert(SubscriptionData->validity_time); if (!subscription_data->t_validity) { @@ -440,13 +440,16 @@ ogs_assert(subscription_data->t_validity); } ogs_timer_start(subscription_data->t_validity, - ogs_time_from_sec(subscription_data->time.validity_duration)); + subscription_data->validity_duration); } - ogs_info("%s Subscription created until %s validity_duration:%d", + ogs_info("%s Subscription created until %s " + "duration:%lld,validity:%d.%06d", subscription_data->id, SubscriptionData->validity_time, - subscription_data->time.validity_duration); + (long long)subscription_data->validity_duration, + (int)ogs_time_sec(subscription_data->validity_duration), + (int)ogs_time_usec(subscription_data->validity_duration)); /* Location */ server = ogs_sbi_server_from_stream(stream); @@ -487,6 +490,8 @@ ogs_sbi_subscription_data_t *subscription_data = NULL; + ogs_time_t time, validity; + ogs_assert(stream); ogs_assert(recvmsg); @@ -553,73 +558,87 @@ END } - if (validity_time) { - ogs_time_t time, validity; - - if (ogs_sbi_time_from_string(&time, validity_time) == false) { - ogs_error("%s Subscription updated until %s parser error", - subscription_data->id, validity_time); - goto end; - } - - validity = time - ogs_time_now(); - if (validity < 0) { - ogs_error("%s Subscription updated until %s validity:%d.%06d", - subscription_data->id, validity_time, - (int)ogs_time_sec(validity), (int)ogs_time_usec(validity)); - goto end; - } - - /* - * The NRF validity is updated if NF sent the PATCH Request. - */ - subscription_data->time.validity_duration = - OGS_SBI_VALIDITY_SEC(validity); + if (!validity_time) { + ogs_error("%s No validityTime", subscription_data->id); + ogs_assert(true == + ogs_sbi_server_send_error( + stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "No validityTime", subscription_data->id, + NULL)); + return false; + } - if (!subscription_data->t_validity) { - subscription_data->t_validity = - ogs_timer_add(ogs_app()->timer_mgr, - nrf_timer_subscription_validity, subscription_data); - ogs_assert(subscription_data->t_validity); - } - ogs_timer_start(subscription_data->t_validity, - ogs_time_from_sec(subscription_data->time.validity_duration)); + if (ogs_sbi_time_from_string(&time, validity_time) == false) { + ogs_error("%s Subscription updated until %s parser error", + subscription_data->id, validity_time); + ogs_assert(true == + ogs_sbi_server_send_error( + stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "parse error", subscription_data->id, + validity_time)); + return false; + } - ogs_info("%s Subscription updated until %s " - "duration:%d,validity:%d.%06d", + validity = time - ogs_time_now(); + if (validity < 0) { + ogs_error("%s Subscription updated until %s validity:%d.%06d", subscription_data->id, validity_time, - subscription_data->time.validity_duration, (int)ogs_time_sec(validity), (int)ogs_time_usec(validity)); - - /* To send SubscriptionData to the NF */ - memset(&sendmsg, 0, sizeof(sendmsg)); - sendmsg.SubscriptionData = &SubscriptionData; - - /* Mandatory */ - SubscriptionData.nf_status_notification_uri = - subscription_data->notification_uri; - - /* Validity Time */ - SubscriptionData.validity_time = ogs_sbi_localtime_string( - ogs_time_now() + ogs_time_from_sec( - subscription_data->time.validity_duration)); - ogs_assert(SubscriptionData.validity_time); - - response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_OK); - ogs_assert(response); - ogs_assert(true == ogs_sbi_server_send_response(stream, response)); - - ogs_free(SubscriptionData.validity_time); - - return true; + ogs_assert(true == + ogs_sbi_server_send_error( + stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "invalid validity", subscription_data->id, + validity_time)); + return false; } -end: - response = ogs_sbi_build_response( - recvmsg, OGS_SBI_HTTP_STATUS_NO_CONTENT); + /* + * The NRF validity is updated if NF sent the PATCH Request. + */ + subscription_data->validity_duration = + /* Normalize seconds */ + ogs_time_from_sec(ogs_time_to_sec(validity)); + + if (!subscription_data->t_validity) { + subscription_data->t_validity = + ogs_timer_add(ogs_app()->timer_mgr, + nrf_timer_subscription_validity, subscription_data); + ogs_assert(subscription_data->t_validity); + } + ogs_timer_start(subscription_data->t_validity, + subscription_data->validity_duration); + + ogs_info("%s Subscription updated until %s " + "duration:%lld,validity:%d.%06d", + subscription_data->id, validity_time, + (long long)subscription_data->validity_duration, + (int)ogs_time_sec(subscription_data->validity_duration), + (int)ogs_time_usec(subscription_data->validity_duration)); + + /* To send SubscriptionData to the NF */ + memset(&sendmsg, 0, sizeof(sendmsg)); + +#if 0 /* Use HTTP_STATUS_NO_CONTENT(204) instead of HTTP_STATUS_OK(200) */ + sendmsg.SubscriptionData = &SubscriptionData; + + /* Mandatory */ + SubscriptionData.nf_status_notification_uri = + subscription_data->notification_uri; + + /* Validity Time */ + SubscriptionData.validity_time = ogs_sbi_localtime_string( + ogs_time_now() + subscription_data->validity_duration); + ogs_assert(SubscriptionData.validity_time); + + response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_OK); +#else + response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_NO_CONTENT); +#endif ogs_assert(response); ogs_assert(true == ogs_sbi_server_send_response(stream, response)); + ogs_free(SubscriptionData.validity_time); + return true; }
View file
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
@@ -85,7 +85,7 @@ * * If freeDiameter is not used, it uses a delay of less than 4 seconds. */ - ogs_msleep(500); + ogs_msleep(1000); return OGS_OK;; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.