3.9.1
Features
-
Improve parsing performance in case of keep-timestamp(no), earlier the
timestamp was parsed and then dropped, now we don't parse it, which is a
2x performance improvement in reception speed. -
TLS based transports will publish the peer's certificate in a set of
name-value pairs, as follows:- .tls.x509_cn - X.509 common name
- .tls.x509_o - X.509 organization string
- .tls.x509_ou - X.509 organizational unit
-
Improve performance of the tcp() source, due to a bug, syslog-ng
attempted to apply position tracking to messages coming over a TCP
transport, which is used for file position tracking and causing
performance degradation. This bug is fixed, causing performance to be
increased. (#1195) -
Make it possible to configure the listen-backlog() for any stream based
transports (unix-stream and tcp). Earlier this was hard-wired at 256
connections, now can be tuned using an option. For example:tcp(port(6514) listen-backlog(2048));
-
Add a groupunset() rewrite rule that pairs up with groupset() but instead
of setting values it unsets them. (#1235) -
Add support for Elastic Shield (#1228) and SearchGuard (#1223)
-
kv-parser() is now able to cope with unquoted values with an embedded
space in them, it also trims whitespace from keys/values and is in
general more reliable in extracting key-value pairs from arbitrary log
messages. -
Improve performance for java based destinations. (#1243)
-
Add prefix() option to add-contextual-data()
Bugfixes
-
Fix a potential crash in the file destination, in case it is a template
based filename and time-reap() is elapsed. (#1183) -
Fix a potential ACK problem within syslog-ng that can cause input windows
to overflow queue sizes over time, effectively causing message drops that
shouldn't occur. (#1230) -
Fix a heap corruption bug in the DNS cache, in case the maximum number of
DNS cache entries is reached. (#1218) -
Fix timestamp for suppression messages. (#1233)
-
Fix add-contextual-data() to support CRLF line endings in its CSV input
files. -
Fixed key() option parsing in riemann() destinations.
-
Find libsystemd-journal related functions in both libsystemd-journal.so
and libsystemd.so, as recent systemd versions bundled all systemd
related libs into the same library. -
Fixed the build-time detection of system-wide installed librabbitmq,
libmongoc and libcap. -
Fix the file source to repeatedly check for unexisting files, as a bug
caused syslog-ng to stop after two attempts previously. (#841) -
The performance testing tool "loggen" crashed if it was used to generate
messages on multiple threads over TLS. This was now fixed. (#1182) -
Fix an issue in the syslog-parser() parser, so that timestamps parsed
earlier in the log path are properly overwritten. Earlier a time-zone
setting may have remained in the timestamp in case the first timestamp
did contain a timezone and then the one parsed by syslog-parser() didn't.
(#1206) -
Due to a compilation issue, tcp-keepalive-time(), tcp-keepalive-intvl() and
tcp-keepalive-probes() were not working, now they are again. (#1214) -
The --disable-shm-counters option is now passed to mongo-c-driver to work
around a minor security issue (#1219).https://jira.mongodb.org/plugins/servlet/mobile#issue/CDRIVER-1691/comment/1405406
-
Fix compilation issues on FreeBSD. (#1252)
-
Add support to month names in all caps in syslog timestamps. At least one
device seems to generate these. (#1263) -
The options() option to java destination can now accept numbers and not
just strings. -
Fix a memory leak in the java destination driver, that may affect java
based destinations like ElasticSearch, Kafka & HDFS.
Other changes
- HDFS was updated to 2.7.3
- Elasticsearch was updated to 2.4.0
- Support was added for OpenSSL 1.1.x (#1281)
Notes to the Developers
- We started to standardize our tests on the criterion unit testing
framework, please submit all new tests using this framework. Patches to
convert existing ones are also welcome.
https://github.com/Snaipe/Criterion - We also added a configuration file for astyle and accompanying make
targets to check/reformat the source code to meet syslog-ng's style. - debian/ directory has been removed from the "master" branch and is now
maintained in a separate "release" branch.
Credits
syslog-ng is developed as a community project, and as such it relies
on volunteers, to do the work necessarily to produce syslog-ng.
Reporting bugs, testing changes, writing code or simply providing
feedback are all important contributions, so please if you are a user
of syslog-ng, contribute.
We would like to thank the following people for their contribution:
Lászlo Várady, 0xddaa, Balázs Scheidler, Tamás Nagy, László Budai,
Fabien Wernli, Viktor Juhász, Kyle Manna, Michael Wimpy, Noémi Ványi,
Attila Szalay, Tibor Bodnár, Zoltán Pallagi