2.0.10 Wed, 19 Nov 2008 11:04:20 +0100 NOTE: this release fixes a security problem CVE-2008-5110, see the changelog below for more details. Bugfixes: * Fixed Solaris door support, the door portion of sun-streams() sources did not work in previous releases, as the door specific thread was lost through the fork() call used to background syslog-ng. * Fixed a possible segfault if non-existing, optional source files are present in the configuration. * Fixed the internal representation of "facility" values, earlier an 8 bit value was used for both the priority and facility values, and although systems do not define facilities in this range, the LOG_FACMASK macro defines two additional bits. The type of this field was changed to 16 bits. * Fixed a possible 100% CPU usage case on HP-UX. HP-UX may return POLLERR on its own without the other flags set, this was not properly handled by syslog-ng, causing it to spin on the CPU. * Fixed chroot() support to change into the chrooted directory after chroot is invoked. This fixes the security problem CVE-2008-5110. NOTE: this vulnerability is not exploitable on its own, it only makes breaking out of the jail somewhat easier. Please also NOTE that, even with this patch applied, it is still possible to break out of the jail if syslog-ng is running as root. 2.0.9 Sun, 23 Mar 2008 21:36:47 +0100 Bugfixes: * Fixed handling more than 256 destinations by changing the reference counter type of LogMessages to a 16 bit value. * Fixed a possible SIGABRT crash if the hosts file passed to dns-cache-hosts() had multiple entries with the same IP address. * Fixed a possible crash during startup if "-g" was specified without using "-u". 2.0.8 Thu, 31 Jan 2008 12:38:21 +0100 Bugfixes: * Fixed a regression in 2.0.7 that caused destination files not to be reopened when syslog-ng was reopened. This causes potential problems with log rotation. * Fixed DNS cache size checking, persistent DNS cache entries were also counted against dns_cache_size() which might decrease cache space significantly when a large /etc/hosts file is in use. * Fixed a bug that caused the persistent DNS cache (e.g. /etc/hosts) to be reloaded for all name resolution requests. Other changes: * Fixed sample configuration file for RedHat. * Some portability changes in loggen. * Added cygwin packaging files to contrib/cygwin-packaging. 2.0.7 Thu, 03 Jan 2008 07:01:59 +0100 Bugfixes: * Fixed UNIX domain socket destinations on Solaris. * Fixed flow-control behavior for follow-mode source files. * Added the 'mark' keyword to be an alias of 'mark_freq' for compatibility with syslog-ng 1.6. * Fixed message loss in destination files during configuration reloads that occurred when syslog-ng was under heavy load. * Fixed a possible segmentation fault in the dns-cache-host() file-parsing code that occurred with certain improperly formatted host files. * Fixed possible "Insufficient buffer space" errors in the STREAMS driver. * Fixed the starvation of the timer used to reap unused destination files, which could cause some files never to be closed under heavy load. * Fixed the parsing of ISO timestamps that do not contain timezone information, or the fraction of the second portion is listed on too many digits. * Added a workaround for possible deadlocks on /proc/kmsg and user terminals. * Fixed program-name parsing that caused problems for TAG values that include the '/' character. This problem was introduced in 2.0.6. Other changes: * The fsync() option was implemented. * Added support for file sources that do not exist at startup. * Added support the "--persist-file" configuration option. * Added support for timestamps used by some Linksys routers. * Added the loggen tool to generate syslog messages at the specified rate. 2.0.6 Tue, 27 Nov 2007 10:35:27 +0100 IMPORTANT NOTES: * There are two possible Denial of Service fixes in this version of syslog-ng, therefore it is strongly recommended to upgrade to this version. Bugfixes: * HP-UX related build and runtime fixes, backported from the Premium Edition. * If unable to resolve the name of the target host, syslog-ng failed to initialize the TCP/UDP destination drivers. This behavior has been corrected. * Corrected program name parsing in incoming messages. * Fixed a problem in handling messages which lacked explicit timezone information, but the administrator specified a timezone for the messages. * Fixed some minor memory leaks in configuration reloads. * Fixed a segmentation fault which occurred when the timestamp of the incoming messages did not end with a space character (NULL pointer dereference). This is an easy Denial of Service possibility. * Fixed a segmentation fault which occurred when the PID macro was used and the message had a closing bracket (']') before an opening bracket ('['). * Fixed a possible segmentation fault for UDP6/TCP6 destinations. * Fixed IPv6 scope id resolution for link-local addresses. * Solaris related fixes. 2.0.5 Sun, 22 Jul 2007 15:15:18 +0200 Bugfixes: * Fixed the configure script to automatically detect whether libnet is installed and disable spoof-source support if it isn't. * Fixed the processing of the global log_fifo_size() option, in some cases the global option did not have an effect. * Fixed possible blocking on /proc/kmsg during boot, when a great number of messages kernel messages are generated. * Fixed a possible segfault during the syslog-ng exit procedure, that can be triggered by stopping a syslog-ng instance after it had been reloaded at least once. Other changes: * Increased the default value for max-connections to 256 for UNIX stream sources. * Added support for PIX timestamps that includes year information. * Added support for fractions of a second information in BSD timestamps generated by some Cisco gear. 2.0.4 Mon, 14 May 2007 11:47:48 +0200 IMPORTANT NOTES: * This version of syslog-ng fixes a bug in enforcing the max-connections() limit for various stream-like sources (unix-stream and tcp). Previously this limit was not enforced, thus production environments may use an inadequate value. Validate your max-connection() settings before upgrading and check your logs for rejected connections. Bugfixes: * Fixed configuration parsing of the localport() and port() parameters. * Fixed template_escape() for non-ASCII characters. * Fixed facility() filter evaluation problems. * Fixed a possible segmentation fault during shutdown, when pending messages were still present in the destination queue of a flow-controlled destination. * Fixed sign of timezone when parsed from the configuration file. * Fixed counting the number of established connections, the value used when comparing against the max-connections() parameter. Features: * Added support for rotated source files. * Added support for perl-like regexp flags to make it possible to specify case-insensitive regular expressions. 2.0.3 Mon, 26 Mar 2007 14:10:00 +0200 Bugfixes: * Fixed a possible segmentation fault in the usertty() destination driver when it was referenced on a log path with disabled flow-control. * Fixed various usertty() functionality problems. * Removed the 1024 byte limitation of internally generated messages. * Clarified the text of various internal messages, consistency updates for message severities. * Increased the minimum value for log_fifo_size to 1000 elements. * HP-UX portability fixes. * Some minor documentation fixes. Features: * Added spoof-source support for IPv4 & IPv6 to match 1.6.x functionality. * Added support for remembering the last posistion of file sources across restarts. * Added tcp-wrapper support. * Added support for more than 9 regexp matches. 2.0.2 Fri, 26 Jan 2007 08:45:59 +0100 Bugfixes: * Fixed compilation problems in dnscache on non-Linux systems, such as Solaris and BSDs * Fixed an incompatibility between 1.6.x and 2.0.x when parsing user/group information from the configuration file. * Remove trailing \0 and \n characters from a message before processing, removes an unnecessary trailing space from messages. * Fixed handling utmp entries in the usertty() driver, which contain a full path to the tty. Features: * Readded missing tcp-keep-alive() option with a new name consistent with the rest of the socket options (so_keepalive). 2.0.1 Thu, 21 Dec 2006 09:23:44 +0100 Bugfixes: * Fixed a possible syslog-ng hang when a program destination stalled. * Fixed source priorities to avoid starving log listeners. If a continous stream of messages were processed, this could cause new connections not to be accepted, causing a system deadlock. * Don't fail startup if a network connection fails. * Portability fixes. * Fixed another timezone calculation problem. Features: * Readded missing remove_if_older() functionality which was present in 1.6.x but missing from 2.0.x so far. The name of the option was changed to overwrite_if_older(), but the old name remains for compatibility. * Readded DNS cache functionality, which was missing from the 2.0.x branch so far. * Added support for static IP->name mapping without reliance on DNS. Other changes: * Documentation updates. 2.0rc4 Tue, 24 Oct 2006 13:33:55 +0200 Bugfixes: * Another leak fix in 2.0rc2 caused syslog-ng to crash when a destination TCP/unix-stream connection was broken. * Fixed EOF detection for destination connections. 2.0rc3 Thu, 14 Sep 2006 14:34:59 +0200 Bugfixes: * One of the leak fixes in 2.0rc2 caused syslog-ng to immediately segfault when a template is specified for an output. This was fixed. 2.0rc2 Mon, 11 Sep 2006 12:06:30 +0200 Bugfixes: * Fixed a filter evaluation bug on platforms that have unsigned characters by default. * Fixed a denial of service problem when a zero sized UDP packet is received (was taken as an EOF and the input channel was closed). * Fixed NL handling for datagram transports. * Fixed IPv6 name resolution. * Fixed "Duplicate stats counter" message upon reload for program() destinations. * Fixed various memory leaks. 2.0rc1 Sat, 08 Jul 2006 13:52:50 +0200 Some minor new features: * Added LEVEL_NUM and FACILITY_NUM macros. * Added optional() support for destination files to avoid flooding the log if a given destination cannot be opened. Bugfixes: * Fixed priority range filter evaluation. * Portability fixes for various OSs (Solaris, AIX and HP-UX) and architectures (64bit CPUs) * In the case of a broken connection don't reconnect immediately, but wait some time specified by time_reopen() to match 1.6.x behaviour. * Fixed a reproducible segmentation fault in UNIX domain socket destinations. * Fixed dir_group() handling. Other changes: * Documentation updates. 2.0.0 Sat, 28 Oct 2006 17:32:50 +0200 Bugfixes: * Fixed some compilation warnings when using gcc4 * Fixed a problem in restarting program destinations, that could cause several instance of the program to run. * Fixed a UNIX domain socket format issue that sometimes caused a memory dump to be displayed in place of the socket name. * Fixed a bug in handling broken destination connections. Other changes: * Documentation updates.