Skip to content

Add new functionality for omuxsock in rsyslog - #18262

Draft
BinduSri-6522866 wants to merge 3 commits into
microsoft:fasttrack/3.0from
Kanishk-Bansal:topic_rsyslog-3.0
Draft

Add new functionality for omuxsock in rsyslog#18262
BinduSri-6522866 wants to merge 3 commits into
microsoft:fasttrack/3.0from
Kanishk-Bansal:topic_rsyslog-3.0

Conversation

@BinduSri-6522866

@BinduSri-6522866 BinduSri-6522866 commented Jul 30, 2026

Copy link
Copy Markdown
Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

net: Add NetworkNamespace APIs Moves network namespace management logic out of individual plugins and into rsyslog's shared net module as reusable APIs, so any plugin can switch into a Linux network namespace to open a socket without duplicating the code.
add-network-namespace-APIs.patch :

  • Adds reusable netns_save, netns_switch, netns_restore, and netns_socket APIs.
  • Moves omfwd namespace handling into the shared lmnet module.
  • Increments the internal net interface from v10 to v11.
  • Fixes the namespace forwarding test’s quoted port variable.
  • Adds Valgrind suppressions for newer glibc.
  • Patch2 directly depends on this API and must remain ordered after Patch1.

New functionality for omuxsock Upgrades the omuxsock output plugin to support abstract Unix socket names, connection-oriented sockets (STREAM/SEQPACKET), and sending log messages into a different Linux network namespace, while also fixing a bug that caused the socket to be unnecessarily closed and reopened for every message.
adding-new-functionality-for-omuxsock.patch :

  • Adds abstract Unix socket support.
  • Adds SOCK_STREAM and SOCK_SEQPACKET; retains SOCK_DGRAM as default.
  • Adds module/action parameters: SocketName, SocketType, Abstract, and NetworkNamespace.
  • Supports multiple independent omuxsock actions.
  • Stops closing and reopening a valid socket for every message.
  • Adds normal, abstract, multi-instance, namespace, STREAM and SEQPACKET tests.
  • Includes the upstream Valgrind test gating correction.

[Fix message loss for connected Unix domain sockets] Fixes a regression where an omuxsock STREAM or SEQPACKET connection remained unusable after a send error, causing all subsequent messages to be silently dropped until rsyslog restarted.
[fix-message-loss-bug-for-connected-Unix-domain-sockets.patch]:

  • Detects failed and incomplete socket sends correctly using ssize_t.
  • Closes failed connected sockets and returns RS_RET_SUSPENDED.
  • Allows rsyslog’s action infrastructure to reconnect automatically.
  • Preserves unsuspended retry-on-next-message behavior for SOCK_DGRAM.
  • Adds send length, transmitted length, and error details to diagnostics.
  • Adds receiver-reset recovery tests for pathname, abstract, multi-instance, namespace, STREAM, and SEQPACKET sockets.
  • Includes the upstream POSIX shell portability corrections.
  • Directly depends on Patch2’s connected socket support and must remain ordered after Patch2.
Change Log
  • new file: ../SPECS/rsyslog/add-network-namespace-APIs.patch
  • new file: ../SPECS/rsyslog/adding-new-functionality-for-omuxsock.patch
  • new file: ../SPECS/rsyslog/fix-message-loss-bug-for-connected-Unix-domain-sockets.patch
  • modified: ../SPECS/rsyslog/rsyslog.spec
Does this affect the toolchain?

NO

Test Methodology

Patch application:
image

Installation and Uninstallation:
image
image

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service microsoft-github-policy-service Bot added Packaging fasttrack/3.0 PRs Destined for Azure Linux 3.0 labels Jul 30, 2026
@BinduSri-6522866 BinduSri-6522866 changed the title Add new functionality for omuxsock Add new functionality for omuxsock in rsyslog Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fasttrack/3.0 PRs Destined for Azure Linux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant