18741 Commits

Author SHA1 Message Date
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
Rainer Gerhards
68adc069a2
Merge pull request #5850 from rgerhards/doc-fixes1
doc: major restructure and content improvements
2025-07-21 14:52:15 +02:00
Rainer Gerhards
3b0d6bfb2d
doc: major restructure and content improvements
- Added "Getting Started" guide with modern examples and pipeline
  integrations (e.g., Elasticsearch, Kafka).
- Rewrote community resources page:
  * Added AI-based rsyslog assistant and GitHub Discussions as primary
    support channels.
  * Moved older resources to a new "Legacy Resources" section.
  * Added note about Adiscon professional services.
- Reorganized configuration reference index with clearer structure,
  modern examples, and compatibility note updates.
- Introduced a new "Documentation Style Guide" for consistent .rst
  formatting and contributor guidance.
- Deleted outdated or unused content (old proposals, examples, and
  legacy free_support page).
- Moved version compatibility notes to the historical section.
- Reworked main index page with a concise introduction, better
  navigation, and updated community/sponsor references.
- Switched HTML theme to Furo and updated Sphinx requirements.
- Simplified and modernized footer with Apache License 2.0 reference.
2025-07-21 14:49:44 +02:00
fd32158ae0
Merge pull request #5849 from alorbach/pr-issue-5848
Add furo theme for sphinx
2025-07-21 11:54:19 +02:00
39557a3041 Add furo theme for sphinx
closes: https://github.com/rsyslog/rsyslog/issues/5848
2025-07-21 11:42:01 +02:00
Rainer Gerhards
572c6c0034
Merge pull request #5840 from rgerhards/doc-improve1
doc: PoC transformations of legacy stament doc
2025-07-20 16:02:54 +02:00
Rainer Gerhards
e85d0efe0b
doc: Modernize documentation and tooling
This commit significantly improves the rsyslog documentation and its
associated tooling.

Key enhancements:

* **RainerScript Lexer**: Updated lexer to support hyphens in
    identifiers, fixing highlighting issues.
* **Sphinx Extension**: Refactored lexer integration as a proper
    Sphinx extension.
* **Deprecated Syntax Guidance**: Transformed docs for legacy action
    statements to focus on conversion to modern `action()` syntax,
    reducing duplication.
* **Legacy Stop Action**: Clarified that `~` for 'stop' is bad
    practice.
* **MMAITAG Module Fixes**: Corrected formatting, highlighting, and
    syntax in `mmaitag` documentation.
* **Minor Fixes**: Various small formatting and cross-reference
    corrections.

These changes streamline documentation, provide clearer migration
paths for users, and enhance the overall accuracy and maintainability.
2025-07-20 16:00:27 +02:00
Rainer Gerhards
7a6f8f71ad
Merge pull request #5834 from rgerhards/tests-autobuild
testbench: bootstrap build setup for direct test runs
2025-07-20 15:48:02 +02:00
Rainer Gerhards
a106a49931
Merge pull request #5838 from rsyslog/codex/exclude-footer-from-sphinx-generation
Remove footer from singlehtml build
2025-07-20 15:47:40 +02:00
Rainer Gerhards
64913bc185
Merge pull request #5837 from rgerhards/doc-fixes
doc: some cleanup and naming changes
2025-07-20 15:46:15 +02:00
Rainer Gerhards
066a85277e
Merge pull request #5839 from rsyslog/codex/add-github-action-for-ci-doc-build
Add docs build CI workflow
2025-07-20 15:45:43 +02:00
Rainer Gerhards
876c84699b
Add doc build workflow for PRs 2025-07-20 15:31:01 +02:00
Rainer Gerhards
74cbbcc7a9
doc: omit footer in singlehtml builds by default
Add a new 'singlehtml' make target that sets SPHINXOPTS to
-D rst_epilog='' and uses a minimal template set. This removes
header, footer, relbar, and sidebars to produce a clean,
single-page HTML output suitable for AI ingestion.

Standard HTML builds are unaffected.

With AI-Support: Codex, Gemini
2025-07-20 08:19:21 +02:00
Rainer Gerhards
e5791212a2 Add documentation build workflow
Create doc_build.yml for GitHub Actions. The workflow builds
Sphinx docs when *.rst files under doc/ change. It still runs for
other pull requests but exits early so branch protection succeeds
without running make.

AI-Agent: Codex
2025-07-20 08:11:03 +02:00
Rainer Gerhards
d9b9313df1
doc: some cleanup and naming changes 2025-07-19 18:14:18 +02:00
Rainer Gerhards
e7cac21992
Merge pull request #5836 from rsyslog/codex/add-github-action-for-yaml-ci-check
Add yamllint GitHub Action
2025-07-19 16:46:06 +02:00
Rainer Gerhards
ef2b8d6d56
Merge pull request #5828 from rsyslog/codex/improve-in-code-documentation-for-action.c
Improve action.c documentation
2025-07-19 15:43:31 +02:00
Rainer Gerhards
6acae1c72c
maintain ChangeLog 2025-07-19 15:42:15 +02:00
Rainer Gerhards
537b7ef59e
Merge pull request #5833 from rsyslog/codex/analyse-und-behebe-issue-5831
Fix connection timing log calculation
2025-07-19 15:40:30 +02:00
Rainer Gerhards
179befb2e1 ci: add yamllint workflow for YAML validation
Signed-off-by: Codex <codex@openai.com>
2025-07-19 15:40:11 +02:00
Rainer Gerhards
0ed0710513
testbench: bootstrap build setup for direct test runs
AI tools and newcomers often execute test scripts
without running autoreconf, configure or make. This
causes missing binaries and confusing failures.

The diag.sh stub now self-bootstraps when needed:
- Run autoreconf -fi if configure is missing.
- Run configure with testbench flags if Makefile is
  missing.
- Build tests/tcpflood and tools/rsyslogd via
  make check TESTS="".

This makes tests more robust against improper
environment setup.
2025-07-19 14:15:21 +02:00
Rainer Gerhards
54d8e273d2
Correct connection timing computation
Handle microsecond rollover when measuring connection attempts.
Calculate seconds and microseconds directly, adjusting when the
microsecond field underflows.

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

AI-Agent: Codex
2025-07-19 08:03:54 +02:00
Rainer Gerhards
d03cef5db1 doc: clarify action flow and add test requirement 2025-07-18 15:15:25 +02:00
Rainer Gerhards
bb4a56ad40 doc: restore control flow notes 2025-07-18 13:35:38 +02:00
Rainer Gerhards
d19086dd7e
Merge pull request #5803 from rsyslog/codex/review-and-fix-mmaitag.c-issues
Improve mmaitag memory handling
2025-07-17 20:31:06 +02:00
Rainer Gerhards
070434e859
fix: readthedocs definitions 2025-07-17 18:26:38 +02:00
Rainer Gerhards
961460a105
doc: enable readthedocs.io support 2025-07-17 18:24:10 +02:00
Rainer Gerhards
8f8aa6146f
AI support: improve google jules instructions 2025-07-17 17:40:20 +02:00
Rainer Gerhards
45156364a7
fix mmaitag provider handling and memory safety 2025-07-17 17:09:38 +02:00
Rainer Gerhards
5601e8a1a3
Merge pull request #5807 from rgerhards/doc-strategy
doc: provide strategy document
2025-07-17 13:15:34 +02:00
Rainer Gerhards
654f3aab7a
Merge pull request #5814 from rgerhards/i5809
doc: fix "edit on github" repo link
2025-07-17 13:12:34 +02:00
Rainer Gerhards
9222693a10
doc: fix "edit on github" repo link
and some other places with outdated repo link

closes: https://github.com/rsyslog/rsyslog/issues/5809
2025-07-17 13:06:30 +02:00
Rainer Gerhards
0377dfd08a
doc: provide strategy and implementation document
Also fix "master" branch references.
2025-07-17 12:47:37 +02:00
Rainer Gerhards
d493e9a83b
maintain ChangeLog 2025-07-17 11:41:59 +02:00
Rainer Gerhards
938c9a20b6
Merge pull request #5804 from rsyslog/codex/check-auth-issue-reporting-in-omelasticsearch
Fix auth error reporting in omelasticsearch
2025-07-17 11:37:51 +02:00
Rainer Gerhards
a5c4d26940
omelasticsearch fix: Handle HTTP 401/403 auth errors
The omelasticsearch module previously failed to correctly handle HTTP
error status codes returned by the server. The logic checked for
libcurl transport errors but explicitly ignored
'CURLE_HTTP_RETURNED_ERROR', causing server-side errors to be
treated as successful submissions.

This led to silent failures in critical scenarios, especially
authentication (401 Unauthorized) and authorization (403
Forbidden) errors. The plugin would not suspend or report an
error, and data could be lost without any clear error indication.

This commit resolves the issue by:
- Retrieving the HTTP status code after each request using
  'curl_easy_getinfo'.
- Adding an explicit check for 401 and 403 status codes.
- Logging a specific "authentication failed" error and suspending
  the plugin if these errors are detected.

This ensures that users receive immediate and clear feedback on
authentication problems, preventing silent data loss and aiding in
faster troubleshooting.

With AI support: Codex, Gemini
2025-07-17 10:35:25 +02:00
Rainer Gerhards
c222d6b6a0
Merge pull request #5805 from rgerhards/cleanup
cleanup: remove code-style tools that are no longer needed
2025-07-16 19:28:43 +02:00
Rainer Gerhards
999678d0d5
cleanup: fix reference to "master" branch -> now "main" 2025-07-16 19:24:43 +02:00
Rainer Gerhards
d7a7a871e7
AI support: add instructions for experimental Google Jules Agent 2025-07-16 19:04:29 +02:00
Rainer Gerhards
fa372dde12
cleanup: remove code-style tools that are no longer neeed
They are superseeded by the new code style paradigms.
2025-07-16 19:02:12 +02:00
Rainer Gerhards
dbbd61bfbc
AI support: Agent shall no longer call stylecheck.sh after_big_style_change-2025 2025-07-16 17:57:09 +02:00
Rainer Gerhards
5ce775fe87
AI support: reflect master branch name change 2025-07-16 17:21:53 +02:00
Rainer Gerhards
465c067677
Merge pull request #5802 from rgerhards/codechange-followup
chore: add project-wide formatting and editor configs
2025-07-16 17:09:34 +02:00
Rainer Gerhards
786ea7c92f
chore: add project-wide formatting and editor configs
- add .editorconfig for indent, whitespace, and file-type rules
- add project-local .vimrc to enforce Vim settings via exrc
- add .clang-format for C/C++ style presets and list formatting
- add devtools/format-code.sh to run clang-format and fixups
- adjust clang-format config for stable, idempotent output
- update AGENTS.md with new formatting strategy
- add .git-blame-ignore-revs entry for format change commit

This commit sets up an automated formatting pipeline to let
contributors use their editor of choice while ensuring
consistent, stable code style across the project.
2025-07-16 17:08:01 +02:00
Rainer Gerhards
4eb2674269
Merge pull request #5791 from rgerhards/big_beautyful_format_change
style: normalize C source formatting via clang-format (PoC)
2025-07-16 15:19:31 +02:00
Rainer Gerhards
b326c76f45 style: normalize C source formatting via clang-format (PoC)
This commit applies the new canonical formatting style using `clang-format` with custom settings (notably 4-space indentation), as part of our shift toward automated formatting normalization.

⚠️ No functional changes are included — only whitespace and layout modifications as produced by `clang-format`.

This change is part of the formatting modernization strategy discussed in:
https://github.com/rsyslog/rsyslog/issues/5747

Key context:
- Formatting is now treated as a disposable view, normalized via tooling.
- The `.clang-format` file defines the canonical style.
- A fixup script (`devtools/format-code.sh`) handles remaining edge cases.
- Formatting commits are added to `.git-blame-ignore-revs` to reduce noise.
- Developers remain free to format code however they prefer locally.
2025-07-16 13:56:21 +02:00
Rainer Gerhards
fe95f29001
Merge pull request #5800 from rgerhards/cleap-macro-comments
style: reformat Config Settings block with Doxygen comments
2025-07-16 12:44:09 +02:00
Rainer Gerhards
01d7ac9381
style: reformat Config Settings block with Doxygen comments
Reorganized the “Config Settings” section in rsyslog.h to improve
readability and documentation:

- Added a banner header for the Config Settings block
- Consolidated general MAXSIZE/BUFSIZE guidelines into a single Doxygen
  comment
- Provided individual `@brief` comments for each `#define`
- Aligned macro definitions for consistent formatting

No functional changes were made; this is purely a documentation and
style cleanup.
2025-07-16 12:31:17 +02:00
Rainer Gerhards
3570a564a7
Merge pull request #5798 from rgerhards/mmaitag
build: mmaitag in configure disabled by default
2025-07-16 08:25:47 +02:00
Rainer Gerhards
2fc65efc4f
build: mmaitag in configure disabled by default (#5797)
This was originally intended, but for testing it was set to
enabled by default. This is now corrected. Not all CI workers
support the necessary dependencies.
2025-07-15 22:05:45 +02:00