gprs header files from libosmogb are needed for osmo-pcap. This was the
reason why it was added as dependency to configure.ac in
$ git grep "osmocom/gprs"
The package is only still building for debian, because in debian
libosmocore is not split up, and for centos, because the rpm spec file
still lists the dependency.
This reverts commit 2c2eadcadf.
the spec.in files already stated so expicitly, since some files include
osmocom/gprs/*.h. Only some data types from there are used, so there's
no need in linking the lib. Even more, doing so makes the build fail
because there soft-linking symbols required to be implemented by
libosmogb are not implemented here.
Cfg files are moved to doc/examples like in other osmocom projects.
All the cfg files get installed into
$prefix/share/doc/osmo-pcap/examples/$subdir/, and 1 script per binary is
installed into /etc/osmocom.
Use GNUtls because it is GPL compatible and instead of mbedTLS seems
to have a working non-blocking I/O integration. GNUtls has various
issues that could not be resolved easily:
* Pick spdy as sub protocol
* gmt_time not randomized
* private key loaded to RAM (but not verified)
This is the beginning and not the end. Client support might need more
work with actual tls verification. Maybe more manual x509 cert
verification is needed and maybe client certs don't work at all. I try
to ignore renegotiation as I threw away the key.
Reload x509 creds and keys as they might have changed from one
connection to another.
To allow easily extracting or streaming the data to an external
analysis system, zeromq can be configured (and reconfigured). The
system works as fire and forget and no loss detection is present.
A simple go based client application is provided to subscribe to
Allow to inspect UDP messages and check for GPRS, NS, BSSGP
and then filter LLC frames. Parsing the vL datastructure with
the libpcap syntax is a pain. It could be done using BPF but
we do not want to use bpf asm to specify the entire ruleset.
I looked into using libepan/libwireshark but this has memory
issues and is painful too. So let's parse UDP, NS, BSSGP using
the info we already have. I tried a bit of editcap to generate
a bit of broken data. The length check might still be bad.
I used my crash_20100602.pcap file to count the LLC frames we
detect and compare that to wireshark it ended with the right
pcap add-filter gprs
can be used to enable the new filtering option after the OS
has received the packet.