Debian Patches

Status for rsyslog/8.2604.0-4

Patch Description Author Forwarded Bugs Origin Last update
Don-t-create-a-database.patch Don't create a database
dbconfig-common, which is used by rsyslog-mysql and rsyslog-pgsql, takes
care of creating the database for us.
Michael Biebl <biebl@debian.org> no 2014-03-13
Increase-timeouts-in-imfile-basic-2GB-file-and-imfile-tru.patch Increase timeouts in imfile-basic-2GB-file and imfile-truncate-2GB-file

Those tests can take a long time, especially on slow architectures like
armhf, so bump the test timeouts considerably.
Michael Biebl <biebl@debian.org> no 2020-02-28
Skip-tests-based-on-omfwd-lb-1target-retry-test_skeleton..patch Skip tests based on omfwd-lb-1target-retry-test_skeleton.sh and omfwd-lb-1target-retry-test_skeleton-TargetFail.sh

Those tests appear to be flaky and fail rather often on
reproducible-builds.org, especially on arm64.

See https://github.com/rsyslog/rsyslog/issues/6308
Michael Biebl <biebl@debian.org> no 2025-11-19
Skip-imfile-logrotate-async.sh.patch Skip imfile-logrotate-async.sh
This test appears to be flaky and fails rather often on
reproducible-builds.org.

See https://github.com/rsyslog/rsyslog/issues/6293
Michael Biebl <biebl@debian.org> no 2025-11-23
ratelimit-preserve-severity-sentinel-on-s390x.patch ratelimit: preserve severity sentinel on s390x
Why:
Named ratelimits use severity -1 as the default sentinel for all
messages. On s390x and other unsigned-char architectures that sentinel
was stored through intTiny, turning it into 255 and disabling matching
for normal syslog severities.

Impact:
Fixes named ratelimit tests and runtime behavior on unsigned-char
architectures.

Before/After:
Before, named ratelimits could pass every normal message; after, the
-1 sentinel remains intact and the limiter drops messages after burst.

Technical Overview:
Store ratelimit shared severity as int instead of intTiny.
Keep ratelimitAddConfig and ratelimitSetSeverity using int values.
Keep policy-file severities as int values, including the -1 sentinel.
Allow policy-file severity -1 while interval and burst stay nonnegative.
Validate severity and interval/burst ranges separately so unsigned
limits do not rely on casting UINT_MAX to long on 32-bit or mixed ABIs.
Remove the intTiny cast from ratelimit() config handoff.
The shared load/store helper still uses the existing atomic-or-mutex
pattern; only the field width changes.

Fresh s390x proof on current main reproduced issue 6666:
imudp_ratelimit_name.sh received 20/20 messages.
ratelimit_name.sh received 40/40 messages.
imrelp_ratelimit_name.sh received 20/20 messages.

Solaris buildbot proof during PR validation found a follow-up parser
issue in the first amendment: ratelimit_hup.sh rejected interval 1 and
burst 1000 because UINT_MAX was cast to long for the upper-bound check.
The branch now avoids that lossy cast.

Validation on the fixed branch:
bash devtools/format-code.sh
git diff --check
make -j$(nproc) check TESTS=""
./tests/ratelimit_hup.sh
./tests/imudp_ratelimit_name.sh
./tests/ratelimit_name.sh
./tests/imrelp_ratelimit_name.sh
s390x QEMU make -j2 check TESTS=""
s390x QEMU ./tests/imudp_ratelimit_name.sh
s390x QEMU ./tests/ratelimit_name.sh
s390x QEMU ./tests/imrelp_ratelimit_name.sh
Temporary native ratelimit_hup.sh variant with policy severity -1

See also https://github.com/rsyslog/rsyslog/issues/6666

With the help of AI-Agents: Codex
Rainer Gerhards <rgerhards@adiscon.com> no 2026-05-05
queue-quarantine-runtime-disk-corruption-safely.patch queue: quarantine runtime disk corruption safely
Why:
Disk and disk-assisted queues must not leave stale corrupted queue
segments live after runtime dequeue corruption. The disk-assisted child is
also a real disk queue, so it needs the same corruption semantics as a
queue configured directly as disk.

Impact:
Safe-mode corruption recovery now quarantines unread runtime queue tails
for pure disk and disk-assisted queues and logs visible recovery messages.

Before/After:
Before, some runtime corruptions could fall back to invalid .qi recovery
or leave DA disk child handling inconsistent; after, unread corrupted
tails are quarantined and fresh queue state is constructed.

Technical Overview:
Propagate queue.onCorruption from the DA parent to the disk child.
Apply bounded runtime corruption recovery to DA disk children as well as
pure disk queues.
Keep the existing single-record invalid .qi recovery path separate so the
legacy DA .qi test still exercises that scenario.
Reset disk state after quarantine without double-subtracting imdiag queue
counters, and subtract skipped logical tail records explicitly.
Add pure disk and DA segment-corruption tests that verify quarantine,
user-visible messages, and fresh live queue files only.
Document that DA mode is an in-memory parent plus a first-class disk
child with normal disk queue semantics.

With the help of AI-Agents: Codex

(cherry picked from commit 8350f0c8c903afcea20ae33f6fe2d4dedf3af2ba)
Rainer Gerhards <rgerhards@adiscon.com> no 2026-04-25

All known versions for source package 'rsyslog'

Links