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.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. 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. 1.9.11 Tue, 23 May 2006 19:45:21 +0200 Some minor new features: * Added IPv6 support. * Added multicast support. Bugfixes: * Avoid changing owner/group/permission information for files that do not exist, to avoid clobbering the error value. * Added close-on-exec flag to avoid inheriting file descriptors for programs started by syslog-ng. * Fixed an off-by-one in flush_lines() calculation. * Fixed a possible memory leak. * Fixed a CPU spinning possibility when a non-existing filter is referenced on the log path the processes internal() messages. * Fixed hanging on reading /proc/kmsg on Linux. * Fixed sun-streams() fetching problem on Solaris. Other changes: * Documentation updates. 1.9.10 Mon, 10 Apr 2006 23:33:16 +0200 Some minor new features: * Added netmask() filter which was missing from previous releases. * Readded an implementation of bad_hostname() and check_hostname(). Bugfixes: * Fixed a possible abort in program() destinations and fix to actually restart spawned processes. * Fixed a portability problem in the lexer. * Fixed a possible abort when the user specifies two conflicting UNIX sources. * Disable stats messages instead of busy looping when stats_freq() is set to 0 to match 1.6.x behaviour. * Fixed match space expansion ($N references in templates). * Fixed a possible segmentation fault on write errors. * Fixed filtering on priority levels. * Fixed support for files over 2GB. Other changes: * Documentation updates. 1.9.9 Sun, 26 Feb 2006 09:49:47 +0100 Some minor new features: * Added optional() option to pipe and unix drivers to make syslog-ng start even if the required directories/files do not exist. * Added DNS name resolution to udp and tcp targets. * Added a stats() keyword for 1.6.x compatibility. * Added processed counters for source/destination groups and the log center. * Added normalize_hostnames() option which converts all hostnames to lower case. * Added PID macro. * Added kernel flag to sources to indicate that messages coming from the source should default to 'kern.notice' instead of 'user.notice' * Added frac_digits() option which controls how many digits are printed in second fractions. * Added time_sleep() option to add a fixed latency to the poll loop required in some tuning situations. * Documentation updates. Changes: * Removed stats entries for files as they never lose messages and it would only clutter the log statistics output. * The meaning of the undocumented keep_timestamp() option was changed and documented, it controls whether syslog-ng uses the time of reception or the time included in the log message. Bugfixes: * Fixed port unreachable handling for UDP destinations. * Fixed PRI macro processing as it included the local hostname in addition to the priority value because of a missing break statement. * UNIX domain sockets are kept alive across SIGHUPs by default. * Fixed a possible segmentation fault on SIGHUP. * Fixed timezone extraction from incoming messages with ISO timestamp (only this syslog-ng can send these currently) * Fixed HOST_FROM, FULLHOST_FROM, SOURCEIP, DATE, R_DATE, S_DATE macros (some were still not implemented others worked incorrectly in some circumstances) * Fixed fractions of a second processing. 1.9.8 Tue, 20 Dec 2005 21:51:45 +0100 * Fixed a show-stopper problem in UDP destinations. * Fixed a local-time calculation problem. 1.9.7 Sat, 03 Dec 2005 16:41:58 +0100 * Reworded documentation on flush_lines & flush_timeout. * Fixed a possible segmentation fault on SIGHUP. * Fixed a timezone normalization problem. * Fixed Solaris support. * Fixed MARK support to emit a single mark message only (it was previously implemented for all sources) * Added Debian packaging files. 1.9.6 Sat, 15 Oct 2005 18:07:07 +0200 * Added new options to control buffer flushing (flush_lines and flush_timeout, see the documentation for more details) * Fixes in local timezone detection, it should properly detect DSTs on Linux, Solaris and probably BSDs. * Fixed facility/priority filtering. * Fixed owner/group/permission setting on target files/directories. * Copied the contrib directory as found in 1.6.x to this tree. * TZ macro is now an alias of TZOFFSET, as I could not find a portable way to determine the string representation of any given timezone offset. * Added some more unit tests. 1.9.5 Thu, 07 Jul 2005 11:35:25 +0200 * Documentation updates on new options. * Fixed some timezone related problems cleaned up template specific timezones. * Fixed destination file permission setting problems. * Fixed use_time_recvd() handling, added a note to the documentation that this option is deprecated. * Fixed a destination file fd/memory leak for macro expanded files. * Fixed regexp match references in macro expansion. (e.g. "/var/log/$1") * Added two new macros: STAMP which formats a timestamp according to the ts_format() option, and WEEK which refers to the current week number. * Linking fixes to support more platforms. * Changed local hostname detection to use the value of use_fqdn() and actually use a fully expanded hostname if that is true. * Fixed some configuration file parsing problems which caused user identifiers to be recognized as keywords if they had a common prefix. * Always add fractions of a second if it was received from the application. * Fixed a gcc4 compatibility problem. 1.9.4 Sun, 03 Apr 2005 12:51:55 +0200 Fixed a macro expansion problem back in february, but did not have time to release it until now. Most important changes in this release: * Added a fix for the macro expansion problem. * Added better error reporting to the configure script. 1.9.3 Sat, 22 Jan 2005 01:38:07 +0100 Things are going faster these days, a mere three weeks between releases. I've been running syslog-ng 1.9.2 on my notebook, and was lucky enough to find one or two major bugs this way, but after fixing those things are looking good. I've seen _no_ crashes, though sometimes syslog-ng blocked on reading an external fd, thus causing a system deadlock. Apart from bugfixes the most important changes are that documentation is readded and somewhat even updated with the new features. It was funny rereading the sentences I wrote a couple of years earlier, fixed some embarassing grammatical mistakes. Now, back to the topic, the most important changes in this release are: * Solaris portability fixes, one of the snapshots already compiled cleanly under Solaris, even though I did not test the release itself. * Link against the libraries sitting in /usr statically. * Fixed possible deadlock on internal messages, it was a bad idea to use a pipe internally, it is now replaced with a conventional queue, and a special GSource. * Fixed another possible deadlock caused by some fds not being set to non-blocking mode. * EAGAIN and EINTR was not correctly handled in all cases, fixed those. * Readded documentation, added new macros, template statements, new flags. 1.9.2 Mon, 03 Jan 2005 22:03:02 +0100 Well, it's been a long time since the last syslog-ng development release simply because I was involved in too many things in parallel. Good news that the release is actually quite usable, I've been running it on my laptop for a week now and I think it is now time to gather some real life experience. * Fixed a couple of memory leaks. * Fixed SIGHUP support. * Fixed program startup to make sure all important error information is logged. * Fixed program destinations by adding setsid() call after forking. * Fixed flow controlled log path support. * Added the possibility to use braces around macro references (like in '${MSG}\n') * Added macros missing from this branch added to 1.6.x since the last release (PRI and MSGONLY). 1.9.1 Wed, 22 Jan 2003 12:13:44 +0100 This release is still not intended for production use. It has a good number of new features and a couple of them may not be stable enough. New features: * template declarations, the possibility to define a template once and refer to it * flow controlled log paths work, and they are also configurable * supports RFC3339 timestamps with second fractions and time zones, time zone conversion & source time zone specification * MARK messages are generated * keep alive for connections as well as listeners * the ability to follow log files as they are written to * the possibility to mark parts of a message using standard '(' and ')' regexp operators and refer to matches within templates (either filenames or content) This program is still ALPHA. 1.9.0 Thu, 9 May 2002 20:01:11 +0200 This release is the first release of the new reimplementation of syslog-ng. I moved to using glib instead of libol, as glib is more mature and provides several nice & easy to use features. Here's a bunch of nice things about 1.9.0: * supports flow controlled log paths (still not possible to configure it, but the code exists in the core) * better support for macros (macro support is moved out of affile, thus any other drivers may use it) * more robust detection of closed destination sockets (a closed channel is immediately detected, not at the first write) This avoids losing a log message when the connection is broken. * supports respawning destination programs (should be used with care to avoid DoS situations). This makes it easier to integrate third party extensions to syslog-ng. (SQL backends, on-line log analysis etc) * performance improvements, instead of using linear lookup in linked lists, I use hashtables everywhere. * the ability to define unparsed sources, makes it easier to integrate things like Apache logs * many internal reorganizations to make it easier to implement things like hashed log files, SSL protected TCP sessions and so on. Things still missing: * there are some new features with no configuration interface * internal messages always go to /dev/stderr * Sun's STREAMS is not yet supported 1.9.0 is currently in an ALPHA state, it's been tested only on my development computer, and not real-life traffic.