Commit Graph

202 Commits

Author SHA1 Message Date
Pau Espin 97c5c0c15c Bump version: → 0.4.1
Change-Id: I98918597c0e3823f14aacd9e84d8b9b10f68e71d
2023-02-07 17:11:46 +01:00
Vadim Yanitskiy af54579bd4 doc/manuals: update git URLs (git -> https; gitea)
Change-Id: I5d510f324f59303c79c3a0fb2c15f79e7cb3a8c4
2022-10-18 17:18:56 +07:00
Max 36061e0d37 Set working directory in systemd service file
By default systemd will execute service with root directory
(or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it
to 'osmocom' subdir of state directory
(/var/lib for system instance) instead.

Related: OS#4821
Change-Id: I39c48167cbe74b599c8edc3659e787792cbcfdfd
2022-09-09 22:47:13 +07:00
Pau Espin bddebaecb2 Bump version: → 0.4.0
Change-Id: Id9d5ef30ddbeb644cfbd98383a8764435576cbfe
2022-06-28 17:36:44 +02:00
Pau Espin 5364393417 .gitignore: blacklist configure~
Change-Id: Ic31044e997c1d2213a89e5c7c051814373c454bd
2022-06-28 17:36:02 +02:00
Harald Welte 57be1059bd update git URLs (git -> https; gitea)
Change-Id: I6e679bde473cebb98e9521b35dc3c5da3672e5a9
2022-06-18 12:29:01 +02:00
Pau Espin a55253f438 client: Add 'wqueue max-length <0-4294967295>' VTY command
This allows setting a suitable write-queue max length per client. The
desired value can be different based on a lot of variables, like memory
availabilty, network and CPU load, input/output link state, etc.

Related: SYS#5921
Change-Id: I4e9d5d836ddda215f9e7a075aa8e10d2d3854dd2
2022-04-14 18:32:23 +02:00
Pau Espin 50dcc15a2e client: Log wqueue capacity when failing to enqueue
Related: SYS#5921
Change-Id: Ie5f39fe679906a15f74490cd8554b18b9d1e0664
2022-04-14 18:30:33 +02:00
Pau Espin 6bbda89308 client: Increase wqueue transmit length
Having a length of 10 packets is too low, it can be filled easily under
high load or really bursty traffic, where the input path could be polled
multiple times while the output path (write socket poll) is not called.

Related: SYS#5921
Change-Id: I72babfcc31e12624f30c16450dafd988192148be
2022-04-14 17:57:14 +02:00
Pau Espin d72581492f Bump version: → 0.3.0
Change-Id: I7a4c45817dd3db7471b98b4db3b7bd2d4f3c240d
2022-01-13 10:06:14 +01:00
Pau Espin b9be6767ab server: Add vty command file-permission-mask
Related: SYS#5792
Change-Id: I78e0b56b38de438ee5fb679ae41c65b02ea2e722
2022-01-12 17:44:38 +01:00
Oliver Smith 235eba3e9b Revert " don't depend on libosmogb."
gprs header files from libosmogb are needed for osmo-pcap. This was the
reason why it was added as dependency to in

  $ git grep "osmocom/gprs"
  src/osmo_client_core.c:#include <osmocom/gprs/gprs_bssgp.h>
  src/osmo_client_core.c:#include <osmocom/gprs/protocol/gsm_08_16.h>
  src/osmo_client_core.c:#include <osmocom/gprs/protocol/gsm_08_18.h>

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.

Change-Id: Ic358956521230a2f6525533779c27417b2e86833
2021-12-13 12:39:13 +01:00
Harald Welte 2c2eadcadf don't depend on libosmogb.
There is nothing in osmo-pcap that relates to the Gb interface

Change-Id: I079013b288c0585c32a3e3883a585460b4c3e616
2021-12-11 10:50:38 +01:00
Vadim Yanitskiy b9392bfde0 debian/control: minimum version for libzmq3-dev is 3.2.2
We require this version in 'contrib/', and should here too.

Change-Id: If76b4fcb8863ad5468a77113ad25142fe1145cda
2021-11-16 12:57:16 +00:00
Pau Espin 02d9d05143 Bump version: → 0.2.1
Change-Id: I345f288218a6459ffbadc5cae9feaf708c2188eb
2021-11-16 13:40:07 +01:00
Pau Espin 30bc1885e4 Explicitly depend on required libosmogb
the 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.

Related: OS#5311
Change-Id: I9a8fa03cef1efc9fdaea65ee63ca9b3379993989
2021-11-16 13:36:14 +01:00
Oliver Smith eedd83c113 Change default ports of client, server
Resolve conflict with other Osmocom software by moving ports:

osmo-pcap-client 4237 -> 4227
osmo-pcap-server 4238 -> 4228

Notably the defines OSMO_VTY_PORT_PCAP_CLIENT and _SERVER are currently
not provided by libosmocore, but will be added with the related commit.

Related: OS#5203
Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d
Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c
2021-08-05 19:24:02 +02:00
Oliver Smith 22f3d95ac9 fix typo
Change-Id: I624e491dda95449b879f362ed98784adf604ba2b
2021-08-05 18:52:43 +02:00
Pau Espin ef92a539e8 Use new stat item/ctr getter APIs
Generated with spatch:
expression E1, E2;
- &E2->ctr[E1]
+ rate_ctr_group_get_ctr(E2, E1)

Change-Id: Ic860db04489e9ee7312edb008497186116f30bfc
2021-06-04 18:01:06 +02:00
Harald Welte 6e564a97b9 Bump version: 0.1.3 → 0.2.0
Change-Id: Ic36b541fa4000c352927e721397a081ccc709b73
2021-04-24 23:03:34 +02:00
Harald Welte 8b73a2a530 vty: call telnet_init_dynif() after config file is read
In case the config file specifies a vty bind address, we must read
it before we start the telnet server.

Change-Id: I44561754d4beaad5c74cb66994ca4ef38960ea78
2021-04-24 16:09:09 +02:00
Harald Welte dd1389c3d3 use telnet_init_dynif() to allow VTY bind to non-loopack address
Prior to this patch, you could configure 'bind' in the
config file, but the telnet interface still binds to

Change-Id: I9b86b2cf6949917c55ea15277619cfa2b745185d
2021-04-24 13:00:41 +02:00
Harald Welte 9148d49841 client: Ensure the "file" header is sent on connect
A non-blocking STREAM socket connect() will mark the socket as
write-able once the connection succeeds.  However, as we first
call osmo_fd_setup() and then osmo_sock_init2_ofd(), the latter
will force the 'when' to OSMO_FD_READ and hence the write callback
will not be called.

Change-Id: I44c484b48966a985a9b85fb16122a17df5666bc1
2021-04-23 14:02:11 +02:00
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/ 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 <>
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.3
Change-Id: I9287411a7c1f69ddc6211c2557d41dd533c84ff9
2021-02-23 13:19:37 +01:00
Oliver Smith 288c39be10 set -std=gnu11
Change-Id: I52c86f461edd96d810fb85a60c68be581caa1799
2021-01-27 17:52:22 +01:00
Harald Welte 72cc2a508d reformat debian/control for compatibility
If we have more than one dependency in the line,
fails with
ERROR: <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 EXTRA_DIST: debian, contrib/*
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:

Related: OS#4550
Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7
2020-05-14 11:49:52 +02:00
Pau Espin d8368cebf8 Bump version: → 0.1.2
Change-Id: Ia47cff102c66902d17d92ecfe34018ebd86c5f55
2020-01-02 20:19:28 +01:00
Oliver Smith 7aa63021b6 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: 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 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: fix typo
Change-Id: I2df3235bade659d62cf179c680a958baabacaa51
2019-12-10 15:30:29 +01:00
Pau Espin 5e10f1db12 Bump version: → 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