19082 Commits

Author SHA1 Message Date
Rainer Gerhards
c89113d531
core: add fromhost-port message property
Some deployments need to disambiguate multiple senders sharing an IP,
for example autossh or similar tunnel setups. Exposing the source port
improves observability and lets pipelines key on a stable tuple.

Impact: new property/JSON field; tcps_sess IF v4; out-of-tree modules
must rebuild.

Before: messages exposed fromhost and fromhost-ip only.
After:  messages also expose fromhost-port and jsonmesg includes it.

Introduce PROP_FROMHOST_PORT and wire it through msg.{h,c}. For TCP,
capture the remote port on accept, store it in tcps_sess, and attach it
to the msg on submit. For other inputs, resolveDNS derives the port from
the sockaddr when available; local inputs return an empty string. Add a
getter, duplication and destructor handling, and name<->ID mapping. Add
the field to jsonmesg output. Update docs, lexer keywords, and the
external plugin interface doc (property is modifiable). Bump
tcps_sessCURR_IF_VERSION to 4 and add SetHostPort() to the interface.
Include a focused test (fromhost-port.sh) that verifies the property.

Non-technical rationale: allow identification by (fromhost-ip,
fromhost-port) where IP alone is shared across systems (e.g., autossh).

With help from AI-Agents: ChatGPT
2025-09-09 14:29:39 +02:00
Rainer Gerhards
bc9a587de3 maintain ChangeLog 2025-09-09 12:07:58 +02:00
Rainer Gerhards
58926a8aab
CI: working towards better kafka coverage in codecov (#6103)
* CI: working towards better kafka coverage in codecov
2025-09-09 12:04:07 +02:00
Rainer Gerhards
e335ff2ae9
CI: nitfix in diag.sh (cosmetic) (#6102) 2025-09-09 11:35:21 +02:00
Ulrike Gerhards
2fd946680e
Codex/refactor rsyslog module parameter documentation mmrfc5424addhmac
* mmrfc5424addhmac: split parameter docs into reference pages

- Split action parameters into individual reference files
- Replace inline parameter list with summary list-table
- Add hidden toctree for new parameter pages

Co-authored-by: ChatGPT, gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-09-09 10:25:19 +02:00
Rainer Gerhards
8f838a397b
Merge pull request #6104 from rgerhards/ci-es-fix
CI: remove invalid codecov call from non-codecov test
2025-09-09 09:52:55 +02:00
Rainer Gerhards
5a7518a13e
CI: remove invalid codecov call from non-codecov test
This was a regression from a few days ago. Undoing it.
2025-09-08 17:46:01 +02:00
Rainer Gerhards
310b7227e1
Merge pull request #6100 from rgerhards/ci-codecov1
CI: provide CodeCov upload via github action
2025-09-08 16:30:19 +02:00
Rainer Gerhards
9e0ecb5f8d
ci: improve Codecov uploads; deflake kafka topics
Motivation: code coverage reports were incomplete. This lays a better
base for consistent reporting via GitHub Actions, with room for follow-ups.
It also removes a test flake source in Kafka jobs.

Impact: CI/tests only; no runtime behavior or ABI changes expected.

Before: Coverage uploads were inconsistent; Kafka tests could hang while
reading from /dev/urandom to generate topic names.
After: Coverage is collected with lcov and uploaded via a dedicated GH
Action; Kafka topics use fast $RANDOM-based hex, avoiding early-boot
entropy stalls.

Technical details:
- Add two workflows: "codecov base" and "codecov kafka" on Ubuntu 24.04.
  Use lcov capture with unexecuted blocks and prune common noise; upload
  with token for same-repo PRs and tokenless for forks.
- Update .codecov.yml: add path fixes for container (/rsyslog) and
  runner layouts; explicitly set comment: false and patch: false.
- Bump actions/checkout to v4 in existing workflows; add an actionlint
  job to catch YAML problems early.
- Switch codecov jobs in container matrix to 24.04 images.
- Improve run-ci.sh lcov invocation to be more tolerant of line/macro
  mismatches.
- Testbench: replace /dev/urandom topic generation with 8-char hex from
  $RANDOM; adjust diag.sh path/quoting for zookeeper helper.
2025-09-08 16:02:01 +02:00
Rainer Gerhards
f21eea8a1d
maitain ChangeLog 2025-09-06 17:57:06 +02:00
Rainer Gerhards
879b582baa
Merge pull request #6097 from rgerhards/codex/check-implementation-status-of-feature-request
rainerscript: add toupper() function
2025-09-06 17:51:57 +02:00
Rainer Gerhards
b463c137e7
Merge pull request #6099 from rgerhards/codex/fix-partial-executable-path-warning
doc: document git path resolution
2025-09-06 17:32:22 +02:00
Rainer Gerhards
cc342c8f99 doc: document git path resolution
Add a comment explaining why the git executable is resolved with\nshutil.which and used for all subprocess calls.\n\nAI-Agent: ChatGPT
2025-09-06 17:29:48 +02:00
Rainer Gerhards
7d3b9c454c
CI: add test for rainerscript tolower() function
This was obviously untested so far.
2025-09-06 17:08:53 +02:00
Rainer Gerhards
ca34dc31cd
rainerscript: add toupper() function
Add a RainerScript function to convert strings to uppercase. The
implementation mirrors tolower() but operates per-byte using
toupper(). Tests demonstrate the new function, documentation and
ChangeLog entries added.

closes: https://github.com/rsyslog/rsyslog/issues/3666

With the help of AI-Agent: ChatGPT
2025-09-06 17:08:35 +02:00
Rainer Gerhards
2ca807fe09
Merge pull request #6098 from rgerhards/dev-dockerfiles
CI: update development containers
2025-09-06 14:15:31 +02:00
Rainer Gerhards
bab714c5b2
CI: update development containers
- newer distro versions
- no longer cache third-party dependencies
- imhttp support improved
2025-09-06 14:12:16 +02:00
Rainer Gerhards
07dd4f46ff
Merge pull request #6096 from rgerhards/tsan-disable-imhttp
CI: disable TSAN chekcs for imhttp which fail due to civetweb
2025-09-06 11:32:32 +02:00
Rainer Gerhards
a62f50fa2c
maintain ChangeLog 2025-09-06 11:26:05 +02:00
Rainer Gerhards
8d3f1adde3
Merge pull request #6094 from aliask/clang-format-18
devtools: Specify usage of clang-format-18 to pin v18
2025-09-06 11:22:50 +02:00
Rainer Gerhards
1965b506e5
CI: disable TSAN chekcs for imhttp which fail due to civetweb
The civetweb library is not packaged in a thread-safe way and as such
TSAN always fails due to a civetweb data race by calling gmtime.
Nothing to do so far against that.
2025-09-06 11:07:27 +02:00
Will Robertson
ecda645380
devtools: Specify usage of clang-format-18 to pin v18 2025-09-06 10:34:23 +10:00
Rainer Gerhards
72d54c8fa8
Merge pull request #6092 from rgerhards/sid
CI: replace debian 11 with sid in test runs
2025-09-05 18:33:48 +02:00
Rainer Gerhards
a9168ea4bb
Merge pull request #6091 from alorbach/pr/makefile4distdoc
doc: restore missing doc files in configure.ac
2025-09-05 17:54:12 +02:00
Rainer Gerhards
3533ee07b5
Merge pull request #6089 from rgerhards/codex/find-functions-using-classic-c-f-calling-sequence
misc: add void parameter lists
2025-09-05 17:48:05 +02:00
Rainer Gerhards
057de60f3c
CI: replace debian 11 with sid in test runs
We try sid to gain early access to new compiler versions. It needs
to be show if sid causes too many false positives (due to its own
instability) and if we manage to regenerate the compiler frequently
enough.
2025-09-05 17:44:49 +02:00
bbfb8d369a doc: restore missing doc files in configure.ac
The docs build has been failing because doc/source/conf_helpers.py was
removed, but Sphinx imports it from conf.py. This reintroduces the
helper module so the documentation can be built again.

Regression introduced by:
ba762b6533

Impact: restores local and CI doc builds; no runtime behavior change.

Before: sphinx-build failed with ImportError for conf_helpers.
After:  sphinx-build completes successfully.
2025-09-05 16:01:59 +02:00
Rainer Gerhards
fa37067f0d misc: add void parameter lists 2025-09-05 09:35:26 +02:00
Rainer Gerhards
3014c2f02c
Merge pull request #6088 from rgerhards/codex/update-codecov-methods-in-run_checks-yaml
devtools: use codecov uploader in CI script
2025-09-05 09:19:37 +02:00
Rainer Gerhards
3a774608ec
Update devtools/run-ci.sh
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-09-04 18:29:22 +02:00
Rainer Gerhards
f91c94a15b
Merge pull request #6087 from rgerhards/codex/analyze-imhttp.c-for-thread-safe-calls
imhttp: guard handler registration
2025-09-04 18:24:18 +02:00
Rainer Gerhards
70455b8960
devtools: use codecov uploader in CI script
Replace deprecated bash uploader with Codecov's official uploader.
The script now downloads the uploader binary, verifies its SHA256
checksum, and runs it to submit coverage results.

The change keeps run-ci.sh CI-agnostic.

With the help of AI-Agent: ChatGPT
2025-09-04 17:59:49 +02:00
Rainer Gerhards
1e697cc7d3 imhttp: guard handler registration 2025-09-04 17:57:41 +02:00
Rainer Gerhards
76aa70a3b9
Merge pull request #6086 from rgerhards/kafkakat
CI: many kafkatests were not executed b/c kafkacat was renamed
2025-09-04 17:54:49 +02:00
Rainer Gerhards
697f7d8378
CI: many kafkatests were not executed b/c kafkacat was renamed
kafkacat has been renamed to kcat, as it looks for trademark issues.
Kafka module tests depend on that utility and are skipped if command
is not available. This was now always the case for newer development
containers.

Name was now adjusted in all tests.
2025-09-04 17:18:42 +02:00
Ulrike Gerhards
3f6ae5ad6a
Codex/refactor rsyslog parameter documentation ejsnoq (#6085)
* mmnormalize: split parameter docs into reference pages

- Split Module and Action parameters into dedicated reference files
- Replace inline blocks with list-tables and included summaries
- Add hidden toctree; remove legacy parameter section; fix anchors

With the help of AI-Agents: ChatGPT, Gemini
2025-09-04 17:10:10 +02:00
Rainer Gerhards
fe55b31521
Merge pull request #6083 from rgerhards/ci-journal-codecov
CI: upload coverage info for imjournal test run
2025-09-04 16:18:30 +02:00
Rainer Gerhards
22f0814bfc
CI: upload coverage info for imjournal test run 2025-09-04 15:52:12 +02:00
Rainer Gerhards
0245333dee
Merge pull request #6082 from rgerhards/codecov
CI: small update to codecov config
2025-09-04 14:04:36 +02:00
Rainer Gerhards
56c113d187
CI: small update to codecov config 2025-09-04 13:05:33 +02:00
Rainer Gerhards
2cfed79a41
maintain ChangeLog 2025-09-04 09:44:56 +02:00
Rainer Gerhards
89750bdae3
Merge pull request #5406 from schrotthaufen/libgcrypt-config-deprecated
WiP: Replace libgcrypt-config with pkg-config
2025-09-04 09:21:00 +02:00
Rainer Gerhards
176ebdd711
Merge pull request #6073 from rgerhards/mongo-fmt
code style: fix macro formatting
2025-09-03 15:34:46 +02:00
Ulrike Gerhards
22eed270db
Codex/refactor rsyslog parameter documentation (#6074)
* mmkubernetes: split parameter docs into reference pages

With the help of AI-Agent: ChatGPT
2025-09-03 15:18:42 +02:00
Rainer Gerhards
854b34cb0c
code style: fix macro formatting 2025-09-03 15:05:23 +02:00
Rainer Gerhards
a5b6c0f847
maintain ChangeLog 2025-09-03 14:57:36 +02:00
Rainer Gerhards
2c275bd547
Merge pull request #6018 from rsyslog/codex/update-omrelp-plugin-with-keepalive-options
omrelp: add TCP keepalive configuration
2025-09-03 14:50:05 +02:00
Rainer Gerhards
f1de428192
omrelp: add TCP keepalive configuration 2025-09-03 14:02:48 +02:00
Rainer Gerhards
08fe04bcf4
maintain ChangeLog 2025-09-03 14:01:14 +02:00
Rainer Gerhards
508a40ebb0
Merge pull request #6069 from alorbach/macos-fix-buildissues
runtime: fix Darwin build regressions
2025-09-03 13:58:32 +02:00