mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-16 16:50:40 +01:00
Work towards full completion of the module’s interface as it exits PoC. The new name senderid (formerly: template) matches intent (identify a sender, not an output format) and avoids confusion. Also make state persistence safer via atomic writes. Merged a bit pre-completion in order to get a static analyzer fix into the main code base. Some additional cleanup PR will follow. State is much cleaner now than in PoC. Impact: Configs must use senderid=; statefile is now required. Tests and docs updated. Before/After: action(... template="name") -> action(... senderid="name"). Technical details: - Replace the config parameter and instance field; drop legacy template parsing in parseSelectorAct. The module now reads only senderid=. - Enforce required statefile (descriptor + runtime) and cache a temp path "<statefile>.tmp" to ensure rename() is atomic. Provide a one-time fallback build if the cache is missing (e.g., reload flow). - Add built-in template "StdOmSenderTrack-senderid" yielding "%fromhost-ip%" and use it as the default senderid template. - Improve memory ownership (free cached temp path/default template) and keep existing locking/queue semantics unchanged. - Update tests to use senderid= and prune PoC doc note accordingly. see also: https://github.com/rsyslog/rsyslog/issues/5599