Version 8.38.0 [v8-stable] 2018-09-18
- AIX: make basic modules work again
- make rsyslog build on AIX again
- imfile: support for endmsg.regex
- imkafka: add parameter "parseHostName"
- im[p]tcp: improve error message on connect failure
- imkafka: implement multithreading support for kafka consumers.
- omelasticsearch: write all header metadata to $.omes for retries
- core: improve error message on module load fail
- core/queue: add error message if queue file cannot be accessed
- imtcp/imudp: new option preservecase for managing the case of
FROMHOST value
- omprog: add feedback timeout and keep-alive feature
- omprog: fix forceSingleInstance configuration option
- imfile: implement file-id, used in state file
- imfile: experimental input throtteling feature
- core: emit TZ warning on startup not on Linux non-container
- omkafka:
- better debug information
- Fixed minor issue in omkafka producing wrong kafka timestamps when
msgTimestamp was NULL.
- Setting RD_KAFKA_V_KEY(NULL, 0) in rd_kafka_producev now when KEY
is not configured.
- Fixed minor issue when rsyslog is compiled with --enable-debug and
librdkafka is too old.
- omfile bugfix: errant error message when dynafile param needed
- omhttp: new contribued module
- mmkubertnetes: action fails preparation cycle if kubernetes API
destroys resource during bootup sequence
- bugfix pmnormalize/core: several memory leaks, invld property
handling
- bugfix imptcp: fixed pointers for session counting
- bugfix omprog: invalid memory access on partial writes to pipe
- bugfix omprog: rsyslog's environment was not passed to script
- bugfix omprog: severity of some log messages in waitForChild
corrected
- bugfix imfile: files which were loaded via symlink were not always
followed
- bugfix imfile: potential misadressing when processing symlinks
- bugfix ommongodb: build issue if mongo-c-driver is not compiled with
TLS
- imptcp: add ability to configure socket backlog
- omfile: do not permit filename that only consists of whitespace
- fmhash: new hash function module
- some better error messages
- imklog: add ratelimiting capability
- omkafka: added impstats counters for librdkafka returned statistics
- imudp
* use rsyslog message rate-limiter instead of home-grown one
* add stats counter "disallowed"
- imrelp: add parameter "oversizeMode"
- core: consistent handling of oversize input messages
- omfwd: add support for bind-to-address for UDP
- template systemd service file proposes higher permitted file handle
limit
- imuxsock: replace select() call by poll()
- nsdsel_ptcp: replace select() by poll()
- omprog: refactor tests, fix child closing issues
- core: config optimizer did not handle call_indirect
- debug support: add capability to print testbench-specific timeout
reports
- mmgrok: fix potential segfault
- imrelp bugfix: maxDataSize could be set lower than maxMessageSize
- build system bugfix: build broken if liblogging-stdlog installed in
custom path
- core bugfix: segfault on queue shutdown
- imfile bugfix: statefiles contain invalid JSON
- omfile bugfix: segfault if empty filename was given
- fix build issues when atomic operations are not present
- lmsig_ksils12 bugfix: build and static analyzer issues
- impstats bugfix: segfault if bound to non-existing ruleset
- mmjsonparse bugfix: invalid container name was not detected
- mmkubernetes bugfixes: fix lnrules, add defaults, add test
- build system bugfix: --enable-atomic-operations did not work
- bugfix: rsyslog aborts on startup when specific config errors are
made
- build system: remove no longer needed --enable-libcurl configure
- rsyslogd: add capability to specify that no pid file shall be
written
- ompgsql: considerable enhancements
- build system: removed --enable-rtinst configure option
- pmrfc3164: support for headerless messages
- omhiredis: add option to use RPUSH instead of LPUSH
- mmexternal improvements
- omprog: refactored, code shared with mmexternal moved to common
object
- logctl tool: refactor to support newer rsyslog standards
- imfile: added support for Solaris File Event notification (FEN)
- core/action: new parameter "action.errorfile"
- imfile: added new module parameter "sortFiles"
- imuxsock: improved status reporting: socket name received from
systemd
- build system: added new testbench configure switches
- mmpstrucdata: new parameter "sd_name.lowercase"
- omfile: add module-global option "dynafile.donotsuspend"
- testbench: add a capability to turn off libfaketime tests via
configure
- testbench: name valgrind tests consistently
- RainerScript: add function parse_json()
- RainerScript: add function substring()
- RainerScript: add function http_request()
- RainerScript: add function previous_is_suspended()
- Patches from BSD projects have been imported
- script bugfix: invalid function names were silently ignored
- rainerscript: add int2hex() function
- rainerscript: add is_time() function
- RainerScript: add function script_error() and error-reporting
support
- testbench: fixed build problem of testbench tools under Alpine Linux
- added --enable-libsystemd configure option to enforce use of
libsystemd
- core/glbl: remove long-unused option $optimizeforuniprocessor
- core/queue: emit better status messages at rsyslog shutdown
- fixed a couple of build issues with gcc-7 (in less frequently used
modules)
- fixed a couple of build issues on the arm platform (actually
raspbian)
- impstats: fix invalid counter definitions for getrusage() reporting
- imudp bugfix: potential segfault in ratelimiting
- imptcp bugfix: access to free'ed memory
- mmanon bugfix: fix wrong ipv6 embedded recognition
- imfile bugfix: not detecting files in directory when wildcards are
used.
- script bugfix: improper string-to-number conversion for negative
numbers
- core/action bugfix: 100% CPU utilization on suspension of output
module
- core/variables bugfix: bare $! cannot be used in set statement
- core bugfix: auto commit of actions improperly handled
- core bugfix: filename length limitation of 199 bytes
- core bugfix: undefined behavior due to integer overflow
- core bugfix: race on LocalHostIP property during startup
- bugfix: potential segfault on startup
- omhiredis bugfix: rsyslog segfault on startup if no template is
specified
- omprog bugfix: argv[0] not set when using binary without arguments
- core: refactoring of rsyslog's cstr "class"
- parent directory creation function refactored
- mmsnmptrapd bugfix: potential misadressing
- imkafka: fix potential small ressource leak
- imkafka bugfix: do not emit error message on regular state
- omkafka: expose operational status to user where useful
- omkafka bugfix: potential message duplication
- omkafka: fix multithreading
- omkafka bugfix: potential misadressing
- omkafka bugfix: build fails with older versions of librdkafka
- omgssapi bugfix: fix compiler warnings with gcc-7
- dnscache bugfix: entries were cached based on IP AND port number
- omkafka bugfix: fixed memory leak
- mmdblookup bugfix: replace thread-unsafe strtok() by thread-safe
counterpart
- pmnormalize bugfix: remove unsave "strcat" implementation
- rainerscript bugfix: ltrim() and rtrim function misadressing
- imklog bugfix: local host IP was hardcoded to 127.0.0.1
- cleanup: remove obsolete pre-KSI GuardTime signature interface
- cleanup: obsolete defintion SOL_TCP replaced by newer IPPROTO_TCP
- lookup tables: fixed undefined behavior detected by UBSan
- CHANGE OF BEHAVIOUR: all variables are now case-insensitive by
default
- core: handle (JSON) variables in case-insensitive way
- imjournal: made switching to persistent journal in runtime possible
- mmanon: complete refactor and enhancements
- add pseudonymization mode
- add address randomization mode
- add support for IPv6 (this also supports various replacement
modes)
- in IPv4 address recognition
- in IPv4 simple mode to-be-anonymized bits can get wrong
- imfile: add "fileoffset" metadata
- RainerScript: add ltrim and rtrim functions
- core: report module name when suspending action
- core: add ability to limit number of error messages going to stderr
- tcpsrv subsystem: improvate clarity of some error messages
- imptcp: include module name in error msg
- imtcp: include module name in error msg
- tls improvement: better error message if certificate file cannot be
read
- omfwd: slightly improved error messages during config parsing
- ommysql improvements
- ommysql bugfix: do not duplicate entries on failed transaction
- imtcp bugfix: parameter priorityString was ignored
- template/bugfix: invalid template option conflict detection
- core/actions: fix handling of data-induced errors
- core/action bugfix: no "action suspended" message during retry
processing
- core/ratelimit bugfix: race can lead to segfault
- core bugfix: rsyslog aborts if errmsg is generated in early startup
- core bugfix: informational messages was logged with error severity
- core bugfix: --enable-debugless build was broken
- queue bugfix: file write error message was incorrect
- omrelp bugfix: segfault when rebindinterval parameter is used
- omkafka bugfix: invalid load of failedmsg file on startup if
disabled
- kafka bugfix: problem on invalid kafka configuration values
- imudp bugfix: UDP oversize message not properly handled
- core bugfix: memory corruption during configuration parsing
- core bugfix: race on worker thread termination during shutdown
- omelasticsearch: avoid ES5 warnings while sending json in bulkmode
- omelasticsearch bugfix: incompatibility with newer ElasticSearch
version
- imptcp bugfix: invalid mutex addressing on some platforms
- imptcp bugfix: do not accept missing port in legacy listener
definition
Version 8.27.0 [v8-stable] 2017-05-16
- imkafka: add module
- imptcp enhancements:
* optionally emit an error message if incoming messages are truncated
* optionally emit connection tracking message (on connection create and
close)
* add "maxFrameSize" parameter to specify the maximum size permitted
in octet-counted mode
* add parameter "discardTruncatedMsg" to permit truncation of
oversize messages
* improve octect-counted mode detection: if the octet count is larger
then the set frame size (or overly large in general), it is now
assumed that octet-stuffing mode is used. This probably solves a
number of issues seen in real deployments.
- imtcp enhancements:
* add parameter "discardTruncatedMsg" to permit truncation of
oversize messages
* add "maxFrameSize" parameter to specify the maximum size permitted
in octet-counted mode
- imfile bugfix: "file not found error" repeatedly being reported
for configured non-existing file.
- imfile: in inotify mode, add error message if configured file cannot
be found
- imfile: add parameter "fileNotFoundError" to optinally disable
"file not found" error messages
- core: replaced gethostbyname() with getaddrinfo() call
- omkafka: add "origin" field to stats output
- imuxsock: rate-limiting also uses process name
both for the actual limit procesing as well as warning messages emitted
- Added new module: KSI log signing ver. 1.2 (lmsig_ksi_ls12)
- rsylsog base functionality now builds on osx (Mac)
- build now works on solaris again
- imfile: fix cross-platform build issue
- bugfix core: segfault when no parser could parse message
- bugfix core: rate-limit internal messages when going to external log system
- bugfix core: when obtaining local hostname, a NULL pointer could be
accessed.
- bugfix core: on shutdown, stderr was written to, even if alrady closed
- bugfix core: perform MainqObj destruction only when not NULL already
- bugfix core: memory leak when internal messages not processed internally
- bugfix imptcp: potential overflow in octet count computation
when a very large octet count was specified, the counter could overflow
Version 8.22.0 [v8-stable] 2016-10-04
- ompgsql: add template support
Thanks to Radu Gheorghe for implementing this.
- generate somewhat better error message on config file syntax error
a common case (object at invalid location) has received it's own error
message; for the rest we still rely on the generic flex/bison handler
- bugfix:omhiredis reconnects after failure
previously it could loose messages under such conditions.
Thanks to Bob Gregory for the patch.
- general cleanup and code improvement
mostly guided by compiler warnings induced by newer opensuse builbot
environment
------------------------------------------------------------------------------
Version 8.21.0 [v8-stable] 2016-08-23
- CHANGE OF BEHAVIOUR:
by default, internal messages are no longer logged via the internal
bridge to rsyslog but via the syslog() API call [either directly or
via liblogging). For the typical single-rsyslogd-instance installation this
is mostly unnoticable (except for some additional latency). If multiple
instances are run, only the "main" (the one processing system log messages)
will see all messages. To return to the old behaviour, do either of those
two:
1) add in rsyslog.conf:
global(processInternalMessages="on")
2) export the environment variable RSYSLOG_DFLT_LOG_INTERNAL=1
This will set a new default - the value can still be overwritten via
rsyslog.conf (method 1). Note that the environment variable must be
set in your **startup script**.
For more information, please visit
http://www.rsyslog.com/rsyslog-error-reporting-improved/
- slightly improved TLS syslog error messages
- queue subsystem: improved robustness
The .qi file is now persisted whenever an existing queue file is fully
written and a new file is begun. This helps with rsyslog aborts, including
the common case where the OS issues kill -9 because of insufficiently
configured termination timout (this is an OS config error, but a frequent
one). Also, a situation where an orphaned empty file could be left in the
queue work directory has been fixed. We expect that this change causes
fewer permanent queue failures.
- bugfix: build failed on some platforms due to missing include files