August 10th, 2011· bugfix: potential misadressing in property replacer
· bugfix: memcpy overflow can occur in allowed sender checking if a name is resolved to IPv4-mapped-on-IPv6 address
· Found by Ismail Dömez at Suse
· bugfix: MSGID corruption in RFC5424 parser under some circumstances
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=275
July 13th, 2011· This is a very important milestone release. It features the new configuration parser and thus provides the basis for a more intuitive configuration format.
· Some enhancements were already made to the format.
· More changes will come up with the next minor releases.
July 11th, 2011· systemd support: set stdout/stderr to null – thx to Lennart for the patch
· added support for the “:omusrmsg:” syntax in configuring user messages
· added support for the “:omfile:” syntax in configuring user messages
July 6th, 2011· added support for the “:omusrmsg:” syntax in configuring user messages systemd support: set stdout/stderr to null – thx to Lennart for the patch added support for obtaining timestamp for kernel message from message If the kernel time-stamps messages, time is now take from that timestamp instead of the system time when the message was read. This provides much better accuracy. Thanks to Lennart Poettering for suggesting this feature and his help during implementation.
· added support for obtaining timestamp from system for imuxsock This permits to read the time a message was submitted to the system log socket. Most importantly, this is provided in microsecond resolution. So we are able to obtain high precision timestampis even for messages that were – as is usual – not formatted with them. This also simplifies things in regard to local time calculation in chroot environments. Many thanks to Lennart Poettering for suggesting this feature, providing some guidance on implementing it and coordinating getting the necessary support into the Linux kernel.
· bugfix: timestamp was incorrectly calculated for timezones with minute offset
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=271
· bugfix: memory leak in imtcp & subsystems under some circumstances This leak is tied to error conditions which lead to incorrect cleanup of some data structures.
July 1st, 2011· added support for obtaining timestamp for kernel message from message If the kernel time-stamps messages, time is now take from that timestamp instead of the system time when the message was read. This provides much better accuracy. Thanks to Lennart Poettering for suggesting this feature and his help during implementation.
· added support for obtaining timestamp from system for imuxsock. This permits to read the time a message was submitted to the system log socket. Most importantly, this is provided in microsecond resolution. So we are able to obtain high precision timestampis even for messages that were – as is usual – not formatted with them. This also simplifies things in regard to local time calculation in chroot environments.
· Many thanks to Lennart Poettering for suggesting this feature, providing some guidance on implementing it and coordinating getting the necessary support into the Linux kernel.
· bugfix: timestamp was incorrectly calculated for timezones with minute offset
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=271
· bugfix: problems in failover action handling
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=270
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=254
· bugfix: mutex was invalidly left unlocked during action processing At least one case where this can occur is during thread shutdown, which may be initiated by lower activity. In most cases, this is quite unlikely to happen. However, if it does, data structures may be corrupted which could lead to fatal failure and segfault. I detected
· this via a testbench test, not a user report. But I assume that some users may have had unreproducable aborts that were cause by this bug.
· bugfix: memory leak in imtcp & subsystems under some circumstances This leak is tied to error conditions which lead to incorrect cleanup of some data structures. [backport from v6]
· bugfix/improvement:$WorkDirectory now gracefully handles trailing slashes
June 24th, 2011· bugfix: memory leak in imtcp & subsystems under some circumstances
· This leak is tied to error conditions which lead to incorrect cleanup
· of some data structures. [backport from v6, limited testing under v4]
· bugfix: invalid processing in QUEUE_FULL condition
· If the the multi-submit interface was used and a QUEUE_FULL condition
· occured, the failed message was properly destructed. However, the
· rest of the input batch, if it existed, was not processed. So this
· lead to potential loss of messages and a memory leak. The potential
· loss of messages was IMHO minor, because they would have been dropped
· in most cases due to the queue remaining full, but very few lucky ones
· from the batch may have made it. Anyhow, this has now been changed so
· that the rest of the batch is properly tried to be enqueued and, if
· not possible, destructed.
· bugfix: invalid storage type for config variables
· bugfix: stream driver mode was not correctly set on tcp ouput on big
· endian systems.
· thanks varmojfekoj for the patch
· bugfix: IPv6-address could not be specified in omrelp
· this was due to improper parsing of “:”
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=250
· bugfix: memory and file descriptor leak in stream processing
· Leaks could occur under some circumstances if the file stream handler
· errored out during the open call. Among others, this could cause very
· big memory leaks if there were a problem with unreadable disk queue
· files. In regard to the memory leak, this
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=256
· bugfix: imfile potentially duplicates lines
· This can happen when 0 bytes are read from the input file, and some
· writer appends data to the file BEFORE we check if a rollover happens.
· The check for rollover uses the inode and size as a criterion. So far,
· we checked for equality of sizes, which is not given in this scenario,
but that does not indicate a rollover. From the source code comments:
· Note that when we check the size, we MUST NOT check for equality.
· The reason is that the file may have been written right after we
· did try to read (so the file size has increased). That is NOT in
· indicator of a rollover (this is an actual bug scenario we
· experienced). So we need to check if the new size is smaller than
· what we already have seen!
· Also, under some circumstances an invalid truncation was detected. This
· code has now been removed, a file change (and thus resent) is only
· detected if the inode number changes.
· bugfix: a couple of problems that imfile had on some platforms, namely
· Ubuntu (not their fault, but occured there)
· bugfix: imfile utilizes 32 bit to track offset. Most importantly,
· this problem can not experienced on Fedora 64 bit OS (which has
· 64 bit long’s!)
· bugfix: abort if imfile reads file line of more than 64KiB
· Thanks to Peter Eisentraut for reporting and analysing this problem.
· bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=221
· bugfix: omlibdbi did not use password from rsyslog.con
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=271
· some improvements thanks to clang’s static code analyzer
· overall cleanup (mostly unnecessary writes and otherwise unused stuff)
· bugfix: fixed a very remote problem in msg.c which could occur when
· running under extremely low memory conditions
June 22nd, 2011· problems in failover action handling
· bugfix: mutex was invalidly left unlocked during action processing
June 15th, 2011· bugfix: memory leak in imtcp & subsystems under some circumstances
· This leak is tied to error conditions which lead to incorrect cleanup
· of some data structures. [backport from v6.3]
· bugfix: $ActionFileDefaultTemplate did not work
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=262
June 9th, 2011· This release starts a new development branch for version v5 which brings some new, not-so-intrusive features.
· This release includes enhancements for imfile, support for TCP KEEP ALIVE, and a way to name actions (primarily for impstats).
· Note that the main development activity is still focused at version 6, so this release is only for those interested in the minor enhancements to v5.
June 7th, 2011· added a first implementation of a DNS name cache this still has a couple of weaknesses, like no expiration of entries, suboptimal algorithms — but it should perform much better than what we had previously. Implementation will be improved based on feedback during the next couple of releases
April 12th, 2011· bugfix: race condition in deferred name resolution closes: http://bugzilla.adiscon.com/show_bug.cgi?id=238 Special thanks to Marcin for his persistence in helping to solve this bug.
· bugfix: DA queue was never shutdown once it was started closes: http://bugzilla.adiscon.com/show_bug.cgi?id=241
March 30th, 2011· This version has another set of fixes for some bugs that recently came in.
· It also contains some non-intrusive enhancements, like example code that demonstrates how to write a strgen module that generates SQL statements.
March 22nd, 2011· improved testbench
· among others, life tests for ommysql (against a test database) have been added, valgrind-based testing enhanced, …
· enhance: fallback *at runtime* to epoll_create if epoll_create1 is not available. Thanks to Michael Biebl for analysis and patch!
· bugfix: failover did not work correctly if repeated msg reduction was on
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=236
· affected directive was: $ActionExecOnlyWhenPreviousIsSuspended on
· bugfix: minor memory leak in omlibdbi (< 1k per instance and run)
· bugfix: (regression) omhdfs did no longer compile
· bugfix: omlibdbi did not use password from rsyslog.conf
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=203
March 22nd, 2011· bugfix: failover did not work correctly if repeated msg reduction was on
· affected directive was: $ActionExecOnlyWhenPreviousIsSuspended on
· bugfix: omlibdbi did not use password from rsyslog.con
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=203
· bugfix(kind of): tell users that config graph can currently not be
· generated
· closes: http://bugzilla.adiscon.com/show_bug.cgi?id=232
· bugfix: discard action did not work under some circumstances
· fixes: http://bugzilla.adiscon.com/show_bug.cgi?id=217
· (backport from 5.7.8)
March 3rd, 2011· # bugfix: potential abort condition when $RepeatedMsgReduction set to on as well as potentially in a number of other places where MsgDup() was used. This only happened when the imudp input module was used and it depended on name resolution not yet had taken place. In other words, this was a strange problem that could lead to hard to diagnose instability. So if you experience instability, chances are good that this fix will help.
· # bugfix: fixed a memory leak and potential abort condition this could happen if multiple rulesets were used and some output batches contained messages belonging to more than one ruleset. fixes: http://bugzilla.adiscon.com/show_bug.cgi?id=226
· fixes: http://bugzilla.adiscon.com/show_bug.cgi?id=218 # bugfix: memory leak when $RepeatedMsgReduction on was used bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=225
February 21st, 2011· bugfix/omhdfs: directive $OMHDFSFileName rendered unusable due to a search and replace-induced bug ;)
· bugfix: minor race condition in action.c – considered cosmetic This is considered cosmetic as multiple threads tried to write exactly the same value into the same memory location without sync. The method has been changed so this can no longer happen.
· added pmsnare parser module (written by David Lang)
· enhanced imfile to support non-cancel input termination
· improved systemd socket activation thanks to Marius Tomaschweski
· improved error reporting for $WorkDirectory non-existance and other detectable problems are now reported, and the work directory is NOT set in this case
· bugfix: pmsnare causded abort under some conditions
· bugfix: abort if imfile reads file line of more than 64KiB Thanks to Peter Eisentraut for reporting and analysing this problem. bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=221
· bugfix: queue engine did not properly slow down inputs in FULL_DELAY mode when in disk-assisted mode. This especially affected imfile, which created unnecessarily queue files if a large set of input file data was to process.
· bugfix: very long running actions could prevent shutdown under some circumstances. This has now been solved, at least for common situations.
· bugfix: fixed compile problem due to empty structs this occured only on some platforms/compilers. thanks to Dražen Kačar for the fix
February 5th, 2010· applied patches that make rsyslog compile under Apple OS X. Thanks to trey for providing these.
· replaced data type "bool" by "sbool" because this created some portability issues.
· added $Escape8BitCharactersOnReceive directive Thanks to David Lang for suggesting it.
· worked around an issue where omfile failed to compile on32 bit platforms under some circumstances (this smells like a gcc problem, but a simple solution was available). Thanks to Kenneth Marshall for some advice.
· extended testbench
· bugfix: queues in direct mode could case a segfault, especially if an action failed for action queues. The issue was an invalid increment of a stack-based pointer which lead to destruction of the stack frame and thus a segfault on function return. Thanks to Michael Biebl for alerting us on this problem.
· bugfix: hostname accidently set to IP address for some message sources, for example imudp. Thanks to Anton for reporting this bug. [imported v4]
· bugfix: ompgsql had problems with transaction support, what actually rendered it unsuable. Thanks to forum user "horhe" for alerting me on this bug and helping to debug/fix it! [imported from 5.3.6]
· bugfix: $CreateDirs variable not properly initialized, default thus was random (but most often "on") [imported from v3]
October 27th, 2009· simplified and thus speeded up the queue engine, also fixed some potential race conditions (in very unusual shutdown conditions) along the way. The threading model has seriously changes, so there may be some regressions.
· enhanced test environment (inlcuding testbench): support for enhancing probability of memory addressing failure by using non-NULL default value for malloced memory (optional, only if requested by configure option). This helps to track down some otherwise undetected issues within the testbench.
· bugfix: potential abort if inputname property was not set primarily a problem of imdiag
· bugfix: message processing states were not set correctly in all cases however, this had no negative effect, as the message processing state was not evaluated when a batch was deleted, and that was the only case where the state could be wrong.
October 6th, 2009· This is a bug-fixing release, providing some important fixes from the v4-stable and the current v4-beta, like a bugfix for a potential segfault in stream writer on destruction.
September 15th, 2009· This release starts a new v5-development branch.
· It offers many new features like the use of epoll, when possible, in imudp, which provides greater performance and is a pilot to more such enhancements.
· There are some bugfixes.
· This is a recommended update for all users of the development branch.
September 11th, 2009· This is the first public beta of the v5 branch.
· As such, it is an important milestone on the way to an even more powerful rsyslogd.
April 3rd, 2009· bugfix: potential abort with DA queue after high watermark is reached There exists a race condition that can lead to a segfault. Thanks go to vbernetr, who performed the analysis and provided patch, which I only tweaked a very little bit.
· fixed bugs in RainerScript: o when converting a number and a string to a common type, both were actually converted to the other variable's type. o the value of rsCStrConvertToNumber() was miscalculated. Thanks to varmojfekoj for the patch
· fixed a bug in configure.ac which resulted in problems with environment detection - thanks to Michael Biebl for the patch
· fixed a potential segfault problem in gssapi code thanks to varmojfekoj for the patch
· doc enhance: provide standard template for MySQL module and instructions on how to modify schema
March 11th, 2009· This version offers ERE support in filter conditions as well as the ability to optionally contain part of the repeated text in a "last message repeated n times" message.
· Also, it fixes a bug that caused invalid parsing when receiving messages via UDP.
· This is a recommended update for all development branch users.
February 2nd, 2009· This is a bug-fixing release.
· Most importantly, a race that could result in a segfault in specific scenarios has been addressed.
· Also, some command-line switches were incorrectly processed and a debug string was accidentally written to stdout on daemon termination.
· This is a recommended update for all users of the beta branch.
January 29th, 2009· This is primarily a stability update.
· Most importantly, this version addresses a potential segfault that occurred rather infrequently, and primarily on very fast and busy systems.
· The only other change is a fix for the $PreserveFQDN config directive, which did not properly affect locally emitted messages.
· This is a recommended update for all users of the development branch.
January 23rd, 2009· added $InputTCPServerAddtlFrameDelimiter config directive, which enables to specify an additional, non-standard message delimiter for processing plain tcp syslog. This is primarily a fix for the invalid framing used in Juniper's NetScreen products. Credit to forum user Arv for suggesting this solution.
· added $InputTCPServerInputName property, which enables a name to be specified that will be available during message processing in the inputname property. This is considered useful for logic that treats messages differently depending on which input received them.
· added $PreserveFQDN config file directive Enables to use FQDNs in sender names where the legacy default would have stripped the domain part. Thanks to BlinkMind, Inc. http://www.blinkmind.com for sponsoring this development.
· bugfix: imudp went into an endless loop under some circumstances (but could also leave it under some other circumstances...) Thanks to David Lang and speedfox for reporting this issue.
December 4th, 2008· security bugfix: $AllowedSender was not honored, all senders were permitted instead (see security advisory)
· bugfix: imklog did not compile on FreeBSD
· merged in all other changes from 3.20.1 (see there)
December 4th, 2008· security bugfix: $AllowedSender was not honoured, all senders were permitted instead (see security advisory)
· enhance: regex nomatch option "ZERO" has been added This allows to return the string 0 if a regular expression is not found. This is probably useful for storing numerical values into database columns.
· bugfix: memory leak in gtls netstream driver fixed memory was lost each time a TLS session was torn down. This could result in a considerable memory leak if it happened quite frequently (potential system crash condition)
· doc update: documented how to specify multiple property replacer options + link to new online regex generator tool added
· minor bufgfix: very small memory leak in gtls netstream driver around a handful of bytes (< 20) for each HUP
· improved debug output for regular expressions inside property replacer RE's seem to be a big trouble spot and I would like to have more information inside the debug log. So I decided to add some additional debug strings permanently.
November 19th, 2008· This release contains many enhancements that allow the engine to process many more events per second than any previous version.
· This was made possible thanks to large changes inside the rsyslog core.
· Consequently, there is ample room for bugs, so this version should be used with care.
· Note that it also contains some additional bugfixes and small feature enhancements that are not found in other versions.
November 11th, 2008· This version brings all features of the current development to the beta branch.
· It also contains one new addition: the ability to replace a not found regular expression match with a zero.
· This can be useful for storing numerical values into databases.
· This is a recommended update for all beta branch users.
November 5th, 2008· This is the next iteration of the v3-stable branch. Most importantly, TLS support is now also available in the stable branch.
· This version includes all features of the current beta plus a bugfix.
· For users of the v3-stable branch, it brings many feature enhancements.
· This is a recommended update for all v3-stable branch users.
September 30th, 2008· performance optimization: unnecessary time() calls during message parsing removed - thanks to David Lang for his excellent performance analysis
· added new capability to property replacer: multiple immediately successive field delimiters are treated as a single one. Thanks to Zhuang Yuyao for the patch.
· added message property "inputname", which contains the name of the input (module) that generated it. Presence is depending on suport in each input module (else it is blank).
· added system property "$myhostname", which contains the name of the local host as it knows itself.
· imported a number of fixes and enhancements from the stable and devel branches, including a fix to a potential segfault on HUP when using UDP listners
· re-enabled gcc builtin atomic operations and added a proper ./configure check
· bugfix: potential race condition when adding messages to queue There was a wrong order of mutex lock operations. It is hard to believe that really caused problems, but in theory it could and with threading we often see that theory becomes practice if something is only used long enough on a fast enough machine with enough CPUs
· cleaned up internal debug system code and made it behave better in regard to multi-threading
September 18th, 2008· This version contains a number of fixes.
· Most importantly, one bug that could cause undesired message discarding when the queue is nearly full was fixed.
· This was caused by an invalid default enabling of discard-on-queue-full when this was not explicitly configured.
· All users of the v3-stable branch are advised to update to this release.