We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 213
open5gs_2.4.9.252.11aac.202301240007.dsc -> open5gs_2.4.9.256.596a2.202301250006.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-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
Architecture: any
5
-Version: 2.4.9.252.11aac.202301240007
6
+Version: 2.4.9.256.596a2.202301250006
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
- b3ccb45e4376c481789cb0ea1f186330c5e527d4 13613416 open5gs_2.4.9.252.11aac.202301240007.tar.xz
15
+ c666c5584e98172197f5a7e571ec8947b779a303 13613944 open5gs_2.4.9.256.596a2.202301250006.tar.xz
16
Checksums-Sha256:
17
- c37e0c56068a6b1abb1b77c486587d3a7f113267c4ae8b9437255e16e2abf5ac 13613416 open5gs_2.4.9.252.11aac.202301240007.tar.xz
18
+ 82ad9a47e5b955135d9b72c37a89e95413e14b1c4cf5187738f635c05ea07390 13613944 open5gs_2.4.9.256.596a2.202301250006.tar.xz
19
Files:
20
- 41d885560b5facd7975420582f346aab 13613416 open5gs_2.4.9.252.11aac.202301240007.tar.xz
21
+ 2b1a6e5cd3a0c26d6ce25778a592e6d8 13613944 open5gs_2.4.9.256.596a2.202301250006.tar.xz
22
open5gs_2.4.9.252.11aac.202301240007.tar.xz/.tarball-version -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/.tarball-version
Changed
4
1
2
-2.4.9.252-11aac.202301240007
3
+2.4.9.256-596a2.202301250006
4
open5gs_2.4.9.252.11aac.202301240007.tar.xz/debian/changelog -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/debian/changelog
Changed
12
1
2
-open5gs (2.4.9.252.11aac.202301240007) unstable; urgency=medium
3
+open5gs (2.4.9.256.596a2.202301250006) unstable; urgency=medium
4
5
* Automatically generated changelog entry for building the Osmocom nightly feed
6
7
- -- Osmocom OBS scripts <info@osmocom.org> Tue, 24 Jan 2023 00:09:38 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Wed, 25 Jan 2023 00:08:51 +0000
9
10
open5gs (2.5.6) unstable; urgency=medium
11
12
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/app/ogs-context.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/app/ogs-context.c
Changed
18
1
2
const char *v = ogs_yaml_iter_value(&pool_iter);
3
if (v)
4
self.pool.defconfig.cluster_2048_pool = atoi(v);
5
- } else if (!strcmp(pool_key, "16384")) {
6
+ } else if (!strcmp(pool_key, "8192")) {
7
const char *v = ogs_yaml_iter_value(&pool_iter);
8
if (v)
9
- self.pool.defconfig.cluster_16384_pool = atoi(v);
10
+ self.pool.defconfig.cluster_8192_pool = atoi(v);
11
+ } else if (!strcmp(pool_key, "32768")) {
12
+ const char *v = ogs_yaml_iter_value(&pool_iter);
13
+ if (v)
14
+ self.pool.defconfig.cluster_32768_pool = atoi(v);
15
} else if (!strcmp(pool_key, "big")) {
16
const char *v = ogs_yaml_iter_value(&pool_iter);
17
if (v)
18
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/core/ogs-macros.h -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/core/ogs-macros.h
Changed
12
1
2
#define OGS_MAX_FILEPATH_LEN 256
3
#define OGS_MAX_IFNAME_LEN 32
4
5
+#define OGS_MAX_SDU_LEN 32768 /* Should Heap */
6
+#define OGS_HUGE_LEN 8192 /* Can Stack */
7
+#define OGS_MAX_PKT_LEN 2048
8
+
9
#define OGS_FILE_LINE __FILE__ ":" OGS_STRINGIFY(__LINE__)
10
11
#define ogs_uint64_to_uint32(x) ((x >= 0xffffffffUL) ? 0xffffffffU : x)
12
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/core/ogs-pkbuf.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/core/ogs-pkbuf.c
Changed
122
1
2
#define OGS_CLUSTER_512_SIZE 512
3
#define OGS_CLUSTER_1024_SIZE 1024
4
#define OGS_CLUSTER_2048_SIZE 2048
5
-#define OGS_CLUSTER_16384_SIZE 16384
6
+#define OGS_CLUSTER_8192_SIZE 8192
7
+#define OGS_CLUSTER_32768_SIZE 32768
8
9
/*
10
*
11
12
typedef uint8_t ogs_cluster_512_tOGS_CLUSTER_512_SIZE;
13
typedef uint8_t ogs_cluster_1024_tOGS_CLUSTER_1024_SIZE;
14
typedef uint8_t ogs_cluster_2048_tOGS_CLUSTER_2048_SIZE;
15
-typedef uint8_t ogs_cluster_16384_tOGS_CLUSTER_16384_SIZE;
16
+typedef uint8_t ogs_cluster_8192_tOGS_CLUSTER_8192_SIZE;
17
+typedef uint8_t ogs_cluster_32768_tOGS_CLUSTER_32768_SIZE;
18
typedef uint8_t ogs_cluster_big_tOGS_CLUSTER_BIG_SIZE;
19
20
OGS_STATIC_ASSERT(sizeof(ogs_cluster_128_t) % sizeof(void *) == 0);
21
22
OGS_STATIC_ASSERT(sizeof(ogs_cluster_512_t) % sizeof(void *) == 0);
23
OGS_STATIC_ASSERT(sizeof(ogs_cluster_1024_t) % sizeof(void *) == 0);
24
OGS_STATIC_ASSERT(sizeof(ogs_cluster_2048_t) % sizeof(void *) == 0);
25
-OGS_STATIC_ASSERT(sizeof(ogs_cluster_16384_t) % sizeof(void *) == 0);
26
+OGS_STATIC_ASSERT(sizeof(ogs_cluster_8192_t) % sizeof(void *) == 0);
27
+OGS_STATIC_ASSERT(sizeof(ogs_cluster_32768_t) % sizeof(void *) == 0);
28
OGS_STATIC_ASSERT(sizeof(ogs_cluster_big_t) % sizeof(void *) == 0);
29
30
typedef struct ogs_pkbuf_pool_s {
31
32
OGS_POOL(cluster_512, ogs_cluster_512_t);
33
OGS_POOL(cluster_1024, ogs_cluster_1024_t);
34
OGS_POOL(cluster_2048, ogs_cluster_2048_t);
35
- OGS_POOL(cluster_16384, ogs_cluster_16384_t);
36
+ OGS_POOL(cluster_8192, ogs_cluster_8192_t);
37
+ OGS_POOL(cluster_32768, ogs_cluster_32768_t);
38
OGS_POOL(cluster_big, ogs_cluster_big_t);
39
40
ogs_thread_mutex_t mutex;
41
42
config->cluster_512_pool = 4096;
43
config->cluster_1024_pool = 2048;
44
config->cluster_2048_pool = 1024;
45
- config->cluster_16384_pool = 512;
46
+ config->cluster_8192_pool = 256;
47
+ config->cluster_32768_pool = 64;
48
config->cluster_big_pool = 8;
49
#endif
50
}
51
52
53
tmp = config->cluster_128_pool + config->cluster_256_pool +
54
config->cluster_512_pool + config->cluster_1024_pool +
55
- config->cluster_2048_pool + config->cluster_16384_pool +
56
- config->cluster_big_pool;
57
+ config->cluster_2048_pool + config->cluster_8192_pool +
58
+ config->cluster_32768_pool + config->cluster_big_pool;
59
60
ogs_pool_init(&pool->pkbuf, tmp);
61
ogs_pool_init(&pool->cluster, tmp);
62
63
ogs_pool_init(&pool->cluster_512, config->cluster_512_pool);
64
ogs_pool_init(&pool->cluster_1024, config->cluster_1024_pool);
65
ogs_pool_init(&pool->cluster_2048, config->cluster_2048_pool);
66
- ogs_pool_init(&pool->cluster_16384, config->cluster_16384_pool);
67
+ ogs_pool_init(&pool->cluster_8192, config->cluster_8192_pool);
68
+ ogs_pool_init(&pool->cluster_32768, config->cluster_32768_pool);
69
ogs_pool_init(&pool->cluster_big, config->cluster_big_pool);
70
#endif
71
72
73
ogs_pool_final(&pool->cluster_512);
74
ogs_pool_final(&pool->cluster_1024);
75
ogs_pool_final(&pool->cluster_2048);
76
- ogs_pool_final(&pool->cluster_16384);
77
+ ogs_pool_final(&pool->cluster_8192);
78
+ ogs_pool_final(&pool->cluster_32768);
79
ogs_pool_final(&pool->cluster_big);
80
81
ogs_thread_mutex_destroy(&pool->mutex);
82
83
return NULL;
84
}
85
cluster->size = OGS_CLUSTER_2048_SIZE;
86
- } else if (size <= OGS_CLUSTER_16384_SIZE) {
87
- ogs_pool_alloc(&pool->cluster_16384, (ogs_cluster_16384_t**)&buffer);
88
+ } else if (size <= OGS_CLUSTER_8192_SIZE) {
89
+ ogs_pool_alloc(&pool->cluster_8192, (ogs_cluster_8192_t**)&buffer);
90
if (!buffer) {
91
ogs_error("ogs_pool_alloc() failed");
92
return NULL;
93
}
94
- cluster->size = OGS_CLUSTER_16384_SIZE;
95
+ cluster->size = OGS_CLUSTER_8192_SIZE;
96
+ } else if (size <= OGS_CLUSTER_32768_SIZE) {
97
+ ogs_pool_alloc(&pool->cluster_32768, (ogs_cluster_32768_t**)&buffer);
98
+ if (!buffer) {
99
+ ogs_error("ogs_pool_alloc() failed");
100
+ return NULL;
101
+ }
102
+ cluster->size = OGS_CLUSTER_32768_SIZE;
103
} else if (size <= OGS_CLUSTER_BIG_SIZE) {
104
ogs_pool_alloc(&pool->cluster_big, (ogs_cluster_big_t**)&buffer);
105
if (!buffer) {
106
107
ogs_pool_free(
108
&pool->cluster_2048, (ogs_cluster_2048_t*)cluster->buffer);
109
break;
110
- case OGS_CLUSTER_16384_SIZE:
111
+ case OGS_CLUSTER_8192_SIZE:
112
+ ogs_pool_free(
113
+ &pool->cluster_8192, (ogs_cluster_8192_t*)cluster->buffer);
114
+ break;
115
+ case OGS_CLUSTER_32768_SIZE:
116
ogs_pool_free(
117
- &pool->cluster_16384, (ogs_cluster_16384_t*)cluster->buffer);
118
+ &pool->cluster_32768, (ogs_cluster_32768_t*)cluster->buffer);
119
break;
120
case OGS_CLUSTER_BIG_SIZE:
121
ogs_pool_free(&pool->cluster_big, (ogs_cluster_big_t*)cluster->buffer);
122
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/core/ogs-pkbuf.h -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/core/ogs-pkbuf.h
Changed
11
1
2
int cluster_512_pool;
3
int cluster_1024_pool;
4
int cluster_2048_pool;
5
- int cluster_16384_pool;
6
+ int cluster_8192_pool;
7
+ int cluster_32768_pool;
8
int cluster_big_pool;
9
} ogs_pkbuf_config_t;
10
11
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/core/ogs-strings.h -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/core/ogs-strings.h
Changed
10
1
2
extern "C" {
3
#endif
4
5
-#define OGS_HUGE_LEN 16384
6
-
7
#if defined(_WIN32)
8
#define ogs_strtok_r strtok_s
9
#define ogs_strcasecmp _stricmp
10
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/diameter/common/init.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/diameter/common/init.c
Changed
31
1
2
3
static void diam_log_func(int printlevel, const char *format, va_list ap)
4
{
5
- char bufferOGS_HUGE_LEN*2;
6
+ char *buffer = NULL;
7
int ret = 0;
8
9
+ buffer = ogs_calloc(1, OGS_MAX_SDU_LEN);
10
+ ogs_assert(buffer);
11
+
12
#pragma GCC diagnostic push
13
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
14
- ret = ogs_vsnprintf(buffer, OGS_HUGE_LEN*2, format, ap);
15
+ ret = ogs_vsnprintf(buffer, OGS_MAX_SDU_LEN, format, ap);
16
#pragma GCC diagnostic pop
17
- if (ret < 0 || ret > OGS_HUGE_LEN*2) {
18
+ if (ret < 0 || ret > OGS_MAX_SDU_LEN) {
19
ogs_error("vsnprintf() failedret=%d", ret);
20
+ ogs_free(buffer);
21
return;
22
}
23
24
25
diam_log_printf(OGS_LOG_ERROR, "%d %s\n", printlevel, buffer);
26
break;
27
}
28
+
29
+ ogs_free(buffer);
30
}
31
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/pfcp/build.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/pfcp/build.c
Changed
201
1
2
3
ogs_pkbuf_t *ogs_pfcp_build_heartbeat_request(uint8_t type)
4
{
5
- ogs_pfcp_message_t pfcp_message;
6
+ ogs_pfcp_message_t *pfcp_message = NULL;
7
ogs_pfcp_heartbeat_request_t *req = NULL;
8
+ ogs_pkbuf_t *pkbuf = NULL;
9
10
ogs_debug("Heartbeat Request");
11
12
- req = &pfcp_message.pfcp_heartbeat_request;
13
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
14
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
15
+ if (!pfcp_message) {
16
+ ogs_error("ogs_calloc() failed");
17
+ return NULL;
18
+ }
19
+
20
+ req = &pfcp_message->pfcp_heartbeat_request;
21
22
req->recovery_time_stamp.presence = 1;
23
req->recovery_time_stamp.u32 = ogs_pfcp_self()->pfcp_started;
24
25
- pfcp_message.h.type = type;
26
- return ogs_pfcp_build_msg(&pfcp_message);
27
+ pfcp_message->h.type = type;
28
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
29
+ ogs_expect(pkbuf);
30
+
31
+ ogs_free(pfcp_message);
32
+
33
+ return pkbuf;
34
}
35
36
ogs_pkbuf_t *ogs_pfcp_build_heartbeat_response(uint8_t type)
37
{
38
- ogs_pfcp_message_t pfcp_message;
39
+ ogs_pfcp_message_t *pfcp_message = NULL;
40
ogs_pfcp_heartbeat_response_t *rsp = NULL;
41
+ ogs_pkbuf_t *pkbuf = NULL;
42
43
ogs_debug("Heartbeat Response");
44
45
- rsp = &pfcp_message.pfcp_heartbeat_response;
46
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
47
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
48
+ if (!pfcp_message) {
49
+ ogs_error("ogs_calloc() failed");
50
+ return NULL;
51
+ }
52
+
53
+ rsp = &pfcp_message->pfcp_heartbeat_response;
54
55
rsp->recovery_time_stamp.presence = 1;
56
rsp->recovery_time_stamp.u32 = ogs_pfcp_self()->pfcp_started;
57
58
- pfcp_message.h.type = type;
59
- return ogs_pfcp_build_msg(&pfcp_message);
60
+ pfcp_message->h.type = type;
61
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
62
+ ogs_expect(pkbuf);
63
+
64
+ ogs_free(pfcp_message);
65
+
66
+ return pkbuf;
67
}
68
69
ogs_pkbuf_t *ogs_pfcp_cp_build_association_setup_request(uint8_t type)
70
{
71
- ogs_pfcp_message_t pfcp_message;
72
+ ogs_pfcp_message_t *pfcp_message = NULL;
73
ogs_pfcp_association_setup_request_t *req = NULL;
74
+ ogs_pkbuf_t *pkbuf = NULL;
75
76
ogs_pfcp_node_id_t node_id;
77
int node_id_len = 0, rv;
78
79
ogs_debug("Association Setup Request");
80
81
- req = &pfcp_message.pfcp_association_setup_request;
82
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
83
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
84
+ if (!pfcp_message) {
85
+ ogs_error("ogs_calloc() failed");
86
+ return NULL;
87
+ }
88
+
89
+ req = &pfcp_message->pfcp_association_setup_request;
90
91
rv = ogs_pfcp_sockaddr_to_node_id(
92
ogs_pfcp_self()->pfcp_addr, ogs_pfcp_self()->pfcp_addr6,
93
94
&node_id, &node_id_len);
95
if (rv != OGS_OK) {
96
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
97
+ ogs_free(pfcp_message);
98
return NULL;
99
}
100
req->node_id.presence = 1;
101
102
req->cp_function_features.presence = 1;
103
req->cp_function_features.u8 = ogs_pfcp_self()->cp_function_features.octet5;
104
105
- pfcp_message.h.type = type;
106
- return ogs_pfcp_build_msg(&pfcp_message);
107
+ pfcp_message->h.type = type;
108
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
109
+ ogs_expect(pkbuf);
110
+
111
+ ogs_free(pfcp_message);
112
+
113
+ return pkbuf;
114
}
115
116
ogs_pkbuf_t *ogs_pfcp_cp_build_association_setup_response(uint8_t type,
117
uint8_t cause)
118
{
119
- ogs_pfcp_message_t pfcp_message;
120
+ ogs_pfcp_message_t *pfcp_message = NULL;
121
ogs_pfcp_association_setup_response_t *rsp = NULL;
122
+ ogs_pkbuf_t *pkbuf = NULL;
123
124
ogs_pfcp_node_id_t node_id;
125
int node_id_len = 0, rv;
126
127
ogs_debug("Association Setup Response");
128
129
- rsp = &pfcp_message.pfcp_association_setup_response;
130
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
131
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
132
+ if (!pfcp_message) {
133
+ ogs_error("ogs_calloc() failed");
134
+ return NULL;
135
+ }
136
+
137
+ rsp = &pfcp_message->pfcp_association_setup_response;
138
139
rv = ogs_pfcp_sockaddr_to_node_id(
140
ogs_pfcp_self()->pfcp_addr, ogs_pfcp_self()->pfcp_addr6,
141
142
&node_id, &node_id_len);
143
if (rv != OGS_OK) {
144
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
145
+ ogs_free(pfcp_message);
146
return NULL;
147
}
148
rsp->node_id.presence = 1;
149
150
rsp->cp_function_features.presence = 1;
151
rsp->cp_function_features.u8 = ogs_pfcp_self()->cp_function_features.octet5;
152
153
- pfcp_message.h.type = type;
154
- return ogs_pfcp_build_msg(&pfcp_message);
155
+ pfcp_message->h.type = type;
156
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
157
+ ogs_expect(pkbuf);
158
+
159
+ ogs_free(pfcp_message);
160
+
161
+ return pkbuf;
162
}
163
164
ogs_pkbuf_t *ogs_pfcp_up_build_association_setup_request(uint8_t type)
165
{
166
- ogs_pfcp_message_t pfcp_message;
167
+ ogs_pfcp_message_t *pfcp_message = NULL;
168
ogs_pfcp_association_setup_request_t *req = NULL;
169
+ ogs_pkbuf_t *pkbuf = NULL;
170
171
ogs_pfcp_node_id_t node_id;
172
int node_id_len = 0;
173
174
175
ogs_debug("Association Setup Request");
176
177
- req = &pfcp_message.pfcp_association_setup_request;
178
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
179
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
180
+ if (!pfcp_message) {
181
+ ogs_error("ogs_calloc() failed");
182
+ return NULL;
183
+ }
184
+
185
+ req = &pfcp_message->pfcp_association_setup_request;
186
187
rv = ogs_pfcp_sockaddr_to_node_id(
188
ogs_pfcp_self()->pfcp_addr, ogs_pfcp_self()->pfcp_addr6,
189
190
&node_id, &node_id_len);
191
if (rv != OGS_OK) {
192
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
193
+ ogs_free(pfcp_message);
194
return NULL;
195
}
196
req->node_id.presence = 1;
197
198
}
199
}
200
201
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/proto/types.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/proto/types.c
Changed
10
1
2
ogs_error("No IP");
3
return OGS_ERROR;
4
}
5
- if (!addr && !addr) {
6
+ if (!addr && !addr6) {
7
ogs_error("No Address");
8
return OGS_ERROR;
9
}
10
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/proto/types.h -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/proto/types.h
Changed
10
1
2
#define OGS_MAX_NUM_OF_GTPU_RESOURCE 4
3
#define OGS_MAX_NUM_OF_FRAMED_ROUTES_IN_PDI 8
4
5
-#define OGS_MAX_SDU_LEN OGS_HUGE_LEN
6
-#define OGS_MAX_PKT_LEN 2048
7
#define OGS_PLMN_ID_LEN 3
8
#define OGS_MAX_PLMN_ID_BCD_LEN 6
9
10
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/sbi/client.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/sbi/client.c
Changed
10
1
2
request->h.uri = uri;
3
}
4
5
- curl_easy_setopt(conn->easy, CURLOPT_BUFFERSIZE, OGS_MAX_SDU_LEN*2);
6
+ curl_easy_setopt(conn->easy, CURLOPT_BUFFERSIZE, OGS_MAX_SDU_LEN);
7
8
curl_easy_setopt(conn->easy, CURLOPT_SSL_VERIFYPEER, 0);
9
curl_easy_setopt(conn->easy, CURLOPT_SSL_VERIFYHOST, 0);
10
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/sbi/conv.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/sbi/conv.c
Changed
13
1
2
unit = strrchr(str, ' ');
3
bitrate = atoll(str);
4
5
+ if (!unit) {
6
+ ogs_error("No Unit %s", str);
7
+ return bitrate;
8
+ }
9
+
10
SWITCH(unit+1)
11
CASE("Kbps")
12
return bitrate * 1024;
13
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/sbi/message.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/sbi/message.c
Changed
25
1
2
} else {
3
offset = data->partdata->num_of_part.content_length;
4
if ((data->partdata->num_of_part.content_length + length) >
5
- OGS_HUGE_LEN) {
6
+ OGS_MAX_SDU_LEN) {
7
ogs_error("Overflow length %d:%d",
8
(int)data->partdata->num_of_part.content_length,
9
(int)length);
10
11
strcpy(boundary, "=-");
12
ogs_base64_encode_binary(boundary + 2, digest, 16);
13
14
- p = http->content = ogs_calloc(1, OGS_HUGE_LEN);
15
+ p = http->content = ogs_calloc(1, OGS_MAX_SDU_LEN);
16
if (!p) {
17
ogs_error("ogs_calloc() failed");
18
return false;
19
}
20
- last = p + OGS_HUGE_LEN;
21
+ last = p + OGS_MAX_SDU_LEN;
22
23
/* First boundary */
24
p = ogs_slprintf(p, last, "--%s\r\n", boundary);
25
open5gs_2.4.9.252.11aac.202301240007.tar.xz/lib/sbi/mhd-server.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/lib/sbi/mhd-server.c
Changed
10
1
2
} else {
3
offset = request->http.content_length;
4
if ((request->http.content_length +
5
- *upload_data_size) > OGS_HUGE_LEN) {
6
+ *upload_data_size) > OGS_MAX_SDU_LEN) {
7
ogs_error("Overflow : Content-Length%d, upload_data_size%d",
8
(int)request->http.content_length,
9
(int)*upload_data_size);
10
open5gs_2.4.9.252.11aac.202301240007.tar.xz/src/pcf/npcf-handler.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/src/pcf/npcf-handler.c
Changed
53
1
2
uint8_t qos_index = 0;
3
ogs_media_component_t *media_component = &ims_data.media_componenti;
4
5
+ if (media_component->media_type == OpenAPI_media_type_NULL) {
6
+ strerror = ogs_msprintf("%s:%d Media-Type is Required",
7
+ pcf_ue->supi, sess->psi);
8
+ status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
9
+ goto cleanup;
10
+ }
11
+
12
switch(media_component->media_type) {
13
case OpenAPI_media_type_AUDIO:
14
qos_index = OGS_QOS_INDEX_1;
15
16
qos_index = OGS_QOS_INDEX_5;
17
break;
18
default:
19
- strerror = ogs_msprintf("%s:%d Not implemented : Media-Type:%d",
20
+ strerror = ogs_msprintf("%s:%d Unknown Media-Type %d",
21
pcf_ue->supi, sess->psi, media_component->media_type);
22
- status = OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR;
23
+ status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
24
goto cleanup;
25
}
26
27
28
uint8_t qos_index = 0;
29
ogs_media_component_t *media_component = &ims_data.media_componenti;
30
31
+ if (media_component->media_type == OpenAPI_media_type_NULL) {
32
+ strerror = ogs_msprintf("%s:%d Media-Type is Required",
33
+ pcf_ue->supi, sess->psi);
34
+ status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
35
+ goto cleanup;
36
+ }
37
+
38
switch(media_component->media_type) {
39
case OpenAPI_media_type_AUDIO:
40
qos_index = OGS_QOS_INDEX_1;
41
42
qos_index = OGS_QOS_INDEX_5;
43
break;
44
default:
45
- strerror = ogs_msprintf("%s:%d Not implemented : Media-Type:%d",
46
+ strerror = ogs_msprintf("%s:%d Unknown Media-Type %d",
47
pcf_ue->supi, sess->psi, media_component->media_type);
48
- status = OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR;
49
+ status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
50
goto cleanup;
51
}
52
53
open5gs_2.4.9.252.11aac.202301240007.tar.xz/src/sgwc/sxa-build.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/src/sgwc/sxa-build.c
Changed
127
1
2
ogs_pkbuf_t *sgwc_sxa_build_session_establishment_request(
3
uint8_t type, sgwc_sess_t *sess)
4
{
5
- ogs_pfcp_message_t pfcp_message;
6
+ ogs_pfcp_message_t *pfcp_message = NULL;
7
ogs_pfcp_session_establishment_request_t *req = NULL;
8
ogs_pkbuf_t *pkbuf = NULL;
9
10
11
ogs_debug("Session Establishment Request");
12
ogs_assert(sess);
13
14
- req = &pfcp_message.pfcp_session_establishment_request;
15
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
16
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
17
+ if (!pfcp_message) {
18
+ ogs_error("ogs_calloc() failed");
19
+ return NULL;
20
+ }
21
+
22
+ req = &pfcp_message->pfcp_session_establishment_request;
23
24
/* Node ID */
25
rv = ogs_pfcp_sockaddr_to_node_id(
26
27
&node_id, &len);
28
if (rv != OGS_OK) {
29
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
30
+ ogs_free(pfcp_message);
31
return NULL;
32
}
33
req->node_id.presence = 1;
34
35
&f_seid, &len);
36
if (rv != OGS_OK) {
37
ogs_error("ogs_pfcp_sockaddr_to_f_seid() failed");
38
+ ogs_free(pfcp_message);
39
return NULL;
40
}
41
f_seid.seid = htobe64(sess->sgwc_sxa_seid);
42
43
ogs_pfcp_build_create_bar(&req->create_bar, sess->pfcp.bar);
44
}
45
46
- pfcp_message.h.type = type;
47
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
48
+ pfcp_message->h.type = type;
49
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
50
+ ogs_expect(pkbuf);
51
52
ogs_pfcp_pdrbuf_clear();
53
+ ogs_free(pfcp_message);
54
55
return pkbuf;
56
}
57
58
ogs_pkbuf_t *sgwc_sxa_build_bearer_to_modify_list(
59
uint8_t type, sgwc_sess_t *sess, ogs_pfcp_xact_t *xact)
60
{
61
- ogs_pfcp_message_t pfcp_message;
62
+ ogs_pfcp_message_t *pfcp_message = NULL;
63
ogs_pfcp_session_modification_request_t *req = NULL;
64
ogs_pkbuf_t *pkbuf = NULL;
65
66
67
modify_flags = xact->modify_flags;
68
ogs_assert(modify_flags);
69
70
- req = &pfcp_message.pfcp_session_modification_request;
71
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
72
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
73
+ if (!pfcp_message) {
74
+ ogs_error("ogs_calloc() failed");
75
+ return NULL;
76
+ }
77
+
78
+ req = &pfcp_message->pfcp_session_modification_request;
79
80
if (modify_flags & OGS_PFCP_MODIFY_CREATE) {
81
ogs_pfcp_pdrbuf_init();
82
83
}
84
}
85
86
- pfcp_message.h.type = type;
87
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
88
+ pfcp_message->h.type = type;
89
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
90
+ ogs_expect(pkbuf);
91
92
if (modify_flags & OGS_PFCP_MODIFY_CREATE) {
93
ogs_pfcp_pdrbuf_clear();
94
}
95
96
+ ogs_free(pfcp_message);
97
+
98
return pkbuf;
99
}
100
101
ogs_pkbuf_t *sgwc_sxa_build_session_deletion_request(
102
uint8_t type, sgwc_sess_t *sess)
103
{
104
- ogs_pfcp_message_t pfcp_message;
105
+ ogs_pfcp_message_t *pfcp_message = NULL;
106
+ ogs_pkbuf_t *pkbuf = NULL;
107
108
ogs_debug("Session Deletion Request");
109
ogs_assert(sess);
110
111
- pfcp_message.h.type = type;
112
- return ogs_pfcp_build_msg(&pfcp_message);
113
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
114
+ if (!pfcp_message) {
115
+ ogs_error("ogs_calloc() failed");
116
+ return NULL;
117
+ }
118
+
119
+ pfcp_message->h.type = type;
120
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
121
+ ogs_expect(pkbuf);
122
+
123
+ ogs_free(pfcp_message);
124
+
125
+ return pkbuf;
126
}
127
open5gs_2.4.9.252.11aac.202301240007.tar.xz/src/sgwu/sxa-build.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/src/sgwu/sxa-build.c
Changed
132
1
2
ogs_pkbuf_t *sgwu_sxa_build_session_establishment_response(uint8_t type,
3
sgwu_sess_t *sess, ogs_pfcp_pdr_t *created_pdr, int num_of_created_pdr)
4
{
5
- ogs_pfcp_message_t pfcp_message;
6
+ ogs_pfcp_message_t *pfcp_message = NULL;
7
ogs_pfcp_session_establishment_response_t *rsp = NULL;
8
ogs_pkbuf_t *pkbuf = NULL;
9
10
11
12
ogs_debug("Session Establishment Response");
13
14
- rsp = &pfcp_message.pfcp_session_establishment_response;
15
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
16
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
17
+ if (!pfcp_message) {
18
+ ogs_error("ogs_calloc() failed");
19
+ return NULL;
20
+ }
21
+
22
+ rsp = &pfcp_message->pfcp_session_establishment_response;
23
24
/* Node ID */
25
rv = ogs_pfcp_sockaddr_to_node_id(
26
27
&node_id, &len);
28
if (rv != OGS_OK) {
29
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
30
+ ogs_free(pfcp_message);
31
return NULL;
32
}
33
rsp->node_id.presence = 1;
34
35
&f_seid, &len);
36
if (rv != OGS_OK) {
37
ogs_error("ogs_pfcp_sockaddr_to_f_seid() failed");
38
+ ogs_free(pfcp_message);
39
return NULL;
40
}
41
f_seid.seid = htobe64(sess->sgwu_sxa_seid);
42
43
if (pdr_presence == true) j++;
44
}
45
46
- pfcp_message.h.type = type;
47
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
48
+ pfcp_message->h.type = type;
49
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
50
+ ogs_expect(pkbuf);
51
52
ogs_pfcp_pdrbuf_clear();
53
+ ogs_free(pfcp_message);
54
55
return pkbuf;
56
}
57
58
ogs_pkbuf_t *sgwu_sxa_build_session_modification_response(uint8_t type,
59
sgwu_sess_t *sess, ogs_pfcp_pdr_t *created_pdr, int num_of_created_pdr)
60
{
61
- ogs_pfcp_message_t pfcp_message;
62
+ ogs_pfcp_message_t *pfcp_message = NULL;
63
ogs_pfcp_session_modification_response_t *rsp = NULL;
64
ogs_pkbuf_t *pkbuf = NULL;
65
66
67
68
ogs_debug("Session Modification Response");
69
70
- rsp = &pfcp_message.pfcp_session_modification_response;
71
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
72
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
73
+ if (!pfcp_message) {
74
+ ogs_error("ogs_calloc() failed");
75
+ return NULL;
76
+ }
77
+
78
+ rsp = &pfcp_message->pfcp_session_modification_response;
79
80
/* Cause */
81
rsp->cause.presence = 1;
82
83
if (pdr_presence == true) j++;
84
}
85
86
- pfcp_message.h.type = type;
87
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
88
+ pfcp_message->h.type = type;
89
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
90
+ ogs_expect(pkbuf);
91
92
ogs_pfcp_pdrbuf_clear();
93
+ ogs_free(pfcp_message);
94
95
return pkbuf;
96
}
97
98
ogs_pkbuf_t *sgwu_sxa_build_session_deletion_response(uint8_t type,
99
sgwu_sess_t *sess)
100
{
101
- ogs_pfcp_message_t pfcp_message;
102
+ ogs_pfcp_message_t *pfcp_message = NULL;
103
ogs_pfcp_session_deletion_response_t *rsp = NULL;
104
+ ogs_pkbuf_t *pkbuf = NULL;
105
106
ogs_debug("Session Deletion Response");
107
108
- rsp = &pfcp_message.pfcp_session_deletion_response;
109
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
110
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
111
+ if (!pfcp_message) {
112
+ ogs_error("ogs_calloc() failed");
113
+ return NULL;
114
+ }
115
+
116
+ rsp = &pfcp_message->pfcp_session_deletion_response;
117
118
/* Cause */
119
rsp->cause.presence = 1;
120
rsp->cause.u8 = OGS_PFCP_CAUSE_REQUEST_ACCEPTED;
121
122
- pfcp_message.h.type = type;
123
- return ogs_pfcp_build_msg(&pfcp_message);
124
+ pfcp_message->h.type = type;
125
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
126
+ ogs_expect(pkbuf);
127
+
128
+ ogs_free(pfcp_message);
129
+
130
+ return pkbuf;
131
}
132
open5gs_2.4.9.252.11aac.202301240007.tar.xz/src/smf/n4-build.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/src/smf/n4-build.c
Changed
172
1
2
ogs_pkbuf_t *smf_n4_build_session_establishment_request(
3
uint8_t type, smf_sess_t *sess)
4
{
5
- ogs_pfcp_message_t pfcp_message;
6
+ ogs_pfcp_message_t *pfcp_message = NULL;
7
ogs_pfcp_session_establishment_request_t *req = NULL;
8
ogs_pkbuf_t *pkbuf = NULL;
9
10
11
smf_ue = sess->smf_ue;
12
ogs_assert(smf_ue);
13
14
- req = &pfcp_message.pfcp_session_establishment_request;
15
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
16
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
17
+ if (!pfcp_message) {
18
+ ogs_error("ogs_calloc() failed");
19
+ return NULL;
20
+ }
21
+
22
+ req = &pfcp_message->pfcp_session_establishment_request;
23
24
/* Node ID */
25
rv = ogs_pfcp_sockaddr_to_node_id(
26
27
&node_id, &len);
28
if (rv != OGS_OK) {
29
ogs_error("ogs_pfcp_sockaddr_to_node_id() failed");
30
+ ogs_free(pfcp_message);
31
return NULL;
32
}
33
req->node_id.presence = 1;
34
35
&f_seid, &len);
36
if (rv != OGS_OK) {
37
ogs_error("ogs_pfcp_sockaddr_to_f_seid() failed");
38
+ ogs_free(pfcp_message);
39
return NULL;
40
}
41
f_seid.seid = htobe64(sess->smf_n4_seid);
42
43
req->s_nssai.data = &sess->s_nssai;
44
}
45
46
- pfcp_message.h.type = type;
47
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
48
+ pfcp_message->h.type = type;
49
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
50
+ ogs_expect(pkbuf);
51
52
ogs_pfcp_pdrbuf_clear();
53
+ ogs_free(pfcp_message);
54
55
return pkbuf;
56
}
57
58
ogs_pfcp_urr_t *urr = NULL;
59
int i;
60
61
- ogs_pfcp_message_t pfcp_message;
62
+ ogs_pfcp_message_t *pfcp_message = NULL;
63
ogs_pfcp_session_modification_request_t *req = NULL;
64
ogs_pkbuf_t *pkbuf = NULL;
65
66
67
modify_flags = xact->modify_flags;
68
ogs_assert(modify_flags);
69
70
- req = &pfcp_message.pfcp_session_modification_request;
71
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
72
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
73
+ if (!pfcp_message) {
74
+ ogs_error("ogs_calloc() failed");
75
+ return NULL;
76
+ }
77
+
78
+ req = &pfcp_message->pfcp_session_modification_request;
79
80
if (modify_flags & OGS_PFCP_MODIFY_CREATE) {
81
ogs_pfcp_pdrbuf_init();
82
83
i++;
84
}
85
86
- pfcp_message.h.type = type;
87
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
88
+ pfcp_message->h.type = type;
89
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
90
+ ogs_expect(pkbuf);
91
92
if (modify_flags & OGS_PFCP_MODIFY_CREATE) {
93
ogs_pfcp_pdrbuf_clear();
94
}
95
96
+ ogs_free(pfcp_message);
97
+
98
return pkbuf;
99
}
100
101
ogs_pkbuf_t *smf_n4_build_qos_flow_to_modify_list(
102
uint8_t type, smf_sess_t *sess, ogs_pfcp_xact_t *xact)
103
{
104
- ogs_pfcp_message_t pfcp_message;
105
+ ogs_pfcp_message_t *pfcp_message = NULL;
106
ogs_pfcp_session_modification_request_t *req = NULL;
107
ogs_pkbuf_t *pkbuf = NULL;
108
109
110
modify_flags = xact->modify_flags;
111
ogs_assert(modify_flags);
112
113
- req = &pfcp_message.pfcp_session_modification_request;
114
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
115
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
116
+ if (!pfcp_message) {
117
+ ogs_error("ogs_calloc() failed");
118
+ return NULL;
119
+ }
120
+
121
+ req = &pfcp_message->pfcp_session_modification_request;
122
123
if (modify_flags &
124
(OGS_PFCP_MODIFY_CREATE|
125
126
}
127
}
128
129
- pfcp_message.h.type = type;
130
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
131
+ pfcp_message->h.type = type;
132
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
133
+ ogs_expect(pkbuf);
134
135
if (modify_flags &
136
(OGS_PFCP_MODIFY_CREATE|
137
138
ogs_pfcp_pdrbuf_clear();
139
}
140
141
+ ogs_free(pfcp_message);
142
+
143
return pkbuf;
144
}
145
146
ogs_pkbuf_t *smf_n4_build_session_deletion_request(
147
uint8_t type, smf_sess_t *sess)
148
{
149
- ogs_pfcp_message_t pfcp_message;
150
+ ogs_pfcp_message_t *pfcp_message = NULL;
151
+ ogs_pkbuf_t *pkbuf = NULL;
152
153
ogs_debug("Session Deletion Request");
154
ogs_assert(sess);
155
156
- pfcp_message.h.type = type;
157
- return ogs_pfcp_build_msg(&pfcp_message);
158
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
159
+ if (!pfcp_message) {
160
+ ogs_error("ogs_calloc() failed");
161
+ return NULL;
162
+ }
163
+
164
+ pfcp_message->h.type = type;
165
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
166
+ ogs_expect(pkbuf);
167
+
168
+ ogs_free(pfcp_message);
169
+
170
+ return pkbuf;
171
}
172
open5gs_2.4.9.252.11aac.202301240007.tar.xz/src/upf/n4-build.c -> open5gs_2.4.9.256.596a2.202301250006.tar.xz/src/upf/n4-build.c
Changed
81
1
2
ogs_pkbuf_t *upf_n4_build_session_establishment_response(uint8_t type,
3
upf_sess_t *sess, ogs_pfcp_pdr_t *created_pdr, int num_of_created_pdr)
4
{
5
- ogs_pfcp_message_t pfcp_message;
6
+ ogs_pfcp_message_t *pfcp_message = NULL;
7
ogs_pfcp_session_establishment_response_t *rsp = NULL;
8
ogs_pkbuf_t *pkbuf = NULL;
9
10
11
12
ogs_debug("Session Establishment Response");
13
14
- rsp = &pfcp_message.pfcp_session_establishment_response;
15
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
16
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
17
+ if (!pfcp_message) {
18
+ ogs_error("ogs_calloc() failed");
19
+ return NULL;
20
+ }
21
+
22
+ rsp = &pfcp_message->pfcp_session_establishment_response;
23
24
/* Node ID */
25
ogs_pfcp_sockaddr_to_node_id(
26
27
if (pdr_presence == true) j++;
28
}
29
30
- pfcp_message.h.type = type;
31
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
32
+ pfcp_message->h.type = type;
33
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
34
+ ogs_expect(pkbuf);
35
36
ogs_pfcp_pdrbuf_clear();
37
+ ogs_free(pfcp_message);
38
39
return pkbuf;
40
}
41
42
ogs_pkbuf_t *upf_n4_build_session_modification_response(uint8_t type,
43
upf_sess_t *sess, ogs_pfcp_pdr_t *created_pdr, int num_of_created_pdr)
44
{
45
- ogs_pfcp_message_t pfcp_message;
46
+ ogs_pfcp_message_t *pfcp_message = NULL;
47
ogs_pfcp_session_modification_response_t *rsp = NULL;
48
ogs_pkbuf_t *pkbuf = NULL;
49
50
51
52
ogs_debug("Session Modification Response");
53
54
- rsp = &pfcp_message.pfcp_session_modification_response;
55
- memset(&pfcp_message, 0, sizeof(ogs_pfcp_message_t));
56
+ pfcp_message = ogs_calloc(1, sizeof(*pfcp_message));
57
+ if (!pfcp_message) {
58
+ ogs_error("ogs_calloc() failed");
59
+ return NULL;
60
+ }
61
+
62
+ rsp = &pfcp_message->pfcp_session_modification_response;
63
64
/* Cause */
65
rsp->cause.presence = 1;
66
67
if (pdr_presence == true) j++;
68
}
69
70
- pfcp_message.h.type = type;
71
- pkbuf = ogs_pfcp_build_msg(&pfcp_message);
72
+ pfcp_message->h.type = type;
73
+ pkbuf = ogs_pfcp_build_msg(pfcp_message);
74
+ ogs_expect(pkbuf);
75
76
ogs_pfcp_pdrbuf_clear();
77
+ ogs_free(pfcp_message);
78
79
return pkbuf;
80
}
81