19292 Commits

Author SHA1 Message Date
iTrooz
ff7103783f
update doc 2025-10-22 20:31:35 +02:00
iTrooz
59eec2ce28
doc: update SIGINT signal documentation in man page 2025-10-22 20:24:14 +02:00
22c18d7acb
Merge pull request #6258 from alorbach/cursor/investigate-dependency-removal-f281
doc: make git optional for Sphinx builds (dist tarballs)
2025-10-22 09:17:48 +02:00
5602418dd1
Merge pull request #6237 from alorbach/cursor/add-keyword-instructions-to-agents-md-8fce
Add agent chat keywords for FINISH and SUMMARIZE
2025-10-22 09:11:52 +02:00
7cf2df63d9
Merge pull request #6257 from alorbach/cursor/fix-rsyslog-warning-message-b1e2
doc: enable parallel Sphinx builds; silence edit_on_github
2025-10-21 12:12:14 +02:00
Cursor Agent
81eabd3cb3 doc: enable parallel Sphinx builds; silence edit_on_github
Mark the custom edit_on_github extension as safe for parallel
reading/writing and forward GNU make's -j to sphinx-build. This removes
the Sphinx warning and allows true parallel docs builds.

Changes
- doc/source/_ext/edit_on_github.py: setup() now returns
  parallel_read_safe=True and parallel_write_safe=True (plus version).
- doc/Makefile: if SPHINXOPTS lacks -j, propagate -jN from MAKEFLAGS to
  sphinx-build. Bare "-j" maps to "-j auto". Respects explicit -j in
  SPHINXOPTS.

Fixes: https://github.com/rsyslog/rsyslog/issues/6254

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-10-20 15:45:20 +02:00
18c8eed485 doc: make git optional for Sphinx builds (dist tarballs)
Building documentation from the dist tarball failed with a RuntimeError
("git executable not found") thrown during Sphinx startup. The helper
module hard-required git even when no .git repo is present.

This change replaces the hard requirement with a safe wrapper that
returns placeholders when git or a repository is unavailable. This lets
Sphinx complete when building from release/dist sources, while keeping
dev builds unchanged.

Details:
- conf_helpers.py: introduce _run_git(); return 'unknown'/'nogit' for
  branch/commit and '0.0' for tag-derived versions when git is absent.
- Harden next-version parsing for non-git environments.
- conf.py already guards dev-only dynamic strings behind .git presence.

Fixes: https://github.com/rsyslog/rsyslog/issues/6253

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-10-20 13:01:02 +00:00
Rainer Gerhards
590a82d1a1
Merge pull request #6247 from sadenot/master
Add doc for mbedtls driver
2025-10-17 09:49:35 +02:00
Stephane Adenot
d047daf999 Add doc for mbedtls driver 2025-10-17 09:38:49 +02:00
Rainer Gerhards
17bbdb4612
maintain ChangeLog 2025-10-15 18:47:55 +02:00
Rainer Gerhards
a8cea14e74
Merge pull request #6241 from Cropi/ossl-memleak1
ossl bugfix: ensure peer cert is freed in osslChkPeerAuth
2025-10-15 18:46:54 +02:00
Rainer Gerhards
344eaaf219
maintain ChangeLog 2025-10-15 18:45:56 +02:00
Rainer Gerhards
d67156b43d bump version number for 8.2512 series 2025-10-15 18:41:22 +02:00
Ekaterina Nikitina
f6a044867c
Doc: Minor spelling and typing mistakes (#6242)
* Updates for actions.rst, cryprov_gcry.rst, cryprov_ossl.rst, and dyn_stats.rst

Minor fix so that RainerScript has the same exact spelling in all documentation

Update cryprov_ossl.rst

Fixing spelling and typing mistakes

Update cryprov_gcry.rst

A minor fix for the case of the "algorithms" word and unnecessary an article has been removed.

Update actions.rst

A couple of typing mistakes are fixed in actions.rst.

* Update doc/source/configuration/cryprov_ossl.rst
2025-10-15 18:06:45 +02:00
Ulrike Gerhards
40090ca2ef
Codex/refactor rsyslog imklog module parameter documentation (#6246)
* imklog: split parameter docs into reference pages

- moved module parameter descriptions into dedicated reference files with scope-correct anchors
- replaced inline parameter blocks with a summary list-table and added a hidden toctree
- preserved legacy directives and updated examples to camelCase per policy

With help of AI-Agent: ChatGPT
2025-10-15 17:53:29 +02:00
Rainer Gerhards
b1793c1fd5 Merge branch 'v8-stable' 2025-10-15 17:10:53 +02:00
Ulrike Gerhards
5d787b359c
Codex/refactor parameter documentation for imkafka (#6243)
* imkafka: split parameter docs into reference pages

- create parameter reference pages for Broker, Topic, ConfParam, ConsumerGroup, Ruleset, and ParseHostname
- replace inline parameter tables with summary list-table and include the casing guidance note
- add a hidden toctree for the new parameter documentation files

With AI-Agent: ChatGPT
2025-10-13 17:30:36 +02:00
Rainer Gerhards
e6fe5c8cee
Merge pull request #5386 from sadenot/master
Add MbedTLS netstream driver.
2025-10-13 12:00:47 +02:00
Stephane Adenot
e4f64a4fc5 Add MbedTLS netstream driver. 2025-10-11 15:24:04 +02:00
Ulrike Gerhards
f19a515b4d
Codex/refactor rsyslog imdiag module parameter documentation (#6235)
* imdiag: add module and parameter reference docs

- add imdiag module documentation with parameter summary tables and
  hidden toctree links for per-parameter pages
- document AbortTimeout, InjectDelayMode, and MaxSessions module
  settings with descriptions, usage examples, and legacy aliases
- document input parameters for listener configuration including port
  file handling, stream-driver options, and input naming metadata

AI-Agent: ChatGPT
2025-10-10 18:11:08 +02:00
Ulrike Gerhards
3c6a4450ff
Codex/refactor rsyslog imgssapi module parameter documentation (#6239)
* imgssapi: split parameter docs into reference pages

* split legacy imgssapi input parameters into dedicated reference files with usage, metadata, and legacy directives
* replace inline parameter tables on the module page with a summary list-table, refreshed case-sensitivity note, and a hidden toctree linking the new parameter docs

AI-Agent: ChatGPT
2025-10-10 16:29:41 +02:00
Rainer Gerhards
caa4ebb130
Merge pull request #6238 from Cropi/null-dereference
imptcp: fix null pointer dereference in error logging
2025-10-10 15:50:14 +02:00
Rainer Gerhards
4c8fa9960c
prepare for 8.2510.0 scheduled stable release v8.2510.0 2025-10-09 17:16:19 +02:00
Cropi
e21ea186a8 ossl bugfix: ensure peer cert is freed in osslChkPeerAuth
Ensure osslChkPeerAuth starts with a null peer-certificate pointer and
frees any retrieved X509 certificate so OpenSSL allocations from
SSL_get_peer_certificate do not leak after TLS handshakes.
2025-10-09 11:39:46 +02:00
Cursor Agent
ec9b0fbe9c docs: add Agent Chat Keywords to AGENTS.md
Add a new "Agent Chat Keywords" section documenting FINISH and
SUMMARIZE codewords to standardize agent end-of-session actions.

FINISH: review all changes.
SUMMARIZE: produce ready-to-copy PR and squashed commit summaries.

Doc-only change; no runtime or test impact.
2025-10-07 10:53:05 +02:00
Cropi
8e7fa32350 imptcp: fix null pointer dereference in error logging
Prevents potential crashes when logging connection failures where peer
name or IP information is unavailable.

The compiler detected a potential null pointer dereference in the
addSess() error cleanup path. When NULL_CHECK() macros fail and jump to
finalize_it, the peerName and peerIP parameters could be NULL but were
passed directly to propGetSzStr() in LogError().

Original error: ../../runtime/prop.h:66:18: error: potential null
pointer dereference [-Werror=null-dereference] 66 |     return
(pThis->len < CONF_PROP_BUFSIZE) ? pThis->szVal.sz : pThis->szVal.psz; |
~~~~~^~~~~
2025-10-07 10:29:42 +02:00
Rainer Gerhards
ea5f6cd6c1
Merge pull request #6233 from alorbach/cursor/fix-imtcp-connection-test-on-macos-0aea
tests: fix macOS tr illegal byte sequence in RSYSLOG_DYNNAME
2025-10-06 17:44:37 +02:00
Rainer Gerhards
1380ed1f45
Merge pull request #6232 from rgerhards/doc-ai-meta
doc/ai: update AI instruction files
2025-10-06 16:47:18 +02:00
Rainer Gerhards
166282195a
Merge pull request #6230 from rgerhards/doc-log-pipeline
doc: im prove log pipeline documentation
2025-10-06 16:46:27 +02:00
Rainer Gerhards
721bfc00c0
doc: im prove log pipeline documentation
Using better to understand term "Log Pipeline" vs. "Message Pipeline"
and adding an in-depth concepts part including a sample config.
2025-10-06 16:18:24 +02:00
Rainer Gerhards
fb159a6a4e
doc/ai: update AI instruction files
They have become slightly outdated and are re-aligned to current doc
workflow and expected format now.
2025-10-06 16:11:06 +02:00
ddb6be8bb7
Merge pull request #6231 from alorbach/cursor/sync-pull-request-filters-in-run-macos-yml-db5d
feat: Trigger macOS workflow on relevant file changes
2025-10-06 16:09:27 +02:00
Cursor Agent
22d0d0ac92 Fix: Make RSYSLOG_DYNNAME generation POSIX-compliant
Co-authored-by: alorbach <alorbach@adiscon.com>
2025-10-06 13:49:34 +00:00
Cursor Agent
67acee8a5f feat: Trigger macOS workflow on relevant file changes
Co-authored-by: alorbach <alorbach@adiscon.com>
2025-10-06 13:36:44 +00:00
b18dbbc2bb
Merge pull request #6229 from alorbach/cursor/rename-mmsnarewinsec-plugin-to-mmsnareparse-1234
## Summary
- Rename the Snare Windows Security parser from "mmsnarewinsec" to "mmsnareparse"
- Update code, build scripts, docs, tests, and CI to the new name
- Rebase onto main and resolve a configure.ac conflict

## Changes
- Code: MODULE_CNFNAME -> "mmsnareparse"; all LogError/dbgprintf tags updated
- Files/paths:
  - plugins/mmsnarewinsec/* -> plugins/mmsnareparse/*
  - mmsnarewinsec.c -> mmsnareparse.c (and default macro renamed)
- Build system:
  - configure.ac: add --enable-mmsnareparse; AM_CONDITIONAL(ENABLE_MMSNAREPARSE)
  - Makefile.am: subdir switched to plugins/mmsnareparse
  - AC_CONFIG_FILES now includes plugins/mmsnareparse/Makefile
- Tests:
  - testsuites dir: mmsnarewinsec -> mmsnareparse
  - all test scripts renamed and updated to load action(type="mmsnareparse")
- Docs:
  - mmsnarewinsec.rst -> mmsnareparse.rst with updated examples/snippets
  - doc/ai/module_map.yaml updated to plugins/mmsnareparse/
- CI:
  - workflows use --enable-mmsnareparse

## Migration
- Old:
  - module(load="mmsnarewinsec")
  - action(type="mmsnarewinsec")
- New:
  - module(load="mmsnareparse")
  - action(type="mmsnareparse")
- Configure flag: --enable-mmsnareparse replaces --enable-mmsnarewinsec

## Testing
- Renamed/updated regression tests pass locally in scripts
- CI will exercise renamed tests and module enable flag
2025-10-06 12:56:02 +02:00
Cursor Agent
b3a124b0ae plugins/docs/tests: rename mmsnarewinsec to mmsnareparse
Rename the Snare Windows Security parser module from "mmsnarewinsec"
to "mmsnareparse" for clearer naming and consistency with other parser
modules. Update code identifiers, build system, docs, tests, CI flags,
and paths accordingly.

What changed
- MODULE_CNFNAME set to "mmsnareparse"; default macro renamed
- Log/error/debug tags updated to "mmsnareparse"
- plugins/mmsnarewinsec/* moved to plugins/mmsnareparse/*
- configure.ac:
  - add --enable-mmsnareparse
  - AM_CONDITIONAL(ENABLE_MMSNAREPARSE)
  - AC_CONFIG_FILES now includes plugins/mmsnareparse/Makefile
- Makefile.am subdir switch to plugins/mmsnareparse
- Tests renamed and updated (scripts and testsuites directory)
- Docs page renamed and examples updated
- CI workflow uses --enable-mmsnareparse
- Rebase to main; resolved configure.ac conflict

Impact
- Backwards-incompatible module name and configure flag changes.

Migration
- Config: module(load="mmsnareparse"), action(type="mmsnareparse")
- Build: use --enable-mmsnareparse

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-10-06 12:02:22 +02:00
Rainer Gerhards
8945379468
Merge pull request #6112 from alorbach/macos-enable-ci-workflow
ci: Add macOS CI workflows
2025-10-06 10:17:11 +02:00
Rainer Gerhards
15eb2e906c
Merge pull request #6226 from rgerhards/i6224
CI: fix imtcp-tls-gibberish being executed in non-TLS builds
2025-10-06 10:16:49 +02:00
Rainer Gerhards
9afe60b690
Merge pull request #6227 from rgerhards/codex/update-documentation-for-rainerscript-syntax
doc: update tutorials for rainerscript syntax
2025-10-06 09:28:34 +02:00
Rainer Gerhards
a966cecd77 doc: clarify reliable forwarding examples
- replace placeholder hostnames with example.net values and show a realistic TCP port value\n- expand the surrounding explanation so readers understand when omfwd falls back to its default port and how independent queues behave\n\nAI-Agent: ChatGPT
2025-10-06 09:10:51 +02:00
Rainer Gerhards
bdb7875789
CI: fix imtcp-tls-gibberish being executed in non-TLS builds
This tool requires rsyslog to build with TLS support. If not present,
the test will always fail. This is solved by executing it only if gnutls
is enabled. As this is a fequently tested environment, this does not
reduce test coverage. It is easier to do then checking for both gnutls
and openssl.

Many thanks to Michael Biebl for bringing this to our attention.

closes https://github.com/rsyslog/rsyslog/issues/6224
2025-10-06 08:52:48 +02:00
Rainer Gerhards
67684ced4c doc: refresh database and PRI tutorials
Switch the database tutorial to reference list-based templates and document libdbi as the generic plugin example. Update the priority recording tutorial to demonstrate list templates and reiterate how property() and constant() map to property replacer behavior.

AI-Agent: ChatGPT
2025-10-05 19:09:52 +02:00
Rainer Gerhards
4203d9cd47
Merge pull request #6223 from rgerhards/codex/analyze-and-fix-flaky-dynstats-test
tests: bound dynstats metric waits
2025-10-05 19:08:46 +02:00
Rainer Gerhards
e61886a54d
Merge pull request #6222 from rgerhards/doc-mmjsonparse
doc: improve mmjsonparse documentation
2025-10-05 18:19:48 +02:00
Rainer Gerhards
b9f2789074
doc: improve mmjsonparse documentation
better descriptions, visuals and useful scenarios
2025-10-05 18:03:50 +02:00
Rainer Gerhards
41e92a6e53
maintain ChangeLog 2025-10-05 16:14:34 +02:00
Rainer Gerhards
744df071d9
Merge pull request #6217 from rgerhards/mmjsonparse-cookieless
mmjsonparse: add find-json mode to parse embedded JSON
2025-10-05 16:11:28 +02:00
Rainer Gerhards
d172153caf tests: bound dynstats metric waits
Replace the retry-count loop with a deadline-based poll so the helper\nfails after a sensible timeout instead of hanging when impstats stops\nemitting metrics. Use a longer default window for the Valgrind variant\nso it tolerates the slower runtime.\n\nAI-Agent: ChatGPT
2025-10-05 14:49:12 +02:00
Rainer Gerhards
7960b7f03e
mmjsonparse: add find-json mode for embedded JSON
Plain JSON embedded in text is common in production logs. This change
lets users parse such logs without cookies, improving ease of use and
lowering onboarding friction while keeping legacy behavior intact.

Before/After: cookie-only JSON -> find-json parses first top-level {}.

Impact: Default behavior unchanged. New mode and counters are opt-in.

Technical details:
- Add action parameter `mode` with `cookie` (default) and `find-json`.
  The new mode scans for the first `{` and uses json_tokener to validate
  a complete top-level object; quotes/escapes are respected.
- Add `max_scan_bytes` (default 65536) to bound scanning work and
  `allow_trailing` (default on) to accept or reject non-whitespace data
  after the parsed object. On reject/fail we return RS_RET_NO_CEE_MSG and
  fall back to {"msg":"..."} while preserving parsesuccess semantics.
- Expose per-worker scan counters via statsobj/impstats and rsyslogctl:
  scan.attempted, scan.found, scan.failed, scan.truncated. Counters are
  active only in find-json mode and are resettable.
- Use length-aware cookie parsing (getMSG/getMSGLen) and keep legacy
  RS_RET codes. Cookie mode behavior remains unchanged.
- Update docs: module overview, parameter references, statistics section
  (impstats usage), and examples incl. mixed-mode routing. Add developer
  engine overview page.
- Add tests for basic scanning, trailing control, scan limit, invalid
  JSON, invalid mode, and parser validation edge cases.

With the help of AI Agent: Copilot
2025-10-05 14:42:23 +02:00
Rainer Gerhards
e8640a21a7
Merge pull request #6220 from rgerhards/codex/stabilize-omfwd-lb-1target-retry-full_buf.sh
tests: retry omfwd load-balancer flake before failing
2025-10-05 12:59:27 +02:00