Commit Graph

179 Commits

Author SHA1 Message Date
Harald Welte 831494ed34 use osmo_wqueue_enqueue_quiet() as we log anyway
There's no need in both libosmocore and osmo-pcap-client logging
the same queue overflow twice.

Change-Id: I43881f2bd0b0870a51f9ca5dad2d8cba40d1e54b
2021-04-23 13:27:11 +02:00
Vadim Yanitskiy 69ce121c6c contrib/jenkins.sh: fix: pass '--enable-manuals' to configure
Currently `make publish` fails on Jenkins because there is nothing
to publish.  In [1] we simply forgot to pass '--enable-manuals'
if $WITH_MANUALS is set to 1, so no PDFs are built.  Fix this.

Change-Id: I85dfecf2025a0466fccfe5a1e63cda788f85992e
Fixes: [1] I28353f51de798535a3bb6efdc6c2da443d96ddfb
2021-04-18 21:14:21 +02:00
Harald Welte a663ed23b1 Add user manual for osmo-pcap
This adds one common user manual for both osmo-pcap-client
and osmo-pcap-server.

The manual is still basic in nature, but already contains useful
information regarding the setup of both clients and servers.

Change-Id: I66182fc55f1ee323eba45e7a7fc59db55bff520e
2021-04-18 15:25:01 +02:00
Harald Welte 8a119642ac update copyright statement; Holger worked on it until 2017
Change-Id: I7a39d4780d309f2dba99272c17bf1b9639760199
2021-04-18 14:26:07 +02:00
Harald Welte b0b2a2d542 add "--version" to osmo-pcap-client and -server
Change-Id: Ib82ee1a784a657f7274d78ba5f7a8afe6cfab395
2021-04-18 14:24:15 +02:00
Vadim Yanitskiy ff3f4b3bef vty_{client,server}_init(): remove unused argument
Change-Id: I65256c8602e91bcdbe5fe9e532b6ce7d347d3980
2021-04-16 20:30:18 +02:00
Vadim Yanitskiy d59783e601 vty: register commands for talloc context introspection
Change-Id: I3774cfd483102993340bd6e96f8512af61085679
2021-04-16 19:36:29 +02:00
Joachim Steiger 52f06fd54b manuals: generate VTY reference for osmo-pcap-{client,server}
Change-Id: I28353f51de798535a3bb6efdc6c2da443d96ddfb
Tweaked-By: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
2021-04-16 19:29:31 +02:00
Harald Welte 611fd19fa3 vty: Add space after prompt, as customary
In all other programs, we have a space after the VTY prompt.

Change-Id: I7916c15cc34e41738a5716e4fefbb15e18f02fa7
2021-04-12 16:07:17 +02:00
Pau Espin Pedrol 06303a6dc5 Bump version: 0.1.2.9-288c-dirty → 0.1.3
Change-Id: I9287411a7c1f69ddc6211c2557d41dd533c84ff9
2021-02-23 13:19:37 +01:00
Oliver Smith 288c39be10 configure.ac: set -std=gnu11
Change-Id: I52c86f461edd96d810fb85a60c68be581caa1799
2021-01-27 17:52:22 +01:00
Harald Welte 72cc2a508d reformat debian/control for osmo-release.sh compatibility
If we have more than one dependency in the line, osmo-release.sh
fails with
ERROR: configure.ac <libosmocore, 0.11.0> does NOT match debian/control <Build-Depends:debhelper, 7.0.50~dh-autoreconfautotools-devlibpcap0.8-devpkg-configlibosmocore-devlibgnutls28-devlibzmq3-dev>!

Change-Id: I8ab9a24af6ac0e4610ecc0eca1d5f5b9e03ad445
2021-01-06 17:14:13 +01:00
Pau Espin 716a4db54c main: generate coredump and exit upon SIGABRT received
Previous code relied on abort() switching sigaction to SIG_FDL +
retriggering SIGABRT in case the signal handler returns, which would
then generate the coredump + terminate the process.
However, if a SIGABRT is received from somewhere else (kill -SIGABRT),
then the process would print the talloc report and continue running,
which is not desired.

Fixes: OS#4865
Change-Id: I39367aa480445fe961dcfa308789b3fc0cf759a1
2020-11-25 19:11:43 +01:00
Harald Welte 5899cb4fbf Use osmo_fd_*_{disable,enable}
Change-Id: I97e100b34e9d26cf5acaa57be12879787d4d2d2b
Depends: libosmocore.git Idb89ba7bc7c129a6304a76900d17f47daf54d17d
2020-10-19 13:07:06 +02:00
Harald Welte a9600141b8 Use osmo_fd_setup() whenever applicable
Change-Id: I02097760e7c6a5694290f4b877013aee9d92fd0e
2020-10-19 13:06:44 +02:00
Harald Welte 20c6ba5a9e Use OSMO_FD_* instead of deprecated BSC_FD_*
Change-Id: I7d57919877520710b5dc1f54de1de89cae78093e
2020-10-18 22:39:39 +02:00
Oliver Smith f93e3dc1f8 Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in
Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9
2020-05-22 13:42:48 +02:00
Oliver Smith fd387ecec3 contrib: integrate RPM spec
Remove OpenSUSE bug report link, set version to @VERSION@, make it build
with CentOS 8 etc.

Related: OS#4550
Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13
2020-05-19 15:37:24 +02:00
Oliver Smith 9d5fadcc79 contrib: import RPM spec
Copy the RPM spec file from:
https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly

Related: OS#4550
Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7
2020-05-14 11:49:52 +02:00
Pau Espin d8368cebf8 Bump version: 0.1.1.4-7aa6 → 0.1.2
Change-Id: Ia47cff102c66902d17d92ecfe34018ebd86c5f55
2020-01-02 20:19:28 +01:00
Oliver Smith 7aa63021b6 osmoappdesc.py: switch to python 3
Make build and external tests work with python3, so we can drop
the python2 dependency.

Note that the external tests, which are using this file, are currently
not enabled in jenkins (OS#4317). However, I've manually verified that the
external tests work with this change.

Related: OS#2819
Depends: osmo-python-tests I3ffc3519bf6c22536a49dad7a966188ddad351a7
Change-Id: I19a996458745026cff60608710944e5ab76d8976
2019-12-11 09:38:21 +01:00
Oliver Smith 47ea18eb8e Cosmetic: README.md: document how to run tests
Mention the setcap command, that makes external tests work.

Related: OS#4317
Change-Id: Idc18925f0b71164b52248ca9312b997681d15241
2019-12-10 15:39:50 +01:00
Oliver Smith fdd62daa66 osmoappdesc.py: fix paths to configs
This makes external tests work again.

Related: OS#4317
Change-Id: I73ab32ea48ddfc1b017c8152ec4e95a9ed4f1d7b
2019-12-10 15:39:36 +01:00
Oliver Smith 380305ee09 Cosmetic: README.md: fix typo
Change-Id: I2df3235bade659d62cf179c680a958baabacaa51
2019-12-10 15:30:29 +01:00
Pau Espin 5e10f1db12 Bump version: 0.1.0.2-ce06 → 0.1.1
Change-Id: If517941429cc80419a80771f89f93a7a7ed2bc02
2019-08-07 13:12:48 +02:00
Pau Espin ce0660cfe1 Require libosmocore 0.11.0
Building against older versions fail for different reasons, newest one
being due to osmo_init_logging2 being added in 0.11.0.

Change-Id: Ic7f147c5a26b45b75931cfd8f662642f59a1d725
2019-08-07 13:11:03 +02:00
Pau Espin 210ed934bb Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
Since March 15th 2017, libosmocore API logging_vty_add_cmds() had its
parameter removed (c65c5b4ea075ef6cef11fff9442ae0b15c1d6af7). However,
definition in C file doesn't contain "(void)", which means number of
parameters is undefined and thus compiler doesn't complain. Let's remove
parameters from all callers before enforcing "(void)" on it.
API osmo_stats_vty_add_cmds never had a param list but has seem problem
(no "void"), so some users decided to pass a parameter to it.

Change-Id: I2e1ab7005514f1a06cac03e967aa5c8ea472e671
Related: OS#4138
2019-08-05 16:28:11 +02:00
Pau Espin 901543a788 Bump version: 0.0.11 → 0.1.0
Change-Id: I4f0d75163fcb7d8d9b5540f8970382ce873680d4
2019-07-16 19:01:16 +02:00
Pau Espin 300cb49540 debian/changelog: Mark 0.0.11 as released
Change-Id: I08a722be405f667797d180ec66e08ba0dc9f59d8
2019-07-16 04:07:09 +00:00
Oliver Smith d567571180 contrib/jenkins.sh: run "make maintainer-clean"
Related: OS#3047
Change-Id: Ieae88eec72801e143daa631e7d01a5e11e9befae
2019-07-10 12:30:53 +02:00
Oliver Smith e524725f9b gitignore: fix application names
Change-Id: I4ea6b6691a0e6cfb3de0c9d2b1a0c3ed68a18514
2019-07-04 15:35:05 +02:00
Pau Espin d68773c4dc tests/Makefile.am: Fix "./configure && make clean && make"
Without this patch, make check fails with following error:
No rule to make target 'atconfig', needed by 'check-local'

Changes needed to fix the issue were gathered by looking at differences
with libosmo-netif's Makefile.

Change-Id: Ie6698d1c1d36e2b8a5391bc2322c1632458751db
2019-07-04 12:21:33 +02:00
Harald Welte 407f7f9307 Fix compiler warning about deprecated _BSD_SOURCE
On (at least) Debian unstable I'm seeing the following compiler
warninig:

/usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
 # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

Apparently this was deprecated in glibc 2.20 released in 2014 (!)

Change-Id: I826189dec4107e7c3e8cf4c013316ef3014b7857
2019-01-26 17:39:19 +01:00
Harald Welte 066fc59ed0 change binary builds URL to network:osmocom as that's more maintained
Holgers' personal feed hasn't been updated for quite some time, and
we're building osmo-pcap as part of the normal latest and nightly builds
for quite some time now.

The only disadvantage compared to Holgers' personal feed is the lack of
support for RPM-based distributions (RHEL, CentOS, OpenSuSE).

Change-Id: Ic479c192ca259f01d422da3bd44443fe4160ccaa
2019-01-26 17:34:48 +01:00
Oliver Smith 5edc9b2382 contrib: fix makedistcheck with disabled systemd
EXTRA_DIST files need to be distributed, no matter if the systemd option
is configured or not.

Change-Id: I2fed90915f57bbb054a26bacecf8417d6f3ba5ce
2018-12-06 13:54:54 +01:00
Oliver Smith 14512ddae8 Fix DISTCHECK_CONFIGURE_FLAGS override
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am instead of
DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the
automake manual, as otherwise the flag can't be changed by the user
anymore.

Related: OS#3718
Change-Id: Iaac6d41ef1cc2d5449edf870f635b28b045dc7db
2018-12-04 15:44:40 +01:00
Pau Espin 3ad56f0408 debian: Install osmo_pcap_clean_old in osmo-pcap-server pkg
Change-Id: Ia4b031fdf54cde3d00818df82e89733420a735ba
2018-11-01 12:52:30 +01:00
Pau Espin a3a6ceb5f7 gitignore: Add compile
Change-Id: Ie801d6929068d11fafd24a1370e60e984b0137c2
2018-11-01 12:52:30 +01:00
Pau Espin 45283d84e3 Install cfg files with autotools
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.

Change-Id: If3f3a7d3867c0d4d2b1fe01f465532d1ce4bda66
2018-11-01 12:52:22 +01:00
Pau Espin b29f84ff6c Install systemd services with autotools
Change-Id: Id938f3dab4826ac748abb5e0b169d800c2a625a5
2018-11-01 12:51:39 +01:00
Pau Espin b96c957a22 debian: Clean up to look like other osmocom projects
Change-Id: Id71699642b799f5b2f8f3b794b9493ddaeb70cc0
2018-11-01 12:51:35 +01:00
Pau Espin 80d2b7b8dd contrib/jenkins.sh: Update to current osmocom infra
Otherwise builds end failing in osmocom jenkins/gerrit.

Change-Id: I955b99ce27df143f5d022619dd14e32b763e6c14
2018-11-01 12:42:54 +01:00
Pau Espin a82aaef507 server: Add pcap snaplen VTY cmd
Change-Id: I8fdcdc1a58926ec66a1dc5dc7a5e57ed4dceb4b4
2018-10-08 20:20:43 +02:00
Pau Espin 868a501213 server: Improve verification of messages from client
Take the chance to define SERVER_MAX_DATA_SIZE as pcap payload, which we
can later match to configurable snaplen parameter.

Change-Id: I45d4c59026faf1108c0976eb6ad8c270e3577dbf
2018-10-08 20:20:43 +02:00
Pau Espin b799344ecd client_send_link: snaplen not needed during allocation
We don't send any pkt data, so no need to allocate snaplen bytes extra.

Change-Id: I8d6385f6ff265564492121812a7a9f2bcfea3d5f
2018-10-08 20:20:43 +02:00
Pau Espin f946fa21ee client: Add pcap snaplen VTY cmd
Change-Id: I84fda9f27b725e031c218187ab679392dfa7ec3d
2018-10-08 20:20:43 +02:00
Pau Espin 168949e119 client: Set snaplen to MAXIMUM_SNAPLEN
Despite this value not being exported publicly, the truth is that
tcpdump and wireshark nowadays avoid processing any file with snaplen
bigger than this value:
"tcpdump: pcap_loop: invalid packet capture length 861244, bigger than
snaplen of 262144"
It also fails to set snaplen to values bigger than that:
"tcpdump -s 262145" --> "tcpdump: invalid snaplen 262145"

pcapfix also warns about wrong packet length if bigger than same value
(defined as PCAP_MAX_SNAPLEN there).

MAXIMUM_SPANPLEN is defined in tcpdump's netdissect.h and libpcap's
pcap-int.h. It is also defined as WTAP_MAX_PACKET_SIZE in
wireshark/wiretap/wtap.h (this one being the only publicly available).

Change-Id: Ib7449d5aba9da342c150704ebd0e1f09e7f7276c
2018-10-08 20:20:43 +02:00
Pau Espin db7be44632 Use enum for PKT_LINK_*
Makes it easier to understand different types and how they relate to
same field.

Change-Id: I1bec4d5d132a1476f9c418502ad808b7c778cee2
2018-10-08 20:20:43 +02:00
Pau Espin f10c57801a Replace '.' in counter names with ':'
The '.' is illegal character in counter names, as they are exported
via CTRL interface, where '.' has a special meaning that cannot be
used by strings comprising the variable name.

Change-Id: Icec5338d3242137980fa05d2c7ae2db940afb542
2018-10-08 20:20:43 +02:00
Pau Espin 78262bda57 jenkins.sh: enable werror and sanitize configure flags
Change-Id: Id8ad324ae9e1c57e1328bd1be04977e921125847
2018-10-08 13:41:47 +02:00