If the 'output' setting of omprog was used and rsyslog received a HUP
signal just after starting (and before the omprog action received the
first log to process), an internal assertion could fail, causing
rsyslog to terminate. The failure message was "rsyslogd: omprog.c:660:
closeOutputFile: Assertion `pCtx->bIsRunning' failed."
The failure could also occur if rsyslog received a HUP signal during
the shutdown sequence.
This bug was introduced in v8.2004 by PR #4255.
Although a test already existed that checked the interaction of HUPs
with the 'output' setting, it didn't always fail in this particular case
due to timing conditions. The test has been improved to cover this case
more reliably.
Adapt one of the omprog tests to the latest improvements in the
testbench framework, for consistency with other similar tests. The test
behaviour has not changed.
Add some temporary files created by the testbench to gitignore file.
First issue was an incorrect packet length in UDP Header. It has to be the FULL UDP Packet
regardless of the MTU Setting. As a result regardless of IP fragmentation, the MTU setting
also limited the siizmax size of the UDP message.
The second issue was incorrect calculation of the UDP Checksum with libnet if
IP fragmentation was used (Based on MTU Setting). As a result, the network packets were
dropped by the tcp stack before they even could reach there target. The workarround for this
problem is, that we set the UDP Checksum to 0x0000 which allows skipping of the checksum
test. Fixing the problem by calculating the correct UDP Checksum would require some
code changes in the libnet.
Also fixed the omudpspoof bigmsg test and increased the testing size to 16KB.
The check was done in strmPhysWrite before which caused syslog
messages to split in the middle if the syslog message batch exceeded
the default IO Buffer size.
closes: https://github.com/rsyslog/rsyslog/issues/4233
Disable use of "@SECLEVEL" in default cipher string and
avoid SSL_CONF_CTX_set_flags() API when LIBRESSL is used.
This means tlscommands will not work.
closes: https://github.com/rsyslog/rsyslog/issues/4210
We have some false positives with imfile checks and this commit
both improves the testbench framework slightly and adds debug
info.
The debug info should be remove when we finally find the cause
of the issue, but it does not hurt if it stays for a quite a
while. Thus we can analyze the false positives over an extended
period of time - what is what it looks like we need to do to
find the root cause.
- topic check was done on wrong (hardcoded topic)
- rsyslog_out_log was overwritten by kafkacat check which caused the
seq_check to fail at the end.
closes: https://github.com/rsyslog/rsyslog/issues/4134
We use the test_id to generate unique files during parallel
runs. So far we used a combination of ms-based timestamp and
hash of test name. Practice shows that under some circumstances
the generated ids are not unique and thus test get file conflicts
and false positives.
This is now changed so that the test_id we add 4 bytes of random
data to the test ID. This is hopefully sufficient to make the IDs
of test runing in parallel unique.
This was accidentally set to "no". Test for imfile should by
default run when imfile is enabled.
We also temporarily disable the failing tests - this makes
it posible to run the remaining tests during CI and prevent
future errors. That is better than nothing. Tests are to be
re-enabled when the imfile bug mentioned below is fixed.
see also https://github.com/rsyslog/rsyslog/issues/4120
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
CI systems cancel out runs that are stalled. Unfortunately, it is very
hard to find the test that caused the stall. This commit extends the
toolset to detect logs without a matching .trs file, which is a strong
indication of an aborted test.
This alos modernizes some tests in order to remove sample *.log files
which would otherwise always clutter log output.
Thanks to Michael Biebl for his help on this issue.
This patch also contains some slight test modernization and
a "name fix" for a non-valgrind test.
closes https://github.com/rsyslog/rsyslog/issues/3853
when rsyslog is HUPed immediately after startup and before it is fully
initialized, there is a potential race with the list of loaded modules.
This patch ensures no bad things can happen in that case.
Detected by LLVM TSAN, not seen in practice.
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>