Age | Commit message (Collapse) | Author | Files | Lines |
|
Related: SYS#5599
Change-Id: I3849060d703494ea43773c0208203f1fc206067f
|
|
Change-Id: I5d22083e40b5c95b2412e1dcb4aba4f023f54e23
|
|
... if --enable-werror is used
Change-Id: I8e6cdc40cb77777677e5ffbbf3bf9e5c32555b2c
|
|
Unfortunately "-std=c99" is not sufficient to make gcc ignore code that
uses constructs of earlier C standards, which were abandoned in C99.
See https://lwn.net/ml/fedora-devel/Y1kvF35WozzGBpc8@redhat.com/ for
some related discussion.
Change-Id: I79c51b78d1b055361f9ef5434361847353791d0d
|
|
Test the behavior fixed by Ie37585178ff27306d425b75d8e407b71f92f1cdc
Related: CID#275415
Related: SYS#5599
Change-Id: I994d0fb1f1435d2c27a8630a43fe106652ac6e41
|
|
Coverity Scan has brought my attention to a problem with decoding
repeated IEIs, where there are multiple struct members in the decoded
struct that these are decoded to.
Before this patch, gtlv aborts with an error as soon as the first struct
member for a given tag is full, not parsing following IEIs into
subsequent struct members.
After this patch, gtlv continues to look whether subsequent entries in
the message coding also decode the same tag, but to a different struct
member.
First commit without changing the gtlv regression test, to show that all
current tests still succeed. The test for this particular issue follow
in I994d0fb1f1435d2c27a8630a43fe106652ac6e41
Related: CID#275415
Related: SYS#5599
Change-Id: Ie37585178ff27306d425b75d8e407b71f92f1cdc
|
|
See Id8d997c9d5e655ff1842ec69eab6c073875c6330
Related: CID#275417
Related: SYS#5599
Change-Id: I63d52a4f5dba32d3a3887dd9c5e42e1695fb2aa3
|
|
See Id8d997c9d5e655ff1842ec69eab6c073875c6330
Related: CID#275417
Related: SYS#5599
Change-Id: I841da89112ccf70fcd0f60eb902445fb1712eb48
|
|
Introduce a maximum bound of memory access to the osmo_gtlv API.
Properly pass const-ness within the gtlv implementation. This patch adds
membof_const(). The following patch will add the non-const membof()
equivalent, which is not needed in this patch, yet.
Coverity CID#275417 drew my attention to the fact that the gtlv decoding
and encoding does not actually guard against access past the end of the
decoded struct.
We have not yet officially released libosmo-gtlv; also, osmo-upf and
osmo-hnbgw so far only use the libosmo-pfcp API, which "hides" the gtlv
API. Hence just change the API without a backwards compat shim.
Related: CID#275417
Related: SYS#5599
Change-Id: Id8d997c9d5e655ff1842ec69eab6c073875c6330
|
|
Related: CID#275414
Related: SYS#5599
Change-Id: I685855da8b6f373fdc62a3c75f7f2e0af2839617
|
|
Fix packaging, only.
Change-Id: I6ae6cf59e769214e11447107316d38fe5fad583d
|
|
Change-Id: I018caa584cb1f5fa1b2a7e6e6f9ec26e5b54eea7
|
|
Tag a new release with all the packaging fixes, so building libosmo-pfcp
for latest isn't failing anymore on obs.osmocom.org.
Related: OS#5654
Change-Id: I9a7be8342754fdbc21b83281c8ebcbf38112c61b
|
|
Require the same libosmocore version in configure.ac and rpm spec as
already set in debian/control.
Change-Id: I701f1aacca22a697f35aba0041a71945c5aea107
|
|
Only the -dev package of libosmo-gtlv should depend on other -dev
packages.
Change-Id: I4a7ba317e54f7f19d0947e95f7ab0b4f1e8fd43a
|
|
Follow what we are doing in other Osmocom rpm packaging by not building
and packaging static libraries.
Fix for rpmlint errors when building for OpenSUSE:
libosmo-gtlv-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/libosmo-gtlv.a
libosmo-pfcp-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/libosmo-pfcp.a
libosmo-gtlv-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-gtlv.a
libosmo-pfcp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-pfcp.a
(If we wanted to build with static libraries, we would need to use
-ffat-lto-objects to get rid of the second error.)
Related: https://github.com/rpm-software-management/rpmlint/issues/458
Change-Id: I49dd454afd8bd3473bcadbc8cd8724574011f886
|
|
Fixes the following rpmlint error:
[ 17s] libosmo-pfcp.src: E: summary-too-long (Badness: 200) libosmo-pfcp: PFCP protocol encoding and decoding, and generic PFCP endpoint implementation
[ 17s] The 'Summary:' must not exceed 79 characters.
also, coincidentally it fixes:
[ 17s] libosmo-pfcp.src: E: summary-not-capitalized (Badness: 20) libosmo-pfcp: PFCP protocol encoding and decoding, and generic PFCP endpoint implementation
[ 17s] Summary doesn't begin with a capital letter.
and the non-critical warning:
[ 17s] libosmo-pfcp.src: W: name-repeated-in-summary libosmo-pfcp
[ 17s] The name of the package is repeated in its summary. Make the summary brief and
[ 17s] to the point without including redundant information in it.
Related: OS#5653
Change-Id: I293f77849d50e68753b82d7b5476c19217ecc2de
|
|
Change-Id: I97245dd141c185b35ccfb5b262c1057a18eef07e
|
|
Change-Id: Ideff7942a3250fa6541cfa6252a1c2927afdfc45
|
|
Change-Id: Ic012f7b19a46ee38db0172b07bad2098567192b0
|
|
Related: CID#275418
Change-Id: Id79a84312b3ff8d562e26a525866b8bb09f9d0bf
|
|
Change-Id: I0de10d5331df128081d6b875e3ba9c0c3c32bd9f
|
|
Change-Id: Id8f6c80f13a09a3dedd4577fd1460f2f72faa8f8
|
|
Though these can never be used uninitialized, initialize to NULL to
avoid compiler warnings like:
pfcp_msg.c:188:66: warning: 'h_no_seid' may be used uninitialized
Change-Id: Icb338b200fe3186ccd7fd3f502c1723f60947190
|
|
Change-Id: Idcdffe4528370b8580a30fbdde6645ec5d814021
|
|
Change-Id: I8af60305543b06b74859e83b840b171d29af1abd
|
|
Change-Id: I380b1dd626b3e6a35f17ae09a6758bef59f51c84
|
|
Change-Id: I6b03624f3d93ad6b2551fb3ff673e7c7cb246f4c
|
|
Change-Id: Ie2fa0770b94af8637483434068b7c0df4b4272c6
|
|
Change-Id: Idea223e9b039241dd35c735922b8794573730fc3
|
|
Change-Id: Idcfd4421189c711f95926f7e66da3402c059dfff
|
|
Fix debian packaging, so far a copy-paste from osmo-upf.git crept in
here by accident.
Related: SYS#5895
Change-Id: Id7169fc67b4f8f77dfbeff9f199e6557ced67a53
|
|
Related: SYS#5599
Change-Id: Ia2818106fe257a237d1875034b77c1d4cb136fa1
|
|
I wrote '1:0:0', but we should start with '0:0:0', according to
https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
Since the packaging for this repository is not functional yet, i.e. it
was never packaged by anyone anywhere, i assume it is safe to go back
from '1:0:0' to '0:0:0'.
Related: SYS#5895
Change-Id: I5b80de2f486fdae62f0da1b74cb70dc9de7bb9cc
|
|
AFAICT, everything compiles just fine with -flto=auto.
Change-Id: I632cfd8deaaaa50f0ffba04aca4d422b7b51034e
|
|
There is no need to do so, this project has nothing to do with systemd.
Change-Id: I57d6c46a6b9aab161f7ccfa663c26ea2e7f05e7b
|
|
Change-Id: I72b2b62cfa232accb4f8ae114be40058ccd512c7
|
|
Change-Id: I71fc8dc78b8b10628ef0533c69e42c0298fb27df
|
|
Create m4/.gitkeep to eliminate the following warning:
aclocal: warning: couldn't open directory 'm4': No such file or directory
Add 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac to as suggested:
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac
Change-Id: Id9d605490c4b403b99ed54745838cc9f242030c3
|
|
After the final retransmission of a sent request, still keep the message
in the queue for its expiry period, so that a later response is matched
to the request.
The osmo_pfcp_msg.resp_cb() depends on the sent message to remain in the
queue until it times out. That was not the case in an earlier stage of
libosmo-pfcp development.
I noticed this during ttcn3 testing, where osmo-hnbgw continuously
resends PFCP Association Setup Requests, and fails to associate if ttcn3
happens to respond to the final retransmission of a request.
Related: SYS#5599
Change-Id: Iaca396891921f7057015ce6e1e4528b955757809
|
|
Code review requested that the API should use functions instead of
direct access to a struct.
I have moved all user provided config to a separate struct
osmo_pfcp_endpoint_cfg, to be passed to osmo_pfcp_endpoint_create().
Halfway through those changes, I am not so certain whether that is what
reviewers had in mind. It makes sense from the point of view to keep nr
of arguments passed to osmo_pfcp_endpoint_create() small, and to allow
changing the user provided config without requiring a new
osmo_pfcp_endpoint_create2() API function. Though that again has ABI
compat problems, and makes no sense from the point of view that all
access should be done via API functions.
Personally I don't really agree with this change, which is probably the
reason why this patch ended up this way.
Related: SYS#5599
Change-Id: If80c35c6a942bf9593781b5a6bc28ba37323ce5e
|
|
Looking at the osmo_pfcp_msg_alloc API with a bit of distance now, I
found that:
- it is confusing to have a single function for req and resp. A resp
may pass remote_addr as NULL, and a req may pass in_reply_to as NULL.
Make this much more obvious with separate req/resp functions.
- the osmo_pfcp_endpoint_tx() implicitly puts the local Node ID into
sent PFCP messages, so the local_node_id arg for msg alloc is
redundant. Drop that.
Refactor without backwards compat, because we have not yet officially
released this API. This requires a fixup patch to osmo-upf.git (and
affects unmerged patches to osmo-hnbgw.git).
Related: SYS#5599
Related: I73e6da3b80f05e9408c81f41ac05d6578b8e31cf (osmo-upf)
Change-Id: I0d71134e42932cc72992eba73a15e82bc7cd11bd
|
|
s/MSGT/TIMER
Related: SYS#5599
Change-Id: Iaecce86064b65aa003e9903d09f60d760e0689c3
|
|
Having separate callbacks for request and response messages makes for
an easier read. No functional change.
This applies code review from
https://gerrit.osmocom.org/c/osmo-upf/+/28244
Ic8d42e201b63064a71b40ca45a5a40e29941e8ac (osmo-upf.git)
Related: SYS#5599
Change-Id: Ic8ab71f5efd4cf669689a0b075f9a52ce66bdd5d
|
|
osmo_timer_schedule() takes (*timer, seconds, microseconds), so
the last argument must be in microseconds, not milliseconds.
Change-Id: I1e0b319033415e42ca7f4da9bae348c5cb1da38c
|
|
Will be used by osmo-hnbgw, our first PFCP Control Plane entity. The
implementation is generic enough that it can be re-used by other CP
entities.
Related: SYS#5895
Change-Id: If8c5f69f596ea6ba8bd1723f4dc57b91d3799795
|
|
Related: SYS#5599
Change-Id: Iacaeebfad0fe77788da40c3ed7da2ffa3b27043c
|
|
The first user of this is osmo-hnbgw, to implement GTP mapping via a
UPF.
Related: SYS#5895
Change-Id: If4465095000a898296d69d5b725507f909c87aa3
|
|
Related: SYS#5895
Change-Id: I9f4651b6bee457583aba99052dc82bbf675515e6
|
|
Related: SYS#5599
Change-Id: Ic8d42e201b63064a71b40ca45a5a40e29941e8ac
|