Attention is currently required from: fixeria, laforge, pespin.
Hello Jenkins Builder, fixeria, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/36079?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Code-Review+1 by fixeria, Code-Review+2 by pespin
The change is no longer submittable: Code-Review is unsatisfied now.
Change subject: Fix critical bug in default TCP keepalive user timeout ......................................................................
Fix critical bug in default TCP keepalive user timeout
It turns out that our calculation of the TCP_USER_TIMEOUT value was flawed in several ways:
* there should have been parenthesis around the + operator (line->keepalive_probe_interval + line->keepalive_idle_timeout) as the keepalive_idle_timeout is in seconds, not milli-seconds.
* in the default case, all those values are configured to -1 (E1INP_USE_DEFAULT). This means we're using 1000 * -1 * -1 + -1 = 999 i.e. just below a second which clearly is not enough for a lossy satellite or wifi back-haul.
This fixes a regression introduced in Ia7659c209aea0d26eb37d31e771adc91b17ae668 (libosmo-abis >= 1.4.0) when TCP keepalive user timeouts became enabled by default.
The initial support for TCP_USER_TIMEOUT was merged in I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f (libosmo-abis >= 0.7.0) but since TCP keepalives were not yet enabled by default, only users with explicit TCP keepalive configuration in their config files would be affected - and then only of the second part of the bug (operator precedence).
In addition, let's print the actually-used values to the log, helping to spot unintended values.
Change-Id: Idca24d3e676a45d860d9eec60dc2097d8d87f3bf Closes: OS#6375 Related: OS#5785, SYS#6801 Fixes: Ia7659c209aea0d26eb37d31e771adc91b17ae668 --- M src/input/ipaccess.c 1 file changed, 56 insertions(+), 17 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/79/36079/3