diff options
author | Michael Biebl <biebl@debian.org> | 2008-03-29 12:15:13 +0100 |
---|---|---|
committer | Michael Biebl <biebl@debian.org> | 2008-03-29 12:15:13 +0100 |
commit | 9b68e0f3a37ec87dff0f24665a89cd36c8adcb72 (patch) | |
tree | 248494aafae9aa9cd54b0fd628fde0558dfb5f20 | |
parent | 4f9e746bd83a363f2f66a1f31ed9fd92f614754e (diff) | |
download | rsyslog-9b68e0f3a37ec87dff0f24665a89cd36c8adcb72.tar.gz |
Imported Upstream version 2.0.3upstream/2.0.3
-rw-r--r-- | ChangeLog | 10 | ||||
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/bugs.html | 39 | ||||
-rw-r--r-- | doc/features.html | 34 | ||||
-rw-r--r-- | doc/property_replacer.html | 27 | ||||
-rw-r--r-- | doc/rsconf1_escapecontrolcharactersonreceive.html | 5 | ||||
-rw-r--r-- | doc/status.html | 17 | ||||
-rw-r--r-- | module-template.h | 2 | ||||
-rw-r--r-- | modules.c | 12 | ||||
-rw-r--r-- | omfile.c | 5 | ||||
-rw-r--r-- | rfc3195d.8 | 3 | ||||
-rw-r--r-- | rklogd.8 | 3 | ||||
-rw-r--r-- | rsyslog.conf.5 | 4 | ||||
-rw-r--r-- | rsyslogd.8 | 3 | ||||
-rw-r--r-- | syslogd.c | 3 |
16 files changed, 90 insertions, 99 deletions
@@ -1,4 +1,14 @@ --------------------------------------------------------------------------- +Version 2.0.3 STABLE (rgerhards), 2008-03-12 +- bugfix: setting for $EscapeCopntrolCharactersOnReceive was not + properly initialized +- bugfix: resolved potential segfault condition on HUP (extremely + unlikely to happen in practice), for details see tracker: + http://bugzilla.adiscon.com/show_bug.cgi?id=38 +- improved the man pages a bit - thanks to Michael Biebl for the patch +- bugfix: not properly initialized data could cause several segfaults if + there were errors in the config file - thanks to varmojfekoj for the patch +--------------------------------------------------------------------------- Version 2.0.2 STABLE (rgerhards), 2008-02-12 - fixed a bug that could cause invalid string handling via strerror_r varmojfekoj provided the patch - many thanks! @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for rsyslog 2.0.2. +# Generated by GNU Autoconf 2.61 for rsyslog 2.0.3. # # Report bugs to <rsyslog@lists.adiscon.com.>. # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='rsyslog' PACKAGE_TARNAME='rsyslog' -PACKAGE_VERSION='2.0.2' -PACKAGE_STRING='rsyslog 2.0.2' +PACKAGE_VERSION='2.0.3' +PACKAGE_STRING='rsyslog 2.0.3' PACKAGE_BUGREPORT='rsyslog@lists.adiscon.com.' ac_unique_file="syslogd.c" @@ -1409,7 +1409,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rsyslog 2.0.2 to adapt to many kinds of systems. +\`configure' configures rsyslog 2.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1479,7 +1479,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rsyslog 2.0.2:";; + short | recursive ) echo "Configuration of rsyslog 2.0.3:";; esac cat <<\_ACEOF @@ -1593,7 +1593,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rsyslog configure 2.0.2 +rsyslog configure 2.0.3 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1607,7 +1607,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rsyslog $as_me 2.0.2, which was +It was created by rsyslog $as_me 2.0.3, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2297,7 +2297,7 @@ fi # Define the identity of the package. PACKAGE='rsyslog' - VERSION='2.0.2' + VERSION='2.0.3' cat >>confdefs.h <<_ACEOF @@ -25284,7 +25284,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rsyslog $as_me 2.0.2, which was +This file was extended by rsyslog $as_me 2.0.3, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25337,7 +25337,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -rsyslog config.status 2.0.2 +rsyslog config.status 2.0.3 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index bb66bfd..15c73da 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([rsyslog],[2.0.2],[rsyslog@lists.adiscon.com.]) +AC_INIT([rsyslog],[2.0.3],[rsyslog@lists.adiscon.com.]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([syslogd.c]) AC_CONFIG_HEADERS([config.h]) diff --git a/doc/bugs.html b/doc/bugs.html index 8f77560..a12c43f 100644 --- a/doc/bugs.html +++ b/doc/bugs.html @@ -4,37 +4,14 @@ </head> <body> <h1>rsyslog bugs and annoyances</h1> -<p><b>This page lists the known bugs rsyslog has to offer.</b> Please note that -we also have a -<a href="http://sourceforge.net/tracker/?atid=696552&group_id=123448&func=browse"> -bug tracker at sourceforge.net</a>. This list here contains more architectural -things while the bug tracker most often lists things that you will actually -experience. Please be sure to visit the bug tracker in addition to this list -here.</p> -<p>This list has last been updated on 2007-07-30 by +<p><b>This page lists the known bugs rsyslog has to offer.</b> It lists +old and esoteric bugs. A live list of bugs is contained in our bugzilla. <b> +<font color="#FF0000">Please visit </font><a href="http://www.rsyslog.com/bugs"> +<font color="#FF0000">http://www.rsyslog.com/bugs</font></a></b> to see what we +have. There, you can also open your own bug report if you think you found one.</p> +<p>This list has last been updated on 2008-02-12 by <a href="http://www.adiscon.com/en/people/rainer-gerhards.php">Rainer Gerhards</a>.</p> <h1>rsyslogd</h1> -<h2>stability in multithreaded mode</h2> -<p>We have some reports that rsyslogd, if compiled with multi-threading enabled, -segfaults in some environments. We are actively looking at fixing this issue, -but as it does not occur in our lab environment, that unfortunately takes some -time. If you experience a segfault, please report it. As a work-around, you can -compile rsyslog without multi-threading:</p> -<p>./configure --disable-pthreads<br> -make clean<br> -make<br> -make install</p> -<p>This somewhat reduces the ability to handle large message bursts, but even in -single-threaded mode rsyslogd offers great performance (just think that stock -sysklogd has always been using a single thread, only).</p> -<h2>forwarding remotely received messages</h2> -<p>Sysklogd does not forward remotely received messages to other network -destination except when the -h option is given. This code is currently defunct. -No matter if -h is specified or not, messages are ALWAYS forwarded. It is -currently under review if the sysklogd's functionality is actually needed. -Please see my -<a href="http://rgerhards.blogspot.com/2007/07/on-syslogd-h-option.html">blog -post on this topic</a> for further detail.</p> <h2>EQUALLY-NAMED TEMPLATES</h2> <p>If multiple templates with the SAME name are created, all but the first definition is IGNORED. So you can NOT (yet) replace a @@ -46,10 +23,6 @@ names...).</p> <p>This format is actually not 100% compatible with stock syslogd - the date is missing. Will be fixed soon and can also be fixed just via the proper template. Anyone up for this? ;)</p> -<h2>SIGPIPE HANDLING</h2> -<p>Currently, SIGPIPE is ignored. This is necessary to handle broken TCP - connections. We should further look into this issue and see which other - ways exist to handle the situation.</p> <h2>MULTIPLE INSTANCES</h2> <p>If multiple instances are running on a single machine, the one with the -r switch must start first. Also, UDP-based syslog forwarding between the diff --git a/doc/features.html b/doc/features.html index 2899cd7..c71194d 100644 --- a/doc/features.html +++ b/doc/features.html @@ -53,36 +53,12 @@ is going on, you can also subscribe to the <a href="http://lists.adiscon.net/mai <p>The list below is something like a repository of ideas we'd like to implement. Features on this list are typically NOT scheduled for immediate inclusion. We maintain a -<a href="http://sourceforge.net/tracker/?group_id=123448&atid=696555">feature -request tracker at sourceforge.net</a>. This tracker has things typically within +<a href="http://bugzilla.adiscon.com/rsyslog-feature.html">feature +request tracker at our bugzilla</a>. This tracker has things typically within reach of implementation. Users are encouraged to submit feature requests there -(or via our forums). If we like them but they look quite long-lived (aka "not -soon to be implemented"), they will possibly be migrated to this list here and -at some time moved back to the sourceforge tracker.</p> -<ul> - <li>create a plug-in-interface - we are very close to this. A neat interface is - already used internally for output modules and the MySQL module already - works as a plug-in. However, no interface definition is yet formally - published.<li>implement native email-functionality in - selector (probably best done as a plug-in)<li>port it to more *nix variants - (eg AIX and HP UX) - this needs volunteers with access to those machines and - knowledge<li>provide an on-disk queue for syslog messages; should be - combined with reliable delivery to the next hop<li>support for native SSL enryption of plain tcp syslog sessions. This will - most probably happen based on syslog-transport-tls.<li>even more enhanced multi-threading, - with a message queue for each action (when implementing this, search - for CHECKMULTIQUEUE comments in the source - they already contain hints of - what to look at). Some detail information on this can already be found in - <a href="http://rgerhards.blogspot.com/2007/08/syslog-worker-pools-future-hardware-and.html"> - Rainer's blog</a>.<li>pcre filtering - maybe (depending on feedback) - simple regex already - partly added. So far, this seems sufficient so that there is no urgent need - to do pcre<li>support for
<a href="http://www.monitorware.com/Common/en/glossary/rfc3195.php">RFC 3195</a>
as a sender - this is currently unlikely to happen, because there is no real - demand for it. Any work on RFC 3195 has been suspend until we see some real - interest in it. It is probably much better to use TCP-based syslog, - which is interoperable with a large number of applications. You may also - read my blog post on the future of liblogging, which contains interesting - information about the - <a href="http://rgerhards.blogspot.com/2007/09/where-is-liblogging-heading-to.html"> - future of RFC 3195 in rsyslog</a>.</ul> +(or via our forums). <b>Please note that rsyslog v2 is feature-complete. New +features will be implemented in the v3 branch only. </b>Version 3 already has a +number of very exciting additional features.</p> <p>To see when each feature was added, see the <a href="http://www.rsyslog.com/Topic4.phtml">rsyslog change log</a> (online only).</p> diff --git a/doc/property_replacer.html b/doc/property_replacer.html index 3df2fd0..4b98774 100644 --- a/doc/property_replacer.html +++ b/doc/property_replacer.html @@ -125,14 +125,29 @@ are defined:</p> <tr><td><b>date-mysql</b></td><td>format as mysql date</td></tr> <tr><td><b>date-rfc3164</b></td><td>format as RFC 3164 date</td></tr> <tr><td><b>date-rfc3339</b></td><td>format as RFC 3339 date</td></tr> -<tr><td><b>escape-cc</b></td><td>replace control characters (ASCII value 127 and - values less then 32) with an escape sequence. The sequnce is "#<charval>" +<tr> + <td><b>escape-cc</b></td><td>replace control characters (ASCII value 127 and + values less then 32) with an escape sequence. The sequence is "#<charval>" where charval is the 3-digit decimal value of the control character. For - example, a tabulator would be replaced by "#009".</td></tr> -<tr><td><b>space-cc</b></td><td>replace control characters by spaces</td></tr> -<tr><td><b>drop-cc</b></td><td>drop control characters - the resulting string + example, a tabulator would be replaced by "#009".<br> + Note: using this option requires that + <a href="../../rsyslog/doc/rsconf1_escapecontrolcharactersonreceive.html">$EscapeControlCharactersOnReceive</a> + is set to off.</td> +</tr> +<tr> + <td><b>space-cc</b></td><td>replace control characters by spaces<br> + Note: using this option requires that + <a href="../../rsyslog/doc/rsconf1_escapecontrolcharactersonreceive.html">$EscapeControlCharactersOnReceive</a> + is set to off.</td> +</tr> +<tr> + <td><b>drop-cc</b></td><td>drop control characters - the resulting string will neither contain control characters, escape sequences nor any other - replacement character like space.</td></tr> + replacement character like space.<br> + Note: using this option requires that + <a href="../../rsyslog/doc/rsconf1_escapecontrolcharactersonreceive.html">$EscapeControlCharactersOnReceive</a> + is set to off.</td> +</tr> </table> <h2>Further Links</h2> diff --git a/doc/rsconf1_escapecontrolcharactersonreceive.html b/doc/rsconf1_escapecontrolcharactersonreceive.html index a885511..2691773 100644 --- a/doc/rsconf1_escapecontrolcharactersonreceive.html +++ b/doc/rsconf1_escapecontrolcharactersonreceive.html @@ -14,6 +14,11 @@ (like Japanese, Chinese and Korean)</li> <li>turning on this option destroys digital signatures if such exists inside the message</li> + <li>if turned on, the drop-cc, space-cc and escape-cc + <a href="property_replacer.html">property replacer</a> options do not work + as expected because control characters are already removed upon message + reception. If you intend to use these property replacer options, you must + turn off $EscapeControlCharactersOnReceive.</li> </ul> <p><b>Sample:</b></p> <p><code><b>$EscapeControlCharactersOnReceive on</b></code></p> diff --git a/doc/status.html b/doc/status.html index 503892b..90cb44d 100644 --- a/doc/status.html +++ b/doc/status.html @@ -4,17 +4,18 @@ </head> <body> <h2>rsyslog status page</h2> -<p>This page reflects the status as of 2008-02-12.</p> +<p>This page reflects the status as of 2008-03-12.</p> <h2>Current Releases</h2> -<p><b>development:</b> 3.11.0 - -<a href="http://www.rsyslog.com/Article169.phtml">change log</a> - -<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-76.phtml">download</a></p> -<p><b><font color="#FF0000"><a href="v3compatibility.html">Be sure to read the -rsyslog v3 compatibility document!</a></font></b><br> +<p><b>development:</b> 3.12.1 - +<a href="http://www.rsyslog.com/Article187.phtml">change +log</a> - +<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-85.phtml">download</a></p> +<p><b><font color="#ff0000"><a href="v3compatibility.html">If you used version 2, be sure to read the rsyslog v3 +compatibility document!</a></font></b><br> Documentation for 3.x is currently sparse. If you need assistance, please <a href="http://www.rsyslog.com/PNphpBB2.phtml">post in the rsyslog forums</a>!</p> -<p><b>stable:</b> 2.0.2 - <a href="http://www.rsyslog.com/Article171.phtml">change log</a> - -<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-77.phtml">download</a></p> +<p><b>stable:</b> 2.0.3 - <a href="http://www.rsyslog.com/Article189.phtml">change log</a> - +<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-86.phtml">download</a></p> <p> (<a href="version_naming.html">How are versions named?</a>)</p> <h2>Platforms</h2> <p>Thankfully, a number of folks have begin to build packages and help port diff --git a/module-template.h b/module-template.h index 13ae4b8..a5ece4f 100644 --- a/module-template.h +++ b/module-template.h @@ -260,7 +260,7 @@ finalize_it:\ *ppOMSR = NULL;\ }\ if(pData != NULL)\ - freeInstance(&pData);\ + freeInstance(pData);\ } #define ENDparseSelectorAct \ @@ -378,6 +378,18 @@ rsRetVal modUnloadAndDestructDynamic(void) } } + /* Note: the last modules pNext pointer is now invalid + * (except if the last module was not touched, what is highly + * unlikely. We simply fix this be setting it to NULL. After all, + * it is the last module ;). This bug had some severe effects in + * v3, but none in v2 because in v2 the list was never again + * traversed before a new one was added. But even in v2 it may cause + * a segfault if the number of loaded modules changed between HUPs. + * rgerhards, 2008-02-26 + */ + if(pLoadedModulesLast != NULL) + pLoadedModulesLast->pNext = NULL; + return iRet; } /* @@ -344,7 +344,8 @@ static void dynaFileFreeCache(instanceData *pData) dynaFileDelCacheEntry(pData->dynCache, i, 1); } - free(pData->dynCache); + if(pData->dynCache != NULL) + free(pData->dynCache); } @@ -605,7 +606,7 @@ BEGINfreeInstance CODESTARTfreeInstance if(pData->bDynamicName) { dynaFileFreeCache(pData); - } else + } else if(pData->fd != -1) close(pData->fd); ENDfreeInstance @@ -1,7 +1,7 @@ .\" Copyright 2005 Rainer Gerhards and Adiscon for the rsyslog modifications .\" Distributed under the GNU General Public License. .\" -.TH RSYSLOGD 8 "03 July 2007" "Version 1.14.2 (devel)" "Linux System Administration" +.TH RSYSLOGD 8 "12 February 2008" "Version 2.0.2" "Linux System Administration" .SH NAME rfc3195d \- RFC 3195 listener .SH SYNOPSIS @@ -82,4 +82,3 @@ protocol handling. .PD 0 .TP Rainer Gerhards <rgerhards@adiscon.com> -.zZ @@ -4,7 +4,7 @@ .\" Sun Nov 19 23:22:21 MET: Martin Schulze: Updates .\" Mon Aug 19 09:42:08 CDT 1996: Dr. G.W. Wettstein: Updates .\" -.TH RKLOGD 8 "03 JULY 2007" "Version 1.14.2 (devel)" "Linux System Administration" +.TH RKLOGD 8 "12 February 2008" "Version 2.0.2" "Linux System Administration" .SH NAME rklogd \- Kernel Log Daemon .LP @@ -438,4 +438,3 @@ Roger Maris Cancer Center .TP Fargo, ND 58122 .PD -.zZ diff --git a/rsyslog.conf.5 b/rsyslog.conf.5 index 7f6ca98..a21aca0 100644 --- a/rsyslog.conf.5 +++ b/rsyslog.conf.5 @@ -17,7 +17,7 @@ .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. .\" -.TH RSYSLOG.CONF 5 "04 September 2007" "Version 1.19.4" "Linux System Administration" +.TH RSYSLOG.CONF 5 "12 February 2008" "Version 2.0.2" "Linux System Administration" .SH NAME rsyslog.conf \- rsyslogd(8) configuration file .SH DESCRIPTION @@ -527,7 +527,7 @@ extract from a position until the end of the string, you can place a dollar-sign (e.g. %msg:10:$%, which will extract from position 10 to the end of the string). There is also support for -.Bregular expressions. +.B regular expressions. To use them, you need to place a "R" into FromChar. This tells rsyslog that a regular expression instead of position-based extraction is desired. The actual regular expression @@ -1,7 +1,7 @@ .\" Copyright 2004-2005 Rainer Gerhards and Adiscon for the rsyslog modifications .\" May be distributed under the GNU General Public License .\" -.TH RSYSLOGD 8 "11 December 2008" "Version 1.20.1 (devel)" "Linux System Administration" +.TH RSYSLOGD 8 "12 February 2008" "Version 2.0.2" "Linux System Administration" .SH NAME rsyslogd \- reliable and extended syslogd .SH SYNOPSIS @@ -599,4 +599,3 @@ Adiscon GmbH .TP mmeckelein@adiscon.com .PD -.zZ @@ -471,7 +471,7 @@ static int bDebugPrintCfSysLineHandlerList = 1;/* output cfsyslinehandler list i static int bDebugPrintModuleList = 1;/* output module list in debug mode? */ int bDropMalPTRMsgs = 0;/* Drop messages which have malicious PTR records during DNS lookup */ static uchar cCCEscapeChar = '\\';/* character to be used to start an escape sequence for control chars */ -static int bEscapeCCOnRcv; /* escape control characters on reception: 0 - no, 1 - yes */ +static int bEscapeCCOnRcv = 1; /* escape control characters on reception: 0 - no, 1 - yes */ static int bReduceRepeatMsgs; /* reduce repeated message - 0 - no, 1 - yes */ static int bActExecWhenPrevSusp; /* execute action only when previous one was suspended? */ static int logEveryMsg = 0;/* no repeat message processing - read-only after startup @@ -5220,6 +5220,7 @@ static rsRetVal cflineDoAction(uchar **p, action_t **ppAction) /* loop through all modules and see if one picks up the line */ pMod = omodGetNxt(NULL); while(pMod != NULL) { + pOMSR = NULL; iRet = pMod->mod.om.parseSelectorAct(p, &pModData, &pOMSR); dbgprintf("tried selector action for %s: %d\n", modGetName(pMod), iRet); if(iRet == RS_RET_OK || iRet == RS_RET_SUSPENDED) { |