19359 Commits

Author SHA1 Message Date
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
Cursor Agent
d7b6edb5d3 ci(docs): add PR preview workflow via Actions Pages
Publish PR previews for both `pull_request` and `pull_request_target`
events. Previously, the preview job only ran for `pull_request`, so runs
from `pull_request_target` were skipped.

Details
- Build Sphinx docs with rsyslog Makefile (make html, warnings-as-errors).
- Deploy preview to GitHub Pages under "pr-<num>/" using configure,
  upload, and deploy actions.
- Post/update PR comment with live preview and workflow/artifacts links.
- Cleanup preview folder on PR close.
- Grant required permissions (pages, id-token, issues, pull-requests);
  keep yamllint clean.
- Remove old "Deploy GitHub Pages" job.
- Trigger on both PR events; include event name in concurrency group to
  avoid cross-run cancellation.
- Checkout PR head SHA for PR events (fallback to github.sha).
- Gate heavy steps on `doc/**/*.rst` changes for both PR event types.
- Restrict publish to same-repo PRs; fork PRs remain excluded by policy.

Impact
- PR doc previews publish for same-repo PRs regardless of which PR event
  triggered the workflow.
- Non-doc PRs still skip heavy steps; no change in behavior there.

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-09-05 12:14:14 +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
Will Robertson
c0a899c4db
imdocker: Add image name to metadata fields 2025-09-04 08:07:28 +10: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
Rainer Gerhards
ce103822c9
Merge pull request #6072 from rgerhards/codex/implement-w-option-in-tcpflood.c
tests: add -w port file option to tcpflood
2025-09-03 13:56:22 +02:00
Rainer Gerhards
e5269fdc03
tests: add -w port file option to tcpflood
Adds -w option to tcpflood to write its local port to a file.
The option accepts a filename and writes the port number followed
by a trailing newline. tcpflood now rejects -w if more than one
connection would be opened.

With help of AI-Agent: ChatGPT
2025-09-03 13:20:58 +02:00
Rainer Gerhards
4d1d33fe4e
Merge pull request #6071 from UGerhards/codex/refactor-rsyslog-module-parameter-documentation-sft66w
Codex/refactor rsyslog module parameter documentation sft66w
2025-09-03 13:02:54 +02:00
Rainer Gerhards
caafe09b2a
Merge pull request #6067 from rgerhards/diag-more-verbose
CI: more verbose info on kafka/zookeeper install
2025-09-03 12:33:13 +02:00
e4042aa623 runtime: fix Darwin build regressions and improve BSD portability
Fix compilation issues on macOS/Darwin systems and enhance cross-platform
compatibility for BSD variants:

- Add Darwin-specific pthread_setname_np call in tcpsrv.c with enhanced
  platform-specific conditional compilation
- macOS (__APPLE__): Single parameter, returns int
- FreeBSD/NetBSD: Two parameters, returns void
- Linux/glibc (default): Two parameters, returns int

This prevents compilation failures across all BSD systems where the
function signature and return type differ, while maintaining existing
compatibility with macOS and Linux systems.

- Add _PATH_UTMP fallback definition in omusrmsg.c for systems
  without paths.h or missing _PATH_UTMP definition
- Remove trailing empty line in cfsysline.c for consistency

The change adds proper platform-specific conditional compilation
with clear documentation for each variant and maintains error
checking where the return value is available.

Impact: Fixes build regressions on Darwin and BSD systems while
preserving backward compatibility with existing platforms.

Refs: https://github.com/rsyslog/rsyslog/pull/6069
Refs: https://github.com/rsyslog/rsyslog/pull/5635
Refs: https://github.com/Homebrew/homebrew-core/issues/221869
Refs: https://github.com/Homebrew/homebrew-core/issues/226378
2025-09-03 12:29:19 +02:00
Ulrike Gerhards
60f4daf8e4 mmpstrucdata: fix action parameter anchors and casing
- correct action anchor IDs for jsonRoot and sd_name.lowercase
- use camelCase heading for jsonRoot and remove redundant version tag

AI-Agent: ChatGPT
2025-09-03 12:08:40 +02:00
Cursor Agent
8f038bc4ab Implement omhttp batching and performance improvements
- Improve batch sizing: predict serialized size including format overhead and separators to honor batch.maxbytes precisely, minimizing premature flushes and preventing oversize payloads.
- Add computeDeltaExtraOnAppend to check thresholds before appending each record.
- Fix dynrestpath batching: flush only when rest path changes; reinitialize and re-seed path for the next batch; free old path to avoid leaks.
- Preserve backward compatibility: existing config keys and formats unchanged; default retry via core suspend/resume; retry.ruleset supported for advanced per-message retry handling.
- Update module docs to reflect refined flush conditions, dynrestpath semantics, and default retry behavior.

see also: https://github.com/rsyslog/rsyslog/issues/5957
2025-09-03 09:26:35 +00:00
Ulrike Gerhards
32aa4b21ee mmpstrucdata: split parameter docs into reference pages 2025-09-03 09:55:08 +02:00
Rainer Gerhards
eb306ee15f
CI: more verbose info on kafka/zookeeper install
These comoponents have problems from time to time (e.g. tarball
no longer available); more verbose output makes simplyfies
diagnosis.
2025-09-03 09:49:52 +02:00
Rainer Gerhards
3319320644
maintain ChangeLog 2025-09-03 09:18:10 +02:00
Rainer Gerhards
3eedc02d6d
Merge pull request #5983 from rsyslog/codex/analyze-and-document-imhttp-module-for-prometheus
imhttp: expose stats via Prometheus endpoint
2025-09-03 09:17:03 +02:00
Rainer Gerhards
df8daa334b
Merge pull request #6066 from rgerhards/gemini-review-conf
CI: reconfigure gemmini code review bot
2025-09-03 09:15:28 +02:00
Rainer Gerhards
20a9c5da28
CI: reconfigure gemmini code review bot
It looks like our previous config was either for a pre-release or
did work albeit not following the (current) published schema.

Now changed it to current form.
2025-09-03 09:11:11 +02:00
schrotthaufen
8ba35bf6cd Add missing libraries to pkg-config call 2025-09-03 08:22:06 +02:00
Rainer Gerhards
75ef9b4f60
imhttp: optional auth + Content-Length for metrics/health
Harden default endpoints for cloud-native use: make health/metrics
scrapes proxy-friendly and allow locking them down with Basic Auth.
This aligns imhttp with common Kubernetes/Prometheus patterns and
supports metrics-only deployments.

Impact: /metrics now exports full rsyslog stats with Content-Length;
health and metrics can be gated via htpasswd; unified 500 on failures.

Technical details:
- Add module params: healthCheckBasicAuthFile and metricsBasicAuthFile.
  When set, attach a Basic Auth handler that reads an htpasswd file;
  reuse the same handler for per-input endpoints by passing the file via
  cbdata.
- Rework Prometheus handler to collect data through statsobj in
  Prometheus format. Accumulate lines into a growable buffer with
  overflow checks, append an imhttp_up gauge, then reply with an
  explicit Content-Length and close the connection.
- Fix metrics buffer termination to use a single NUL byte; prevent a
  leak when buffer growth fails; consolidate error paths so the buffer is
  freed and a single HTTP 500 is emitted.
- Docs: describe new auth options, clarify default paths, document that
  metrics responses carry Content-Length, and add examples (including
  metrics-only setups).

Before/After: metrics previously exposed a minimal body without auth;
now they export full rsyslog stats with optional Basic Auth and a
Content-Length header.
2025-09-03 08:14:46 +02:00
schrotthaufen
85e03c0e88 Replace libgcrypt-config with pkg-config
Libgcrypt 1.11.0 deprecated libgcrypt-config in favor for gpgrt-config,
which doesn't emit -lgcrypt. pkg-config does, though.

See also:
 * https://dev.gnupg.org/T7165
 * https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2db5b5e995c21c5bd9cd193c2ed1109ba9b1a440

This should fix #5405
2025-09-02 22:11:30 +02:00
Rainer Gerhards
87c1a4a32d
Merge pull request #6064 from rgerhards/ci_run-configure.ac-change
CI: run check actions also on configure.ac change
2025-09-02 22:10:59 +02:00
Rainer Gerhards
b85c188303 Merge branch 'v8-stable' 2025-09-02 22:08:33 +02:00
Rainer Gerhards
e7e4bd8698
CI: run check actions also on configure.ac change 2025-09-02 21:48:57 +02:00
Ulrike Gerhards
357344e0ce
omsnmp: restructure (#6063)
split omsnmp doc into multiple pages for easier ingestion, following the new approach to presenting the doc.
2025-09-02 18:21:39 +02:00
Rainer Gerhards
01ce1963f5
Merge pull request #5024 from xgqt/fix_configure_bashisms
configure.ac: remove bashisms
2025-09-02 16:43:36 +02:00
Rainer Gerhards
f2575e353c
Merge pull request #5974 from rsyslog/codex/analyze-and-fix-testbench-failure-in-tcpflood.c
tcpflood: fix octet-counted framing delimiter
2025-09-02 16:40:15 +02:00
Rainer Gerhards
5a87dbc94f
tests: avoid tcpflood octet-frame over-read 2025-09-02 13:10:58 +02:00
Rainer Gerhards
7c01375eca
Merge pull request #6062 from rgerhards/kafka-version-change
CI: change zookeeper version to latest stable
2025-09-02 13:08:22 +02:00