Changes of Revision 5
open5gs_2.4.8.202206290002.dsc -> open5gs_2.4.8.202206300002.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-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
Architecture: any
5
-Version: 2.4.8.202206290002
6
+Version: 2.4.8.202206300002
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
- 53a50e0e411911acc1cef1469c88da32969565e6 11443020 open5gs_2.4.8.202206290002.tar.xz
15
+ 70a011ee684d644a03b3eb5f70f9431c117c5744 11444120 open5gs_2.4.8.202206300002.tar.xz
16
Checksums-Sha256:
17
- baff7882ee43cf7d475c76217e97495534218ca4aad135e0fa94080d00062e92 11443020 open5gs_2.4.8.202206290002.tar.xz
18
+ ab387b7f01f43118ca0e224189627812f200a7050b327b706f553fde05edb37c 11444120 open5gs_2.4.8.202206300002.tar.xz
19
Files:
20
- 8dae58aaae8f17c03ca20421d53e0a6a 11443020 open5gs_2.4.8.202206290002.tar.xz
21
+ 7447ec56414ce907330f78528419f548 11444120 open5gs_2.4.8.202206300002.tar.xz
22
open5gs_2.4.8.202206290002.tar.xz/debian/changelog -> open5gs_2.4.8.202206300002.tar.xz/debian/changelog
Changed
12
1
2
-open5gs (2.4.8.202206290002) UNRELEASED; urgency=medium
3
+open5gs (2.4.8.202206300002) UNRELEASED; urgency=medium
4
5
* Snapshot build
6
7
- -- Sukchan Lee <acetcom@gmail.com> Wed, 29 Jun 2022 00:09:00 +0000
8
+ -- Sukchan Lee <acetcom@gmail.com> Thu, 30 Jun 2022 00:09:09 +0000
9
10
open5gs (2.4.8) unstable; urgency=medium
11
12
open5gs_2.4.8.202206290002.tar.xz/debian/control -> open5gs_2.4.8.202206300002.tar.xz/debian/control
Changed
163
1
2
Package: open5gs-common
3
Architecture: any
4
Multi-Arch: same
5
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
6
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
7
${misc:Depends}
8
Description: 5G Core and EPC (Shared Files)
9
Open5GS is a C-language implementation of 5G Core and EPC
10
11
Package: open5gs-mme
12
Architecture: any
13
Multi-Arch: same
14
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
15
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
16
${misc:Depends},
17
open5gs-common (= ${binary:Version})
18
Description: MME (Mobility Management Entity)
19
20
Package: open5gs-sgwc
21
Architecture: any
22
Multi-Arch: same
23
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
24
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
25
${misc:Depends},
26
open5gs-common (= ${binary:Version})
27
Description: SGW-C (Serving Gateway - Control Plane)
28
29
Package: open5gs-smf
30
Architecture: any
31
Multi-Arch: same
32
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
33
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
34
${misc:Depends},
35
open5gs-common (= ${binary:Version})
36
Description: SMF (Session Management Function)
37
38
Package: open5gs-amf
39
Architecture: any
40
Multi-Arch: same
41
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
42
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
43
${misc:Depends},
44
open5gs-common (= ${binary:Version})
45
Description: AMF (Access and Mobility Management Function)
46
47
Package: open5gs-sgwu
48
Architecture: any
49
Multi-Arch: same
50
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
51
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
52
${misc:Depends},
53
open5gs-common (= ${binary:Version})
54
Description: SGW-U (Serving Gateway - User Plane)
55
56
Package: open5gs-upf
57
Architecture: any
58
Multi-Arch: same
59
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
60
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
61
${misc:Depends},
62
udev,
63
open5gs-common (= ${binary:Version})
64
65
Package: open5gs-hss
66
Architecture: any
67
Multi-Arch: same
68
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
69
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
70
${misc:Depends},
71
mongodb-org | mongodb,
72
open5gs-common (= ${binary:Version})
73
74
Package: open5gs-pcrf
75
Architecture: any
76
Multi-Arch: same
77
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
78
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
79
${misc:Depends},
80
mongodb-org | mongodb,
81
open5gs-common (= ${binary:Version})
82
83
Package: open5gs-nrf
84
Architecture: any
85
Multi-Arch: same
86
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
87
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
88
${misc:Depends},
89
open5gs-common (= ${binary:Version})
90
Description: NRF (Network Repository Function)
91
92
Package: open5gs-ausf
93
Architecture: any
94
Multi-Arch: same
95
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
96
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
97
${misc:Depends},
98
open5gs-common (= ${binary:Version})
99
Description: AUSF (Authentication Server Function)
100
101
Package: open5gs-udm
102
Architecture: any
103
Multi-Arch: same
104
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
105
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
106
${misc:Depends},
107
open5gs-common (= ${binary:Version})
108
Description: UDM (Unified Data Management)
109
110
Package: open5gs-pcf
111
Architecture: any
112
Multi-Arch: same
113
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
114
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
115
${misc:Depends},
116
open5gs-common (= ${binary:Version})
117
Description: PCF (Policy Control Function)
118
119
Package: open5gs-nssf
120
Architecture: any
121
Multi-Arch: same
122
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
123
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
124
${misc:Depends},
125
open5gs-common (= ${binary:Version})
126
Description: NSSF (Network Slice Selection Function)
127
128
Package: open5gs-bsf
129
Architecture: any
130
Multi-Arch: same
131
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
132
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
133
${misc:Depends},
134
open5gs-common (= ${binary:Version})
135
Description: BSF (Binding Support Function)
136
137
Package: open5gs-udr
138
Architecture: any
139
Multi-Arch: same
140
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${shlibs:Depends},
141
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${shlibs:Depends},
142
${misc:Depends},
143
open5gs-common (= ${binary:Version})
144
Description: UDR (Unified Data Repository)
145
146
Package: open5gs
147
Architecture: any
148
Multi-Arch: same
149
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${misc:Depends},
150
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${misc:Depends},
151
open5gs-common (= ${binary:Version}),
152
open5gs-mme (= ${binary:Version}),
153
open5gs-sgwc (= ${binary:Version}),
154
155
Package: open5gs-dbg
156
Architecture: any
157
Multi-Arch: same
158
-Depends: osmocom-nightly (= 1.0.0.202206290002), ${misc:Depends},
159
+Depends: osmocom-nightly (= 1.0.0.202206300002), ${misc:Depends},
160
open5gs (= ${binary:Version})
161
Description: Debug symbols for Open5GS
162
Open5GS is a C-language implementation of 5G Core and EPC
163
open5gs_2.4.8.202206290002.tar.xz/lib/core/ogs-3gpp-types.c -> open5gs_2.4.8.202206300002.tar.xz/lib/core/ogs-3gpp-types.c
Changed
31
1
2
ogs_assert(list);
3
4
addr = ogs_calloc(1, sizeof(ogs_sockaddr_t));
5
- ogs_expect_or_return_val(addr, OGS_ERROR);
6
+ if (!addr) {
7
+ ogs_error("ogs_calloc() failed");
8
+ return OGS_ERROR;
9
+ }
10
addr->ogs_sa_family = AF_INET;
11
addr->ogs_sin_port = htobe16(port);
12
13
addr6 = ogs_calloc(1, sizeof(ogs_sockaddr_t));
14
- ogs_expect_or_return_val(addr6, OGS_ERROR);
15
+ if (!addr6) {
16
+ ogs_error("ogs_calloc() failed");
17
+ ogs_free(addr);
18
+ return OGS_ERROR;
19
+ }
20
addr6->ogs_sa_family = AF_INET6;
21
addr6->ogs_sin_port = htobe16(port);
22
23
24
25
*list = addr6;
26
} else {
27
+ ogs_error("No IPv4 and IPv6");
28
ogs_free(addr);
29
ogs_free(addr6);
30
return OGS_ERROR;
31
open5gs_2.4.8.202206290002.tar.xz/lib/core/ogs-tlv-msg.c -> open5gs_2.4.8.202206300002.tar.xz/lib/core/ogs-tlv-msg.c
Changed
24
1
2
OGS_TLV_MORE, "More", 0, 7, 0, 0, { NULL } };
3
ogs_tlv_desc_t ogs_tlv_desc_more8 = {
4
OGS_TLV_MORE, "More", 0, 8, 0, 0, { NULL } };
5
+ogs_tlv_desc_t ogs_tlv_desc_more9 = {
6
+ OGS_TLV_MORE, "More", 0, 9, 0, 0, { NULL } };
7
+ogs_tlv_desc_t ogs_tlv_desc_more10 = {
8
+ OGS_TLV_MORE, "More", 0, 10, 0, 0, { NULL } };
9
+ogs_tlv_desc_t ogs_tlv_desc_more11 = {
10
+ OGS_TLV_MORE, "More", 0, 11, 0, 0, { NULL } };
11
+ogs_tlv_desc_t ogs_tlv_desc_more12 = {
12
+ OGS_TLV_MORE, "More", 0, 12, 0, 0, { NULL } };
13
+ogs_tlv_desc_t ogs_tlv_desc_more13 = {
14
+ OGS_TLV_MORE, "More", 0, 13, 0, 0, { NULL } };
15
+ogs_tlv_desc_t ogs_tlv_desc_more14 = {
16
+ OGS_TLV_MORE, "More", 0, 14, 0, 0, { NULL } };
17
+ogs_tlv_desc_t ogs_tlv_desc_more15 = {
18
+ OGS_TLV_MORE, "More", 0, 15, 0, 0, { NULL } };
19
+ogs_tlv_desc_t ogs_tlv_desc_more16 = {
20
+ OGS_TLV_MORE, "More", 0, 16, 0, 0, { NULL } };
21
22
/* Return specific TLV mode based on its TLV description type and the msg
23
* provided mode (used to know the type length) */
24
open5gs_2.4.8.202206290002.tar.xz/lib/core/ogs-tlv-msg.h -> open5gs_2.4.8.202206300002.tar.xz/lib/core/ogs-tlv-msg.h
Changed
25
1
2
3
#define OGS_TLV_MAX_HEADROOM 16
4
#define OGS_TLV_VARIABLE_LEN 0
5
-#define OGS_TLV_MAX_MORE 8
6
+#define OGS_TLV_MAX_MORE 16
7
#define OGS_TLV_1_OR_MORE(__v) __vOGS_TLV_MAX_MORE
8
9
#define OGS_TLV_MAX_CHILD_DESC 128
10
11
extern ogs_tlv_desc_t ogs_tlv_desc_more6;
12
extern ogs_tlv_desc_t ogs_tlv_desc_more7;
13
extern ogs_tlv_desc_t ogs_tlv_desc_more8;
14
+extern ogs_tlv_desc_t ogs_tlv_desc_more9;
15
+extern ogs_tlv_desc_t ogs_tlv_desc_more10;
16
+extern ogs_tlv_desc_t ogs_tlv_desc_more11;
17
+extern ogs_tlv_desc_t ogs_tlv_desc_more12;
18
+extern ogs_tlv_desc_t ogs_tlv_desc_more13;
19
+extern ogs_tlv_desc_t ogs_tlv_desc_more14;
20
+extern ogs_tlv_desc_t ogs_tlv_desc_more15;
21
+extern ogs_tlv_desc_t ogs_tlv_desc_more16;
22
23
typedef uint64_t ogs_tlv_presence_t;
24
25
open5gs_2.4.8.202206290002.tar.xz/lib/gtp/context.c -> open5gs_2.4.8.202206300002.tar.xz/lib/gtp/context.c
Changed
74
1
2
ogs_app()->parameter.no_ipv4,
3
ogs_app()->parameter.no_ipv6,
4
ogs_app()->parameter.prefer_ipv4);
5
- ogs_assert(addr);
6
+ if (!addr) {
7
+ ogs_error("ogs_filter_ip_version() failed");
8
+ return NULL;
9
+ }
10
11
#if 0 /* deprecated */
12
rv = ogs_socknode_fill_scope_id_in_local(addr);
13
14
#endif
15
16
node = ogs_gtp_node_new(addr);
17
- ogs_assert(node);
18
+ if (!node) {
19
+ ogs_error("ogs_gtp_node_new() failed");
20
+ ogs_freeaddrinfo(addr);
21
+ return NULL;
22
+ }
23
24
rv = ogs_gtp2_f_teid_to_ip(f_teid, &node->ip);
25
- ogs_expect_or_return_val(rv == OGS_OK, NULL);
26
+ if (rv != OGS_OK) {
27
+ ogs_error("ogs_gtp2_f_teid_to_ip() failed");
28
+ ogs_freeaddrinfo(addr);
29
+ return NULL;
30
+ }
31
32
ogs_list_add(list, node);
33
34
35
36
ogs_assert(OGS_OK == ogs_copyaddrinfo(&new, addr));
37
gnode = ogs_gtp_node_new(new);
38
+ if (!gnode) {
39
+ ogs_error("ogs_gtp_node_new() failed");
40
+ ogs_freeaddrinfo(new);
41
+ return NULL;
42
+ }
43
44
- ogs_assert(gnode);
45
memcpy(&gnode->addr, new, sizeof gnode->addr);
46
47
ogs_list_add(list, gnode);
48
49
ogs_app()->parameter.no_ipv4,
50
ogs_app()->parameter.no_ipv6,
51
ogs_app()->parameter.prefer_ipv4);
52
- ogs_expect_or_return_val(addr, NULL);
53
+ if (!addr) {
54
+ ogs_error("ogs_filter_ip_version() failed");
55
+ return NULL;
56
+ }
57
58
#if 0 /* deprecated */
59
rv = ogs_socknode_fill_scope_id_in_local(addr);
60
- ogs_expect_or_return_val(rv == OGS_OK, NULL);
61
+ ogs_assert(rv == OGS_OK);
62
#endif
63
64
node = ogs_gtp_node_new(addr);
65
- ogs_expect_or_return_val(node, NULL);
66
+ if (!node) {
67
+ ogs_error("ogs_gtp_node_new() failed");
68
+ ogs_freeaddrinfo(addr);
69
+ return NULL;
70
+ }
71
72
memcpy(&node->ip, ip, sizeof(*ip));
73
74
open5gs_2.4.8.202206290002.tar.xz/lib/gtp/v2/conv.c -> open5gs_2.4.8.202206300002.tar.xz/lib/gtp/v2/conv.c
Changed
25
1
2
addr->ogs_sin_port = htobe16(port);
3
4
addr6 = ogs_calloc(1, sizeof(ogs_sockaddr_t));
5
- ogs_expect_or_return_val(addr6, OGS_ERROR);
6
+ if (!addr6) {
7
+ ogs_error("ogs_calloc() failed");
8
+ ogs_free(addr);
9
+ return OGS_ERROR;
10
+ }
11
addr6->ogs_sa_family = AF_INET6;
12
addr6->ogs_sin_port = htobe16(port);
13
14
15
16
*list = addr6;
17
} else {
18
+ ogs_error("No IPv4 or IPv6");
19
ogs_free(addr);
20
ogs_free(addr6);
21
- ogs_error("No IPv4 or IPv6");
22
return OGS_ERROR;
23
}
24
25
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/message.c -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/message.c
Changed
84
1
2
/*******************************************************************************
3
* This file had been created by pfcp-tlv.py script v0.1.0
4
* Please do not modify this file but regenerate it via script.
5
- * Created on: 2022-06-12 08:57:15.347805 by acetcom
6
+ * Created on: 2022-06-29 14:29:16.181253 by acetcom
7
* from 29244-g91-modified.docx
8
******************************************************************************/
9
10
11
&ogs_pfcp_tlv_desc_node_id,
12
&ogs_pfcp_tlv_desc_f_seid,
13
&ogs_pfcp_tlv_desc_create_pdr,
14
- &ogs_tlv_desc_more8,
15
+ &ogs_tlv_desc_more16,
16
&ogs_pfcp_tlv_desc_create_far,
17
- &ogs_tlv_desc_more8,
18
+ &ogs_tlv_desc_more16,
19
&ogs_pfcp_tlv_desc_create_urr,
20
- &ogs_tlv_desc_more2,
21
+ &ogs_tlv_desc_more16,
22
&ogs_pfcp_tlv_desc_create_qer,
23
&ogs_tlv_desc_more4,
24
&ogs_pfcp_tlv_desc_create_bar,
25
26
&ogs_pfcp_tlv_desc_offending_ie,
27
&ogs_pfcp_tlv_desc_f_seid,
28
&ogs_pfcp_tlv_desc_created_pdr,
29
- &ogs_tlv_desc_more8,
30
+ &ogs_tlv_desc_more16,
31
&ogs_pfcp_tlv_desc_load_control_information,
32
&ogs_pfcp_tlv_desc_overload_control_information,
33
&ogs_pfcp_tlv_desc_fq_csid,
34
35
0, 0, 0, 0, {
36
&ogs_pfcp_tlv_desc_f_seid,
37
&ogs_pfcp_tlv_desc_remove_pdr,
38
- &ogs_tlv_desc_more8,
39
+ &ogs_tlv_desc_more16,
40
&ogs_pfcp_tlv_desc_remove_far,
41
- &ogs_tlv_desc_more8,
42
+ &ogs_tlv_desc_more16,
43
&ogs_pfcp_tlv_desc_remove_urr,
44
- &ogs_tlv_desc_more2,
45
+ &ogs_tlv_desc_more16,
46
&ogs_pfcp_tlv_desc_remove_qer,
47
&ogs_tlv_desc_more4,
48
&ogs_pfcp_tlv_desc_remove_bar,
49
&ogs_pfcp_tlv_desc_remove_traffic_endpoint,
50
&ogs_pfcp_tlv_desc_create_pdr,
51
- &ogs_tlv_desc_more8,
52
+ &ogs_tlv_desc_more16,
53
&ogs_pfcp_tlv_desc_create_far,
54
- &ogs_tlv_desc_more8,
55
+ &ogs_tlv_desc_more16,
56
&ogs_pfcp_tlv_desc_create_urr,
57
- &ogs_tlv_desc_more2,
58
+ &ogs_tlv_desc_more16,
59
&ogs_pfcp_tlv_desc_create_qer,
60
&ogs_tlv_desc_more4,
61
&ogs_pfcp_tlv_desc_create_bar,
62
&ogs_pfcp_tlv_desc_create_traffic_endpoint,
63
&ogs_pfcp_tlv_desc_update_pdr,
64
- &ogs_tlv_desc_more8,
65
+ &ogs_tlv_desc_more16,
66
&ogs_pfcp_tlv_desc_update_far,
67
- &ogs_tlv_desc_more8,
68
+ &ogs_tlv_desc_more16,
69
&ogs_pfcp_tlv_desc_update_urr,
70
- &ogs_tlv_desc_more2,
71
+ &ogs_tlv_desc_more16,
72
&ogs_pfcp_tlv_desc_update_qer,
73
&ogs_tlv_desc_more4,
74
&ogs_pfcp_tlv_desc_update_bar_session_modification_request,
75
76
&ogs_pfcp_tlv_desc_cause,
77
&ogs_pfcp_tlv_desc_offending_ie,
78
&ogs_pfcp_tlv_desc_created_pdr,
79
- &ogs_tlv_desc_more8,
80
+ &ogs_tlv_desc_more16,
81
&ogs_pfcp_tlv_desc_load_control_information,
82
&ogs_pfcp_tlv_desc_overload_control_information,
83
&ogs_pfcp_tlv_desc_usage_report_session_modification_response,
84
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/message.h -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/message.h
Changed
72
1
2
/*******************************************************************************
3
* This file had been created by pfcp-tlv.py script v0.1.0
4
* Please do not modify this file but regenerate it via script.
5
- * Created on: 2022-06-12 08:57:15.335605 by acetcom
6
+ * Created on: 2022-06-29 14:29:16.169884 by acetcom
7
* from 29244-g91-modified.docx
8
******************************************************************************/
9
10
11
typedef struct ogs_pfcp_session_establishment_request_s {
12
ogs_pfcp_tlv_node_id_t node_id;
13
ogs_pfcp_tlv_f_seid_t cp_f_seid;
14
- ogs_pfcp_tlv_create_pdr_t create_pdr8;
15
- ogs_pfcp_tlv_create_far_t create_far8;
16
- ogs_pfcp_tlv_create_urr_t create_urr2;
17
+ ogs_pfcp_tlv_create_pdr_t create_pdr16;
18
+ ogs_pfcp_tlv_create_far_t create_far16;
19
+ ogs_pfcp_tlv_create_urr_t create_urr16;
20
ogs_pfcp_tlv_create_qer_t create_qer4;
21
ogs_pfcp_tlv_create_bar_t create_bar;
22
ogs_pfcp_tlv_create_traffic_endpoint_t create_traffic_endpoint;
23
24
ogs_pfcp_tlv_cause_t cause;
25
ogs_pfcp_tlv_offending_ie_t offending_ie;
26
ogs_pfcp_tlv_f_seid_t up_f_seid;
27
- ogs_pfcp_tlv_created_pdr_t created_pdr8;
28
+ ogs_pfcp_tlv_created_pdr_t created_pdr16;
29
ogs_pfcp_tlv_load_control_information_t load_control_information;
30
ogs_pfcp_tlv_overload_control_information_t overload_control_information;
31
ogs_pfcp_tlv_fq_csid_t pgw_u_sgw_u_fq_csid;
32
33
34
typedef struct ogs_pfcp_session_modification_request_s {
35
ogs_pfcp_tlv_f_seid_t cp_f_seid;
36
- ogs_pfcp_tlv_remove_pdr_t remove_pdr8;
37
- ogs_pfcp_tlv_remove_far_t remove_far8;
38
- ogs_pfcp_tlv_remove_urr_t remove_urr2;
39
+ ogs_pfcp_tlv_remove_pdr_t remove_pdr16;
40
+ ogs_pfcp_tlv_remove_far_t remove_far16;
41
+ ogs_pfcp_tlv_remove_urr_t remove_urr16;
42
ogs_pfcp_tlv_remove_qer_t remove_qer4;
43
ogs_pfcp_tlv_remove_bar_t remove_bar;
44
ogs_pfcp_tlv_remove_traffic_endpoint_t remove_traffic_endpoint;
45
- ogs_pfcp_tlv_create_pdr_t create_pdr8;
46
- ogs_pfcp_tlv_create_far_t create_far8;
47
- ogs_pfcp_tlv_create_urr_t create_urr2;
48
+ ogs_pfcp_tlv_create_pdr_t create_pdr16;
49
+ ogs_pfcp_tlv_create_far_t create_far16;
50
+ ogs_pfcp_tlv_create_urr_t create_urr16;
51
ogs_pfcp_tlv_create_qer_t create_qer4;
52
ogs_pfcp_tlv_create_bar_t create_bar;
53
ogs_pfcp_tlv_create_traffic_endpoint_t create_traffic_endpoint;
54
- ogs_pfcp_tlv_update_pdr_t update_pdr8;
55
- ogs_pfcp_tlv_update_far_t update_far8;
56
- ogs_pfcp_tlv_update_urr_t update_urr2;
57
+ ogs_pfcp_tlv_update_pdr_t update_pdr16;
58
+ ogs_pfcp_tlv_update_far_t update_far16;
59
+ ogs_pfcp_tlv_update_urr_t update_urr16;
60
ogs_pfcp_tlv_update_qer_t update_qer4;
61
ogs_pfcp_tlv_update_bar_session_modification_request_t update_bar;
62
ogs_pfcp_tlv_update_traffic_endpoint_t update_traffic_endpoint;
63
64
typedef struct ogs_pfcp_session_modification_response_s {
65
ogs_pfcp_tlv_cause_t cause;
66
ogs_pfcp_tlv_offending_ie_t offending_ie;
67
- ogs_pfcp_tlv_created_pdr_t created_pdr8;
68
+ ogs_pfcp_tlv_created_pdr_t created_pdr16;
69
ogs_pfcp_tlv_load_control_information_t load_control_information;
70
ogs_pfcp_tlv_overload_control_information_t overload_control_information;
71
ogs_pfcp_tlv_usage_report_session_modification_response_t usage_report8;
72
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/support/cache/tlv-msg-50.py -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/support/cache/tlv-msg-50.py
Changed
20
1
2
ies =
3
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier of the sending Node."})
4
ies.append({ "ie_type" : "F-SEID", "ie_value" : "CP F-SEID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier allocated by the CP function identifying the session."})
5
-type_list"Create PDR""max_tlv_more" = "7"
6
-ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "M", "tlv_more" : "7", "comment" : "This IE shall be present for at least one PDR to be associated to the PFCP session.Several IEs with the same IE type may be present to represent multiple PDRs.See Table 7.5.2.2-1."})
7
-type_list"Create FAR""max_tlv_more" = "7"
8
-ies.append({ "ie_type" : "Create FAR", "ie_value" : "Create FAR", "presence" : "M", "tlv_more" : "7", "comment" : "This IE shall be present for at least one FAR to be associated to the PFCP session.Several IEs with the same IE type may be present to represent multiple FARs.See Table 7.5.2.3-1."})
9
-type_list"Create URR""max_tlv_more" = "1"
10
-ies.append({ "ie_type" : "Create URR", "ie_value" : "Create URR", "presence" : "C", "tlv_more" : "1", "comment" : "This IE shall be present if a measurement action shall be applied to packets matching one or more PDR(s) of this PFCP session.Several IEs within the same IE type may be present to represent multiple URRs.See Table 7.5.2.4-1."})
11
+type_list"Create PDR""max_tlv_more" = "15"
12
+ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "M", "tlv_more" : "15", "comment" : "This IE shall be present for at least one PDR to be associated to the PFCP session.Several IEs with the same IE type may be present to represent multiple PDRs.See Table 7.5.2.2-1."})
13
+type_list"Create FAR""max_tlv_more" = "15"
14
+ies.append({ "ie_type" : "Create FAR", "ie_value" : "Create FAR", "presence" : "M", "tlv_more" : "15", "comment" : "This IE shall be present for at least one FAR to be associated to the PFCP session.Several IEs with the same IE type may be present to represent multiple FARs.See Table 7.5.2.3-1."})
15
+type_list"Create URR""max_tlv_more" = "15"
16
+ies.append({ "ie_type" : "Create URR", "ie_value" : "Create URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a measurement action shall be applied to packets matching one or more PDR(s) of this PFCP session.Several IEs within the same IE type may be present to represent multiple URRs.See Table 7.5.2.4-1."})
17
type_list"Create QER""max_tlv_more" = "3"
18
ies.append({ "ie_type" : "Create QER", "ie_value" : "Create QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if a QoS enforcement or QoS marking action shall be applied to packets matching one or more PDR(s) of this PFCP session.Several IEs within the same IE type may be present to represent multiple QERs.See Table 7.5.2.5-1."})
19
ies.append({ "ie_type" : "Create BAR", "ie_value" : "Create BAR", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the buffering instructions to be applied by the UP function to any FAR of this PFCP session set with the Apply Action requesting the packets to be buffered and with a BAR ID IE referring to this BAR. See table 7.5.2.6-1."})
20
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/support/cache/tlv-msg-51.py -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/support/cache/tlv-msg-51.py
Changed
12
1
2
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
3
ies.append({ "ie_type" : "Offending IE", "ie_value" : "Offending IE", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the rejection is due to a conditional or mandatory IE missing or faulty."})
4
ies.append({ "ie_type" : "F-SEID", "ie_value" : "UP F-SEID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the cause is set to Request accepted (success). When present, it shall contain the unique identifier allocated by the UP function identifying the session."})
5
-type_list"Created PDR""max_tlv_more" = "7"
6
-ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if the cause is set to success and the UP function was requested to allocate a local F-TEID or a UE IP address/prefix for the PDR.When present, this IE shall contain the PDR information associated to the PFCP session. There may be several instances of this IE.See table 7.5.3.2-1."})
7
+type_list"Created PDR""max_tlv_more" = "15"
8
+ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the cause is set to success and the UP function was requested to allocate a local F-TEID or a UE IP address/prefix for the PDR.When present, this IE shall contain the PDR information associated to the PFCP session. There may be several instances of this IE.See table 7.5.3.2-1."})
9
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "Load Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if it supports the load control feature and the feature is activated in the network.See Table 7.5.3.3-1."})
10
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "Overload Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "During an overload condition, the UP function may include this IE if it supports the overload control feature and the feature is activated in the network.See Table 7.5.3.4-1."})
11
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-U/SGW-U FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.00724."})
12
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/support/cache/tlv-msg-52.py -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/support/cache/tlv-msg-52.py
Changed
44
1
2
ies =
3
ies.append({ "ie_type" : "F-SEID", "ie_value" : "CP F-SEID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function decides to change its F-SEID for the PFCP session. The UP function shall use the new CP F-SEID for subsequent PFCP Session related messages for this PFCP Session. See Note 2."})
4
-type_list"Remove PDR""max_tlv_more" = "7"
5
-ies.append({ "ie_type" : "Remove PDR", "ie_value" : "Remove PDR", "presence" : "C", "tlv_more" : "7", "comment" : "When present, this IE shall contain the PDR Rule which is requested to be removed. See Table 7.5.4-6-1.Several IEs within the same IE type may be present to represent a list of PDRs to remove."})
6
-type_list"Remove FAR""max_tlv_more" = "7"
7
-ies.append({ "ie_type" : "Remove FAR", "ie_value" : "Remove FAR", "presence" : "C", "tlv_more" : "7", "comment" : "When present, this IE shall contain the FAR Rule which is requested to be removed. See Table 7.5.4-7-1.Several IEs within the same IE type may be present to represent a list of FARs to remove."})
8
-type_list"Remove URR""max_tlv_more" = "1"
9
-ies.append({ "ie_type" : "Remove URR", "ie_value" : "Remove URR", "presence" : "C", "tlv_more" : "1", "comment" : "When present, this shall contain the URR Rule which is requested to be removed. See Table 7.5.4-8-1.Several IEs within the same IE type may be present to represent a list of URRs to remove."})
10
+type_list"Remove PDR""max_tlv_more" = "15"
11
+ies.append({ "ie_type" : "Remove PDR", "ie_value" : "Remove PDR", "presence" : "C", "tlv_more" : "15", "comment" : "When present, this IE shall contain the PDR Rule which is requested to be removed. See Table 7.5.4-6-1.Several IEs within the same IE type may be present to represent a list of PDRs to remove."})
12
+type_list"Remove FAR""max_tlv_more" = "15"
13
+ies.append({ "ie_type" : "Remove FAR", "ie_value" : "Remove FAR", "presence" : "C", "tlv_more" : "15", "comment" : "When present, this IE shall contain the FAR Rule which is requested to be removed. See Table 7.5.4-7-1.Several IEs within the same IE type may be present to represent a list of FARs to remove."})
14
+type_list"Remove URR""max_tlv_more" = "15"
15
+ies.append({ "ie_type" : "Remove URR", "ie_value" : "Remove URR", "presence" : "C", "tlv_more" : "15", "comment" : "When present, this shall contain the URR Rule which is requested to be removed. See Table 7.5.4-8-1.Several IEs within the same IE type may be present to represent a list of URRs to remove."})
16
type_list"Remove QER""max_tlv_more" = "3"
17
ies.append({ "ie_type" : "Remove QER", "ie_value" : "Remove QER", "presence" : "C", "tlv_more" : "3", "comment" : "When present, this IE shall contain the QER Rule which is requested to be removed. See Table 7.5.4-9-1.Several IEs within the same IE type may be present to represent a list of QERs to remove."})
18
ies.append({ "ie_type" : "Remove BAR", "ie_value" : "Remove BAR", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the BAR Rule which is requested to be removed. See Table 7.5.4.12-1."})
19
ies.append({ "ie_type" : "Remove Traffic Endpoint", "ie_value" : "Remove Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the Traffic Endpoint ID identifying the traffic endpoint to be removed, if the UP function has indicated support of PDI optimization.All the PDRs that refer to the removed Traffic Endpoint shall be deleted.See Table 7.5.4.14-1."})
20
-ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if the CP function requests the UP function to create a new PDR.See Table 7.5.2.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to create."})
21
-ies.append({ "ie_type" : "Create FAR", "ie_value" : "Create FAR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if the CP function requests the UP function to create a new FAR. See Table 7.5.2.3-1.Several IEs within the same IE type may be present to represent a list of FARs to create."})
22
-ies.append({ "ie_type" : "Create URR", "ie_value" : "Create URR", "presence" : "C", "tlv_more" : "1", "comment" : "This IE shall be present if the CP function requests the UP function to create a new URR. See Table 7.5.2.4-1.Several IEs within the same IE type may be present to represent a list of URRs to create."})
23
+ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new PDR.See Table 7.5.2.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to create."})
24
+ies.append({ "ie_type" : "Create FAR", "ie_value" : "Create FAR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new FAR. See Table 7.5.2.3-1.Several IEs within the same IE type may be present to represent a list of FARs to create."})
25
+ies.append({ "ie_type" : "Create URR", "ie_value" : "Create URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new URR. See Table 7.5.2.4-1.Several IEs within the same IE type may be present to represent a list of URRs to create."})
26
ies.append({ "ie_type" : "Create QER", "ie_value" : "Create QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if the CP function requests the UP function to create a new QER. See Table 7.5.2.5-1.Several IEs within the same IE type may be present to represent a list of QERs to create."})
27
ies.append({ "ie_type" : "Create BAR", "ie_value" : "Create BAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to create a new BAR.See Table 7.5.2.6-1."})
28
ies.append({ "ie_type" : "Create Traffic Endpoint", "ie_value" : "Create Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present this IE shall contain the information associated with the Traffic Endpoint to be created, if the UP function has indicated support of PDI optimization. See Table 7.5.2.7-1."})
29
-type_list"Update PDR""max_tlv_more" = "7"
30
-ies.append({ "ie_type" : "Update PDR", "ie_value" : "Update PDR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if a PDR previously created for the PFCP session need to be modified. See Table 7.5.4.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to update."})
31
-type_list"Update FAR""max_tlv_more" = "7"
32
-ies.append({ "ie_type" : "Update FAR", "ie_value" : "Update FAR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if a FAR previously created for the PFCP session need to be modified. See Table 7.5.4.3-1. Several IEs within the same IE type may be present to represent a list of FARs to update."})
33
-type_list"Update URR""max_tlv_more" = "1"
34
-ies.append({ "ie_type" : "Update URR", "ie_value" : "Update URR", "presence" : "C", "tlv_more" : "1", "comment" : "This IE shall be present if URR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified URRs. Previously URRs that are not modified shall not be included. See Table 7.5.4.4-1."})
35
+type_list"Update PDR""max_tlv_more" = "15"
36
+ies.append({ "ie_type" : "Update PDR", "ie_value" : "Update PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a PDR previously created for the PFCP session need to be modified. See Table 7.5.4.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to update."})
37
+type_list"Update FAR""max_tlv_more" = "15"
38
+ies.append({ "ie_type" : "Update FAR", "ie_value" : "Update FAR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a FAR previously created for the PFCP session need to be modified. See Table 7.5.4.3-1. Several IEs within the same IE type may be present to represent a list of FARs to update."})
39
+type_list"Update URR""max_tlv_more" = "15"
40
+ies.append({ "ie_type" : "Update URR", "ie_value" : "Update URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if URR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified URRs. Previously URRs that are not modified shall not be included. See Table 7.5.4.4-1."})
41
type_list"Update QER""max_tlv_more" = "3"
42
ies.append({ "ie_type" : "Update QER", "ie_value" : "Update QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if QER(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified QERs.Previously created QERs that are not modified shall not be included.See Table 7.5.4.5-1."})
43
ies.append({ "ie_type" : "Update BAR Session Modification Request", "ie_value" : "Update BAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a BAR previously created for the PFCP session needs to be modified.A previously created BAR that is not modified shall not be included.See Table 7.5.4.11-1."})
44
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/support/cache/tlv-msg-53.py -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/support/cache/tlv-msg-53.py
Changed
10
1
2
ies =
3
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
4
ies.append({ "ie_type" : "Offending IE", "ie_value" : "Offending IE", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the rejection is due to a conditional or mandatory IE missing or faulty."})
5
-ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if the cause is set to success, new PDR(s) were requested to be created and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the PDR(s).When present, this IE shall contain the PDR information associated to the PFCP session.See Table 7.5.3.2-1."})
6
+ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the cause is set to success, new PDR(s) were requested to be created and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the PDR(s).When present, this IE shall contain the PDR information associated to the PFCP session.See Table 7.5.3.2-1."})
7
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "Load Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if it supports the load control feature and the feature is activated in the network.See Table 7.5.3.3-1."})
8
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "Overload Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "During an overload condition, the UP function may include this IE if it supports the overload control feature and the feature is activated in the network."})
9
type_list"Usage Report Session Modification Response""max_tlv_more" = "7"
10
open5gs_2.4.8.202206290002.tar.xz/lib/pfcp/support/pfcp-tlv.py -> open5gs_2.4.8.202206300002.tar.xz/lib/pfcp/support/pfcp-tlv.py
Changed
16
1
2
3
tlv_more = "0" # PFCP has no tlv_more
4
if ie_type == 'Create PDR' or ie_type == 'Created PDR' or ie_type == 'Update PDR' or ie_type == "Remove PDR":
5
- tlv_more = "7"
6
+ tlv_more = "15"
7
if ie_type == 'Create FAR' or ie_type == 'Update FAR' or ie_type == "Remove FAR":
8
- tlv_more = "7"
9
+ tlv_more = "15"
10
if ie_type == 'Create URR' or ie_type == 'Update URR' or ie_type == "Remove URR":
11
- tlv_more = "1"
12
+ tlv_more = "15"
13
if ie_type == 'Create QER' or ie_type == 'Update QER' or ie_type == "Remove QER":
14
tlv_more = "3"
15
if ie_type == 'User Plane IP Resource Information':
16
open5gs_2.4.8.202206290002.tar.xz/src/sgwc/gtp-path.c -> open5gs_2.4.8.202206300002.tar.xz/src/sgwc/gtp-path.c
Changed
23
1
2
ogs_pkbuf_t *pkbuf = NULL;
3
ogs_sockaddr_t from;
4
ogs_gtp_node_t *gnode = NULL;
5
+ char frombufOGS_ADDRSTRLEN;
6
7
ogs_assert(fd != INVALID_SOCKET);
8
9
10
gnode = ogs_gtp_node_find_by_addr(&sgwc_self()->mme_s11_list, &from);
11
if (!gnode) {
12
gnode = ogs_gtp_node_add_by_addr(&sgwc_self()->mme_s11_list, &from);
13
- ogs_assert(gnode);
14
+ if (!gnode) {
15
+ ogs_error("Failed to create new gnode(%s:%u), mempool full, ignoring msg!",
16
+ OGS_ADDR(&from, frombuf), OGS_PORT(&from));
17
+ ogs_pkbuf_free(pkbuf);
18
+ return;
19
+ }
20
gnode->sock = data;
21
}
22
ogs_assert(e);
23
open5gs_2.4.8.202206290002.tar.xz/src/upf/n4-handler.c -> open5gs_2.4.8.202206300002.tar.xz/src/upf/n4-handler.c
Changed
13
1
2
OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0);
3
return;
4
}
5
-
6
- ogs_assert(sess);
7
-
8
upf_pfcp_send_session_deletion_response(xact, sess);
9
-
10
upf_sess_remove(sess);
11
}
12
13
open5gs_2.4.8.202206290002.tar.xz/tests/core/tlv-test.c -> open5gs_2.4.8.202206300002.tar.xz/tests/core/tlv-test.c
Changed
264
1
2
return;
3
}
4
5
-#if 0
6
/* Sample header for tlv_msg */
7
#define TLV_AUTHORIZATION_POLICY_SUPPORT_TYPE 21
8
#define TLV_AUTHORIZATION_POLICY_SUPPORT_LEN 1
9
-typedef tlv_uint8_t tlv_authorization_policy_support_t;
10
-extern tlv_desc_t tlv_desc_authorization_policy_support;
11
+typedef ogs_tlv_uint8_t tlv_authorization_policy_support_t;
12
+extern ogs_tlv_desc_t tlv_desc_authorization_policy_support;
13
14
#define TLV_CLIENT_SECURITY_HISTORY_TYPE 108
15
-#define TLV_CLIENT_SECURITY_HISTORY_LEN TLV_VARIABLE_LEN
16
+#define TLV_CLIENT_SECURITY_HISTORY_LEN OGS_TLV_VARIABLE_LEN
17
typedef struct _tlv_client_security_history_t {
18
- tlv_presence_t presence;
19
+ ogs_tlv_presence_t presence;
20
tlv_authorization_policy_support_t authorization_policy_support0;
21
tlv_authorization_policy_support_t authorization_policy_support2;
22
} tlv_client_security_history_t;
23
-extern tlv_desc_t tlv_desc_client_security_history;
24
+extern ogs_tlv_desc_t tlv_desc_client_security_history;
25
26
#define TLV_CLIENT_INFO_TYPE 103
27
-#define TLV_CLIENT_INFO_LEN TLV_VARIABLE_LEN
28
+#define TLV_CLIENT_INFO_LEN OGS_TLV_VARIABLE_LEN
29
typedef struct _tlv_client_info_t {
30
- tlv_presence_t presence;
31
+ ogs_tlv_presence_t presence;
32
tlv_client_security_history_t client_security_history;
33
} tlv_client_info_t;
34
-extern tlv_desc_t tlv_desc_client_info;
35
+extern ogs_tlv_desc_t tlv_desc_client_info;
36
37
#define TLV_SERVER_NAME_TYPE 25
38
-#define TLV_SERVER_NAME_LEN TLV_VARIABLE_LEN
39
-typedef tlv_octet_t tlv_server_name_t;
40
-extern tlv_desc_t tlv_desc_server_name;
41
+#define TLV_SERVER_NAME_LEN OGS_TLV_VARIABLE_LEN
42
+typedef ogs_tlv_octet_t tlv_server_name_t;
43
+extern ogs_tlv_desc_t tlv_desc_server_name;
44
45
#define TLV_SERVER_INFO_TYPE 26
46
-#define TLV_SERVER_INFO_LEN TLV_VARIABLE_LEN
47
+#define TLV_SERVER_INFO_LEN OGS_TLV_VARIABLE_LEN
48
typedef struct _tlv_server_info_t {
49
- tlv_presence_t presence;
50
- tlv_server_name_t TLV_1_OR_MORE(server_name);
51
+ ogs_tlv_presence_t presence;
52
+ tlv_server_name_t OGS_TLV_1_OR_MORE(server_name);
53
} tlv_server_info_t;
54
-extern tlv_desc_t tlv_desc_server_info;
55
+extern ogs_tlv_desc_t tlv_desc_server_info;
56
57
typedef struct _tlv_attach_req {
58
tlv_client_info_t client_info;
59
tlv_server_info_t server_info;
60
} tlv_attach_req;
61
62
-extern tlv_desc_t tlv_desc_attach_req;
63
+extern ogs_tlv_desc_t tlv_desc_attach_req;
64
65
/* Sample source for tlv_msg */
66
-tlv_desc_t tlv_desc_authorization_policy_support0 =
67
+ogs_tlv_desc_t tlv_desc_authorization_policy_support0 =
68
{
69
- TLV_UINT8,
70
+ OGS_TLV_UINT8,
71
"Auth Policy0",
72
TLV_AUTHORIZATION_POLICY_SUPPORT_TYPE,
73
TLV_AUTHORIZATION_POLICY_SUPPORT_LEN,
74
75
sizeof(tlv_authorization_policy_support_t),
76
{ NULL }
77
};
78
-tlv_desc_t tlv_desc_authorization_policy_support2 =
79
+ogs_tlv_desc_t tlv_desc_authorization_policy_support2 =
80
{
81
- TLV_UINT8,
82
+ OGS_TLV_UINT8,
83
"Auth Policy2",
84
TLV_AUTHORIZATION_POLICY_SUPPORT_TYPE,
85
TLV_AUTHORIZATION_POLICY_SUPPORT_LEN,
86
87
{ NULL }
88
};
89
90
-tlv_desc_t tlv_desc_client_security_history =
91
+ogs_tlv_desc_t tlv_desc_client_security_history =
92
{
93
- TLV_COMPOUND,
94
+ OGS_TLV_COMPOUND,
95
"Sec History",
96
TLV_CLIENT_SECURITY_HISTORY_TYPE,
97
TLV_CLIENT_SECURITY_HISTORY_LEN,
98
99
}
100
};
101
102
-tlv_desc_t tlv_desc_client_info =
103
+ogs_tlv_desc_t tlv_desc_client_info =
104
{
105
- TLV_COMPOUND,
106
+ OGS_TLV_COMPOUND,
107
"Client Info",
108
TLV_CLIENT_INFO_TYPE,
109
TLV_CLIENT_INFO_LEN,
110
111
}
112
};
113
114
-tlv_desc_t tlv_desc_server_name =
115
+ogs_tlv_desc_t tlv_desc_server_name =
116
{
117
- TLV_VAR_STR,
118
+ OGS_TLV_VAR_STR,
119
"Server Name",
120
TLV_SERVER_NAME_TYPE,
121
TLV_SERVER_NAME_LEN,
122
123
{ NULL }
124
};
125
126
-tlv_desc_t tlv_desc_server_info =
127
+ogs_tlv_desc_t tlv_desc_server_info =
128
{
129
- TLV_COMPOUND,
130
+ OGS_TLV_COMPOUND,
131
"Server Info",
132
TLV_SERVER_INFO_TYPE,
133
TLV_SERVER_INFO_LEN,
134
0,
135
sizeof(tlv_server_info_t),
136
{
137
- &tlv_desc_server_name, &tlv_desc_more2,
138
+ &tlv_desc_server_name, &ogs_tlv_desc_more16,
139
NULL,
140
}
141
};
142
143
-tlv_desc_t tlv_desc_attach_req = {
144
- TLV_MESSAGE, "Attach Req", 0, 0, 0, 0, {
145
+ogs_tlv_desc_t tlv_desc_attach_req = {
146
+ OGS_TLV_MESSAGE, "Attach Req", 0, 0, 0, 0, {
147
&tlv_desc_client_info,
148
&tlv_desc_server_info,
149
NULL,
150
151
tlv_attach_req reqv;
152
tlv_attach_req reqv2;
153
154
- pkbuf_t *req = NULL;
155
+ ogs_pkbuf_t *req = NULL;
156
char testbuf1024;
157
158
+ int i;
159
+
160
/* Initialize message value structure */
161
memset(&reqv, 0, sizeof(tlv_attach_req));
162
163
164
authorization_policy_support2.u8 = 0x9;
165
166
reqv.server_info.presence = 1;
167
- reqv.server_info.server_name0.presence = 1;
168
- reqv.server_info.server_name0.data =
169
- (uint8_t*)"\x11\x22\x33\x44\x55\x66";
170
- reqv.server_info.server_name0.len = 6;
171
-
172
- reqv.server_info.presence = 1;
173
- reqv.server_info.server_name1.presence = 1;
174
- reqv.server_info.server_name1.data =
175
- (uint8_t*)"\xaa\xbb\xcc\xdd\xee\xff";
176
- reqv.server_info.server_name1.len = 6;
177
+ for (i = 0; i < 16; i++) {
178
+ reqv.server_info.server_namei.presence = 1;
179
+ reqv.server_info.server_namei.data =
180
+ (uint8_t*)"\x11\x22\x33\x44\x55\x66";
181
+ reqv.server_info.server_namei.len = 6;
182
+
183
+ req = ogs_tlv_build_msg(
184
+ &tlv_desc_attach_req, &reqv, OGS_TLV_MODE_T1_L2_I1);
185
+ ABTS_INT_EQUAL(tc, 32+i*10, req->len);
186
+ ogs_pkbuf_free(req);
187
+ }
188
189
/* Build message */
190
- tlv_build_msg(&req, &tlv_desc_attach_req, &reqv, OGS_TLV_MODE_T1_L2_I1);
191
+ req = ogs_tlv_build_msg(&tlv_desc_attach_req, &reqv, OGS_TLV_MODE_T1_L2_I1);
192
#define TEST_TLV_BUILD_MSG \
193
"67000e00 6c000a00 15000100 03150001" \
194
- "02091a00 14001900 06001122 33445566" \
195
- "19000600 aabbccdd eeff"
196
-
197
- ABTS_INT_EQUAL(tc, 42, req->len);
198
- ABTS_TRUE(tc, memcmp(req->payload,
199
- CORE_HEX(TEST_TLV_BUILD_MSG, strlen(TEST_TLV_BUILD_MSG), testbuf),
200
+ "02091a00 a0001900 06001122 33445566" \
201
+ "19000600 11223344 55661900 06001122" \
202
+ "33445566 19000600 11223344 55661900" \
203
+ "06001122 33445566 19000600 11223344" \
204
+ "55661900 06001122 33445566 19000600" \
205
+ "11223344 55661900 06001122 33445566" \
206
+ "19000600 11223344 55661900 06001122" \
207
+ "33445566 19000600 11223344 55661900" \
208
+ "06001122 33445566 19000600 11223344" \
209
+ "55661900 06001122 33445566 19000600" \
210
+ "11223344 5566"
211
+
212
+ ABTS_INT_EQUAL(tc, 182, req->len);
213
+ ABTS_TRUE(tc, memcmp(req->data,
214
+ OGS_HEX(TEST_TLV_BUILD_MSG, strlen(TEST_TLV_BUILD_MSG), testbuf),
215
req->len) == 0);
216
217
/* Initialize message value structure */
218
memset(&reqv2, 0, sizeof(tlv_attach_req));
219
220
/* Parse message */
221
- tlv_parse_msg(&reqv2, &tlv_desc_attach_req, req,
222
+ ogs_tlv_parse_msg(&reqv2, &tlv_desc_attach_req, req,
223
OGS_TLV_MODE_T1_L2_I1);
224
225
ABTS_INT_EQUAL(tc, 1, reqv2.client_info.presence);
226
227
ABTS_INT_EQUAL(tc, 0x9, reqv2.client_info.
228
client_security_history.authorization_policy_support2.u8);
229
230
- ABTS_INT_EQUAL(tc, 1, reqv2.server_info.presence);
231
- ABTS_INT_EQUAL(tc, 1, reqv2.server_info.server_name0.presence);
232
- ABTS_INT_EQUAL(tc, 1, reqv2.server_info.server_name1.presence);
233
- ABTS_INT_EQUAL(tc, 6, reqv2.server_info.server_name0.len);
234
- ABTS_TRUE(tc, memcmp(reqv2.server_info.server_name0.data,
235
- (uint8_t*)"\x11\x22\x33\x44\x55\x66", 6) == 0);
236
- ABTS_INT_EQUAL(tc, 6, reqv2.server_info.server_name1.len);
237
- ABTS_TRUE(tc, memcmp(reqv2.server_info.server_name1.data,
238
- (uint8_t*)"\xaa\xbb\xcc\xdd\xee\xff", 6) == 0);
239
+ for (i = 0; i < 16; i++) {
240
+ ABTS_INT_EQUAL(tc, 1, reqv2.server_info.presence);
241
+ ABTS_INT_EQUAL(tc, 1, reqv2.server_info.server_namei.presence);
242
+ ABTS_INT_EQUAL(tc, 6, reqv2.server_info.server_namei.len);
243
+ ABTS_TRUE(tc, memcmp(reqv2.server_info.server_namei.data,
244
+ (uint8_t*)"\x11\x22\x33\x44\x55\x66", 6) == 0);
245
+ }
246
247
- pkbuf_free(req);
248
+ ogs_pkbuf_free(req);
249
}
250
-#endif
251
252
abts_suite *test_tlv(abts_suite *suite)
253
{
254
255
abts_run_test(suite, test4_func, (void*)OGS_TLV_MODE_T1_L2_I1);
256
abts_run_test(suite, test5_func, (void*)OGS_TLV_MODE_T1_L2_I1);
257
258
-#if 0
259
abts_run_test(suite, test6_func, NULL);
260
-#endif
261
262
return suite;
263
}
264