Changes of Revision 69
open5gs_2.4.9.47.c28f.202209030002.dsc
Deleted
x
1
2
-Format: 3.0 (native)
3
-Source: open5gs
4
-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
5
-Architecture: any
6
-Version: 2.4.9.47.c28f.202209030002
7
-Maintainer: Harald Welte <laforge@gnumonks.org>
8
-Uploaders: Sukchan Lee <acetcom@gmail.com>
9
-Homepage: https://open5gs.org
10
-Standards-Version: 4.3.0
11
-Vcs-Browser: https://github.com/open5gs/open5gs
12
-Vcs-Git: git://github.com/open5gs/open5gs
13
-Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
-Package-List:
15
- open5gs deb net optional arch=any
16
- open5gs-amf deb net optional arch=any
17
- open5gs-ausf deb net optional arch=any
18
- open5gs-bsf deb net optional arch=any
19
- open5gs-common deb net optional arch=any
20
- open5gs-dbg deb net optional arch=any
21
- open5gs-hss deb net optional arch=any
22
- open5gs-mme deb net optional arch=any
23
- open5gs-nrf deb net optional arch=any
24
- open5gs-nssf deb net optional arch=any
25
- open5gs-pcf deb net optional arch=any
26
- open5gs-pcrf deb net optional arch=any
27
- open5gs-sgwc deb net optional arch=any
28
- open5gs-sgwu deb net optional arch=any
29
- open5gs-smf deb net optional arch=any
30
- open5gs-udm deb net optional arch=any
31
- open5gs-udr deb net optional arch=any
32
- open5gs-upf deb net optional arch=any
33
-Checksums-Sha1:
34
- 9d784ed14450cd7392b15c753fd48e470ef7d9ca 11460208 open5gs_2.4.9.47.c28f.202209030002.tar.xz
35
-Checksums-Sha256:
36
- ab321a7edd9c4ae5572f089c22ca825ed062d9d0f22ea79f2df8b39c6ac0f8df 11460208 open5gs_2.4.9.47.c28f.202209030002.tar.xz
37
-Files:
38
- a82cdf4a0340ff40a8cab7255b9fb73b 11460208 open5gs_2.4.9.47.c28f.202209030002.tar.xz
39
open5gs_2.4.9.52.c716a.202209040002.dsc
Added
39
1
2
+Format: 3.0 (native)
3
+Source: open5gs
4
+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
5
+Architecture: any
6
+Version: 2.4.9.52.c716a.202209040002
7
+Maintainer: Harald Welte <laforge@gnumonks.org>
8
+Uploaders: Sukchan Lee <acetcom@gmail.com>
9
+Homepage: https://open5gs.org
10
+Standards-Version: 4.3.0
11
+Vcs-Browser: https://github.com/open5gs/open5gs
12
+Vcs-Git: git://github.com/open5gs/open5gs
13
+Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
+Package-List:
15
+ open5gs deb net optional arch=any
16
+ open5gs-amf deb net optional arch=any
17
+ open5gs-ausf deb net optional arch=any
18
+ open5gs-bsf deb net optional arch=any
19
+ open5gs-common deb net optional arch=any
20
+ open5gs-dbg deb net optional arch=any
21
+ open5gs-hss deb net optional arch=any
22
+ open5gs-mme deb net optional arch=any
23
+ open5gs-nrf deb net optional arch=any
24
+ open5gs-nssf deb net optional arch=any
25
+ open5gs-pcf deb net optional arch=any
26
+ open5gs-pcrf deb net optional arch=any
27
+ open5gs-sgwc deb net optional arch=any
28
+ open5gs-sgwu deb net optional arch=any
29
+ open5gs-smf deb net optional arch=any
30
+ open5gs-udm deb net optional arch=any
31
+ open5gs-udr deb net optional arch=any
32
+ open5gs-upf deb net optional arch=any
33
+Checksums-Sha1:
34
+ c34d34c0ec7f9211bbf22e1018ed3d23bea882b1 11460216 open5gs_2.4.9.52.c716a.202209040002.tar.xz
35
+Checksums-Sha256:
36
+ e3127837b196f660a67aec48994b68814bf78832dde9ee429c152a058ba644cb 11460216 open5gs_2.4.9.52.c716a.202209040002.tar.xz
37
+Files:
38
+ 7500e8203cc72a1c4e604b87956c5c25 11460216 open5gs_2.4.9.52.c716a.202209040002.tar.xz
39
open5gs_2.4.9.47.c28f.202209030002.tar.xz/.tarball-version -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/.tarball-version
Changed
4
1
2
-2.4.9.47-c28f.202209030002
3
+2.4.9.52-c716a.202209040002
4
open5gs_2.4.9.47.c28f.202209030002.tar.xz/debian/changelog -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/debian/changelog
Changed
12
1
2
-open5gs (2.4.9.47.c28f.202209030002) unstable; urgency=medium
3
+open5gs (2.4.9.52.c716a.202209040002) 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 Sep 2022 00:04:25 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Sun, 04 Sep 2022 00:04:33 +0000
9
10
open5gs (2.4.9) unstable; urgency=medium
11
12
open5gs_2.4.9.47.c28f.202209030002.tar.xz/lib/core/ogs-timer.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/lib/core/ogs-timer.c
Changed
92
1
2
ogs_free(manager);
3
}
4
5
+static ogs_timer_t *ogs_timer_cycle(ogs_timer_mgr_t *manager, ogs_timer_t *timer)
6
+{
7
+ ogs_assert(manager);
8
+ return ogs_pool_cycle(&manager->pool, timer);
9
+}
10
+
11
ogs_timer_t *ogs_timer_add(
12
ogs_timer_mgr_t *manager, void (*cb)(void *data), void *data)
13
{
14
15
ogs_assert(manager);
16
17
ogs_pool_alloc(&manager->pool, &timer);
18
- ogs_assert(timer);
19
+ if (!timer) {
20
+ ogs_fatal("ogs_pool_alloc() failed");
21
+ return NULL;
22
+ }
23
+ ogs_expect_or_return_val(timer, NULL);
24
25
memset(timer, 0, sizeof *timer);
26
timer->cb = cb;
27
28
return timer;
29
}
30
31
-void ogs_timer_delete(ogs_timer_t *timer)
32
+void ogs_timer_delete_debug(ogs_timer_t *timer, const char *file_line)
33
{
34
ogs_timer_mgr_t *manager;
35
ogs_assert(timer);
36
manager = timer->manager;
37
ogs_assert(manager);
38
+ timer = ogs_timer_cycle(manager, timer);
39
+ if (!timer) {
40
+ ogs_fatal("ogs_timer_delete() failed in %s", file_line);
41
+ ogs_assert_if_reached();
42
+ }
43
44
ogs_timer_stop(timer);
45
46
ogs_pool_free(&manager->pool, timer);
47
}
48
49
-void ogs_timer_start(ogs_timer_t *timer, ogs_time_t duration)
50
+void ogs_timer_start_debug(
51
+ ogs_timer_t *timer, ogs_time_t duration, const char *file_line)
52
{
53
ogs_timer_mgr_t *manager = NULL;
54
ogs_assert(timer);
55
56
57
manager = timer->manager;
58
ogs_assert(manager);
59
+ timer = ogs_timer_cycle(manager, timer);
60
+ if (!timer) {
61
+ ogs_fatal("ogs_timer_start() failed in %s", file_line);
62
+ ogs_assert_if_reached();
63
+ }
64
65
if (timer->running == true)
66
ogs_rbtree_delete(&manager->tree, timer);
67
68
add_timer_node(&manager->tree, timer, duration);
69
}
70
71
-void ogs_timer_stop(ogs_timer_t *timer)
72
+void ogs_timer_stop_debug(ogs_timer_t *timer, const char *file_line)
73
{
74
ogs_timer_mgr_t *manager = NULL;
75
ogs_assert(timer);
76
manager = timer->manager;
77
ogs_assert(manager);
78
+ timer = ogs_timer_cycle(manager, timer);
79
+ ogs_assert(timer);
80
+ if (!timer) {
81
+ ogs_fatal("ogs_timer_stop() failed in %s", file_line);
82
+ ogs_assert_if_reached();
83
+ }
84
85
if (timer->running == false)
86
return;
87
88
this->cb(this->data);
89
}
90
}
91
-
92
open5gs_2.4.9.47.c28f.202209030002.tar.xz/lib/core/ogs-timer.h -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/lib/core/ogs-timer.h
Changed
22
1
2
3
ogs_timer_t *ogs_timer_add(
4
ogs_timer_mgr_t *manager, void (*cb)(void *data), void *data);
5
-void ogs_timer_delete(ogs_timer_t *timer);
6
+#define ogs_timer_delete(timer) \
7
+ ogs_timer_delete_debug(timer, OGS_FILE_LINE)
8
+void ogs_timer_delete_debug(ogs_timer_t *timer, const char *file_line);
9
10
-void ogs_timer_start(ogs_timer_t *timer, ogs_time_t duration);
11
-void ogs_timer_stop(ogs_timer_t *timer);
12
+#define ogs_timer_start(timer, duration) \
13
+ ogs_timer_start_debug(timer, duration, OGS_FILE_LINE)
14
+void ogs_timer_start_debug(
15
+ ogs_timer_t *timer, ogs_time_t duration, const char *file_line);
16
+#define ogs_timer_stop(timer) \
17
+ ogs_timer_stop_debug(timer, OGS_FILE_LINE)
18
+void ogs_timer_stop_debug(ogs_timer_t *timer, const char *file_line);
19
20
ogs_time_t ogs_timer_mgr_next(ogs_timer_mgr_t *manager);
21
void ogs_timer_mgr_expire(ogs_timer_mgr_t *manager);
22
open5gs_2.4.9.47.c28f.202209030002.tar.xz/lib/sbi/client.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/lib/sbi/client.c
Changed
26
1
2
3
ogs_assert(OGS_OK == ogs_copyaddrinfo(&client->node.addr, addr));
4
5
- ogs_list_init(&client->connection_list);
6
-
7
client->t_curl = ogs_timer_add(
8
ogs_app()->timer_mgr, multi_timer_expired, client);
9
+ if (!client->t_curl) {
10
+ ogs_error("ogs_timer_add() failed");
11
+ ogs_pool_free(&client_pool, client);
12
+ return NULL;
13
+ }
14
15
multi = client->multi = curl_multi_init();
16
ogs_assert(multi);
17
18
ogs_app()->pool.stream);
19
#endif
20
21
+ ogs_list_init(&client->connection_list);
22
+
23
ogs_list_add(&ogs_sbi_self()->client_list, client);
24
25
return client;
26
open5gs_2.4.9.47.c28f.202209030002.tar.xz/lib/sbi/message.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/lib/sbi/message.c
Changed
66
1
2
}
3
if (ogs_sbi_self()->discovery_config.no_service_names == false &&
4
discovery_option->num_of_service_names) {
5
- char *v = NULL;
6
- cJSON *item = NULL;
7
8
- item = cJSON_CreateStringArray(
9
- (const char * const*)discovery_option->service_names,
10
- discovery_option->num_of_service_names);
11
- ogs_expect_or_return_val(item, NULL);
12
+ /* send array items separated by a comma */
13
+ char *v = NULL;
14
15
- v = cJSON_Print(item);
16
+ v = ogs_strdup(discovery_option->service_names0);
17
ogs_expect_or_return_val(v, NULL);
18
- cJSON_Delete(item);
19
+
20
+ if (discovery_option->num_of_service_names > 1)
21
+ {
22
+ int i;
23
+ for (i = 1; i < discovery_option->num_of_service_names; i++)
24
+ v = ogs_mstrcatf(v, ",%s", discovery_option->service_namesi);
25
+ }
26
27
ogs_sbi_header_set(
28
request->http.params, OGS_SBI_PARAM_SERVICE_NAMES, v);
29
30
} else if (!strcmp(ogs_hash_this_key(hi),
31
OGS_SBI_PARAM_SERVICE_NAMES)) {
32
char *v = NULL;
33
- cJSON *array = NULL, *item = NULL;
34
+ char *service_names;
35
+ char *token;
36
+ char *saveptr;
37
38
v = ogs_hash_this_val(hi);
39
if (v) {
40
- array = cJSON_Parse(v);
41
- if (cJSON_IsArray(array)) {
42
+ service_names = ogs_strdup(v);
43
+ ogs_assert(service_names);
44
45
+ token = ogs_strtok_r(service_names, ",", &saveptr);
46
+ while (token != NULL)
47
+ {
48
discovery_option_presence = true;
49
+ ogs_sbi_discovery_option_add_service_names(
50
+ discovery_option, token);
51
52
- cJSON_ArrayForEach(item, array) {
53
- char *names = cJSON_GetStringValue(item);
54
- if (names)
55
- ogs_sbi_discovery_option_add_service_names(
56
- discovery_option, names);
57
- }
58
+ token = ogs_strtok_r(NULL, ",", &saveptr);
59
}
60
- cJSON_Delete(array);
61
+
62
+ ogs_free(service_names);
63
}
64
65
/* URL Query Parameter */
66
open5gs_2.4.9.47.c28f.202209030002.tar.xz/lib/sbi/mhd-server.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/lib/sbi/mhd-server.c
Changed
14
1
2
3
sbi_sess->timer = ogs_timer_add(
4
ogs_app()->timer_mgr, session_timer_expired, sbi_sess);
5
- ogs_assert(sbi_sess->timer);
6
+ if (!sbi_sess->timer) {
7
+ ogs_error("ogs_timer_add() failed");
8
+ ogs_pool_free(&session_pool, sbi_sess);
9
+ return NULL;
10
+ }
11
12
/* If User does not send HTTP response within deadline,
13
* Open5GS will assert this program. */
14
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/amf/context.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/amf/context.c
Changed
114
1
2
ogs_assert(ran_ue);
3
memset(ran_ue, 0, sizeof *ran_ue);
4
5
+ ran_ue->t_ng_holding = ogs_timer_add(
6
+ ogs_app()->timer_mgr, amf_timer_ng_holding_timer_expire, ran_ue);
7
+ if (!ran_ue->t_ng_holding) {
8
+ ogs_error("ogs_timer_add() failed");
9
+ ogs_pool_free(&ran_ue_pool, ran_ue);
10
+ return NULL;
11
+ }
12
+
13
ran_ue->index = ogs_pool_index(&ran_ue_pool, ran_ue);
14
ogs_assert(ran_ue->index > 0 && ran_ue->index <= ogs_app()->max.ue);
15
16
17
ran_ue->gnb_ostream_id =
18
OGS_NEXT_ID(gnb->ostream_id, 1, gnb->max_num_of_ostreams-1);
19
20
- ran_ue->t_ng_holding = ogs_timer_add(
21
- ogs_app()->timer_mgr, amf_timer_ng_holding_timer_expire, ran_ue);
22
- ogs_assert(ran_ue->t_ng_holding);
23
-
24
ran_ue->gnb = gnb;
25
26
ogs_list_add(&gnb->ran_ue_list, ran_ue);
27
28
ogs_assert(amf_ue);
29
memset(amf_ue, 0, sizeof *amf_ue);
30
31
- /* SBI Type */
32
- amf_ue->sbi.type = OGS_SBI_OBJ_UE_TYPE;
33
-
34
- /* SBI Features */
35
- OGS_SBI_FEATURES_SET(amf_ue->am_policy_control_features,
36
- OGS_SBI_NPCF_AM_POLICY_CONTROL_UE_AMBR_AUTHORIZATION);
37
-
38
- ogs_list_init(&amf_ue->sess_list);
39
-
40
- /* Initialization */
41
- amf_ue->guami = &amf_self()->served_guami0;
42
- amf_ue->nas.access_type = OGS_ACCESS_TYPE_3GPP;
43
- amf_ue->nas.amf.ksi = OGS_NAS_KSI_NO_KEY_IS_AVAILABLE;
44
- amf_ue->abba_len = 2;
45
-
46
/* Add All Timers */
47
amf_ue->t3513.timer = ogs_timer_add(
48
ogs_app()->timer_mgr, amf_timer_t3513_expire, amf_ue);
49
+ if (!amf_ue->t3513.timer) {
50
+ ogs_error("ogs_timer_add() failed");
51
+ ogs_pool_free(&amf_ue_pool, amf_ue);
52
+ return NULL;
53
+ }
54
amf_ue->t3513.pkbuf = NULL;
55
amf_ue->t3522.timer = ogs_timer_add(
56
ogs_app()->timer_mgr, amf_timer_t3522_expire, amf_ue);
57
+ if (!amf_ue->t3522.timer) {
58
+ ogs_error("ogs_timer_add() failed");
59
+ ogs_pool_free(&amf_ue_pool, amf_ue);
60
+ return NULL;
61
+ }
62
amf_ue->t3522.pkbuf = NULL;
63
amf_ue->t3550.timer = ogs_timer_add(
64
ogs_app()->timer_mgr, amf_timer_t3550_expire, amf_ue);
65
+ if (!amf_ue->t3550.timer) {
66
+ ogs_error("ogs_timer_add() failed");
67
+ ogs_pool_free(&amf_ue_pool, amf_ue);
68
+ return NULL;
69
+ }
70
amf_ue->t3550.pkbuf = NULL;
71
amf_ue->t3555.timer = ogs_timer_add(
72
ogs_app()->timer_mgr, amf_timer_t3555_expire, amf_ue);
73
+ if (!amf_ue->t3555.timer) {
74
+ ogs_error("ogs_timer_add() failed");
75
+ ogs_pool_free(&amf_ue_pool, amf_ue);
76
+ return NULL;
77
+ }
78
amf_ue->t3555.pkbuf = NULL;
79
amf_ue->t3560.timer = ogs_timer_add(
80
ogs_app()->timer_mgr, amf_timer_t3560_expire, amf_ue);
81
+ if (!amf_ue->t3560.timer) {
82
+ ogs_error("ogs_timer_add() failed");
83
+ ogs_pool_free(&amf_ue_pool, amf_ue);
84
+ return NULL;
85
+ }
86
amf_ue->t3560.pkbuf = NULL;
87
amf_ue->t3570.timer = ogs_timer_add(
88
ogs_app()->timer_mgr, amf_timer_t3570_expire, amf_ue);
89
+ if (!amf_ue->t3570.timer) {
90
+ ogs_error("ogs_timer_add() failed");
91
+ ogs_pool_free(&amf_ue_pool, amf_ue);
92
+ return NULL;
93
+ }
94
amf_ue->t3570.pkbuf = NULL;
95
96
+ /* SBI Type */
97
+ amf_ue->sbi.type = OGS_SBI_OBJ_UE_TYPE;
98
+
99
+ /* SBI Features */
100
+ OGS_SBI_FEATURES_SET(amf_ue->am_policy_control_features,
101
+ OGS_SBI_NPCF_AM_POLICY_CONTROL_UE_AMBR_AUTHORIZATION);
102
+
103
+ ogs_list_init(&amf_ue->sess_list);
104
+
105
+ /* Initialization */
106
+ amf_ue->guami = &amf_self()->served_guami0;
107
+ amf_ue->nas.access_type = OGS_ACCESS_TYPE_3GPP;
108
+ amf_ue->nas.amf.ksi = OGS_NAS_KSI_NO_KEY_IS_AVAILABLE;
109
+ amf_ue->abba_len = 2;
110
+
111
amf_ue_fsm_init(amf_ue);
112
113
ogs_list_add(&self.amf_ue_list, amf_ue);
114
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/amf/nsmf-handler.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/amf/nsmf-handler.c
Changed
9
1
2
}
3
4
} else {
5
+ SmContextUpdatedData = recvmsg->SmContextUpdatedData;
6
7
if (state == AMF_UPDATE_SM_CONTEXT_ACTIVATED) {
8
/*
9
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/mme/mme-context.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/mme/mme-context.c
Changed
113
1
2
ogs_assert(enb_ue);
3
memset(enb_ue, 0, sizeof *enb_ue);
4
5
+ enb_ue->t_s1_holding = ogs_timer_add(
6
+ ogs_app()->timer_mgr, mme_timer_s1_holding_timer_expire, enb_ue);
7
+ if (!enb_ue->t_s1_holding) {
8
+ ogs_error("ogs_timer_add() failed");
9
+ ogs_pool_free(&enb_ue_pool, enb_ue);
10
+ return NULL;
11
+ }
12
+
13
enb_ue->index = ogs_pool_index(&enb_ue_pool, enb_ue);
14
ogs_assert(enb_ue->index > 0 && enb_ue->index <= ogs_app()->max.ue);
15
16
17
enb_ue->enb_ostream_id =
18
OGS_NEXT_ID(enb->ostream_id, 1, enb->max_num_of_ostreams-1);
19
20
- enb_ue->t_s1_holding = ogs_timer_add(
21
- ogs_app()->timer_mgr, mme_timer_s1_holding_timer_expire, enb_ue);
22
- ogs_assert(enb_ue->t_s1_holding);
23
-
24
enb_ue->enb = enb;
25
26
ogs_list_add(&enb->enb_ue_list, enb_ue);
27
28
29
sgw_ue->t_s11_holding = ogs_timer_add(
30
ogs_app()->timer_mgr, mme_timer_s11_holding_timer_expire, sgw_ue);
31
- ogs_assert(sgw_ue->t_s11_holding);
32
+ if (!sgw_ue->t_s11_holding) {
33
+ ogs_error("ogs_timer_add() failed");
34
+ ogs_pool_free(&sgw_ue_pool, sgw_ue);
35
+ return NULL;
36
+ }
37
38
sgw_ue->sgw = sgw;
39
40
41
ogs_assert(mme_ue);
42
memset(mme_ue, 0, sizeof *mme_ue);
43
44
+ /* Add All Timers */
45
+ mme_ue->t3413.timer = ogs_timer_add(
46
+ ogs_app()->timer_mgr, mme_timer_t3413_expire, mme_ue);
47
+ if (!mme_ue->t3413.timer) {
48
+ ogs_error("ogs_timer_add() failed");
49
+ ogs_pool_free(&mme_ue_pool, mme_ue);
50
+ return NULL;
51
+ }
52
+ mme_ue->t3413.pkbuf = NULL;
53
+ mme_ue->t3422.timer = ogs_timer_add(
54
+ ogs_app()->timer_mgr, mme_timer_t3422_expire, mme_ue);
55
+ if (!mme_ue->t3422.timer) {
56
+ ogs_error("ogs_timer_add() failed");
57
+ ogs_pool_free(&mme_ue_pool, mme_ue);
58
+ return NULL;
59
+ }
60
+ mme_ue->t3422.pkbuf = NULL;
61
+ mme_ue->t3450.timer = ogs_timer_add(
62
+ ogs_app()->timer_mgr, mme_timer_t3450_expire, mme_ue);
63
+ if (!mme_ue->t3450.timer) {
64
+ ogs_error("ogs_timer_add() failed");
65
+ ogs_pool_free(&mme_ue_pool, mme_ue);
66
+ return NULL;
67
+ }
68
+ mme_ue->t3450.pkbuf = NULL;
69
+ mme_ue->t3460.timer = ogs_timer_add(
70
+ ogs_app()->timer_mgr, mme_timer_t3460_expire, mme_ue);
71
+ if (!mme_ue->t3460.timer) {
72
+ ogs_error("ogs_timer_add() failed");
73
+ ogs_pool_free(&mme_ue_pool, mme_ue);
74
+ return NULL;
75
+ }
76
+ mme_ue->t3460.pkbuf = NULL;
77
+ mme_ue->t3470.timer = ogs_timer_add(
78
+ ogs_app()->timer_mgr, mme_timer_t3470_expire, mme_ue);
79
+ if (!mme_ue->t3470.timer) {
80
+ ogs_error("ogs_timer_add() failed");
81
+ ogs_pool_free(&mme_ue_pool, mme_ue);
82
+ return NULL;
83
+ }
84
+ mme_ue->t3470.pkbuf = NULL;
85
+
86
mme_ebi_pool_init(mme_ue);
87
88
ogs_list_init(&mme_ue->sess_list);
89
90
mme_ue->csmap = NULL;
91
mme_ue->vlr_ostream_id = 0;
92
93
- /* Add All Timers */
94
- mme_ue->t3413.timer = ogs_timer_add(
95
- ogs_app()->timer_mgr, mme_timer_t3413_expire, mme_ue);
96
- mme_ue->t3413.pkbuf = NULL;
97
- mme_ue->t3422.timer = ogs_timer_add(
98
- ogs_app()->timer_mgr, mme_timer_t3422_expire, mme_ue);
99
- mme_ue->t3422.pkbuf = NULL;
100
- mme_ue->t3450.timer = ogs_timer_add(
101
- ogs_app()->timer_mgr, mme_timer_t3450_expire, mme_ue);
102
- mme_ue->t3450.pkbuf = NULL;
103
- mme_ue->t3460.timer = ogs_timer_add(
104
- ogs_app()->timer_mgr, mme_timer_t3460_expire, mme_ue);
105
- mme_ue->t3460.pkbuf = NULL;
106
- mme_ue->t3470.timer = ogs_timer_add(
107
- ogs_app()->timer_mgr, mme_timer_t3470_expire, mme_ue);
108
- mme_ue->t3470.pkbuf = NULL;
109
-
110
mme_ue_fsm_init(mme_ue);
111
112
ogs_list_add(&self.mme_ue_list, mme_ue);
113
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/pcf/sbi-path.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/pcf/sbi-path.c
Changed
48
1
2
ogs_sbi_nf_instance_t *nf_instance = NULL;
3
ogs_sbi_nf_service_t *service = NULL;
4
5
+ bool smpolicycontrol_enabled = false;
6
+ bool policyauthorization_enabled = false;
7
+
8
/* To be notified when NF Instances registered/deregistered in NRF
9
* or when their profile is modified */
10
ogs_sbi_add_to_be_notified_nf_type(OpenAPI_nf_type_BSF);
11
12
service, OGS_SBI_API_V1, OGS_SBI_API_V1_0_0, NULL);
13
ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_SMF);
14
ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_NEF);
15
+
16
+ smpolicycontrol_enabled = true;
17
}
18
19
if (ogs_sbi_nf_service_is_available(
20
21
service, OGS_SBI_API_V1, OGS_SBI_API_V1_0_0, NULL);
22
ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_AF);
23
ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_NEF);
24
+
25
+ policyauthorization_enabled = true;
26
+ }
27
+
28
+ if ((smpolicycontrol_enabled == true &&
29
+ policyauthorization_enabled == false) ||
30
+ (smpolicycontrol_enabled == false &&
31
+ policyauthorization_enabled == true)) {
32
+ ogs_fatal("CHECK CONFIGURATION:");
33
+ ogs_fatal(" %s - %s",
34
+ OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL,
35
+ smpolicycontrol_enabled ? "enabled" : "disabled");
36
+ ogs_fatal(" %s - %s",
37
+ OGS_SBI_SERVICE_NAME_NPCF_POLICYAUTHORIZATION,
38
+ policyauthorization_enabled ? "enabled" : "disabled");
39
+ ogs_fatal("Only one of %s and %s cannot be enabled.",
40
+ OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL,
41
+ OGS_SBI_SERVICE_NAME_NPCF_POLICYAUTHORIZATION);
42
+ ogs_fatal("They can be enabled or disabled together.");
43
+
44
+ return OGS_ERROR;
45
}
46
47
/* Initialize NRF NF Instance */
48
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/smf/context.h -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/smf/context.h
Changed
10
1
2
* of POST /npcf-smpolocycontrol/v1/policies */
3
char *policy_association_id;
4
5
+ OpenAPI_up_cnx_state_e up_cnx_state;
6
+
7
/* PLMN ID & NID */
8
ogs_plmn_id_t plmn_id;
9
10
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/smf/n4-handler.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/smf/n4-handler.c
Changed
17
1
2
3
} else {
4
sess->paging.ue_requested_pdu_session_establishment_done = true;
5
- ogs_assert(true == ogs_sbi_send_http_status_no_content(stream));
6
+
7
+ if (sess->up_cnx_state == OpenAPI_up_cnx_state_ACTIVATING) {
8
+ sess->up_cnx_state = OpenAPI_up_cnx_state_ACTIVATED;
9
+ smf_sbi_send_sm_context_updated_data_up_cnx_state(
10
+ sess, stream, OpenAPI_up_cnx_state_ACTIVATED);
11
+ } else {
12
+ ogs_assert(true == ogs_sbi_send_http_status_no_content(stream));
13
+ }
14
}
15
16
} else if (flags & OGS_PFCP_MODIFY_DEACTIVATE) {
17
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/smf/ngap-handler.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/smf/ngap-handler.c
Changed
20
1
2
sess, stream, OGS_PFCP_MODIFY_DL_ONLY|OGS_PFCP_MODIFY_ACTIVATE,
3
0));
4
} else {
5
+#if 0 /* Modified by pull request #1729 */
6
/* ACTIVATED Is NOT Included in RESPONSE */
7
ogs_assert(true == ogs_sbi_send_http_status_no_content(stream));
8
+#else
9
+ if (sess->up_cnx_state == OpenAPI_up_cnx_state_ACTIVATING) {
10
+ sess->up_cnx_state = OpenAPI_up_cnx_state_ACTIVATED;
11
+ smf_sbi_send_sm_context_updated_data_up_cnx_state(
12
+ sess, stream, OpenAPI_up_cnx_state_ACTIVATED);
13
+ } else {
14
+ ogs_assert(true == ogs_sbi_send_http_status_no_content(stream));
15
+ }
16
+#endif
17
}
18
19
rv = OGS_OK;
20
open5gs_2.4.9.47.c28f.202209030002.tar.xz/src/smf/nsmf-handler.c -> open5gs_2.4.9.52.c716a.202209040002.tar.xz/src/smf/nsmf-handler.c
Changed
10
1
2
3
} else if (SmContextUpdateData->up_cnx_state) {
4
5
+ sess->up_cnx_state = SmContextUpdateData->up_cnx_state;
6
+
7
if (SmContextUpdateData->up_cnx_state ==
8
OpenAPI_up_cnx_state_DEACTIVATED) {
9
10