diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | doc/manual.html | 2 | ||||
-rw-r--r-- | runtime/msg.c | 2 | ||||
-rw-r--r-- | tools/omfwd.c | 4 | ||||
-rw-r--r-- | tools/syslogd.c | 14 |
6 files changed, 34 insertions, 8 deletions
@@ -1,5 +1,12 @@ --------------------------------------------------------------------------- -Version 4.3.2 [beta] (rgerhards), 2009-06-24 +Version 4.4.0 [v4-stable] (rgerhards), 2009-08-21 +- bugfix: stderr/stdout were not closed to be able to emit error messages, + but this caused ssh sessions to hang. Now we close them after the + initial initialization. See forum thread: + http://kb.monitorware.com/controlling-terminal-issues-t9875.html +- bugfix: sending syslog messages with zip compression did not work +--------------------------------------------------------------------------- +Version 4.3.2 [v4-beta] (rgerhards), 2009-06-24 - removed long-obsoleted property UxTradMsg - added a generic network stream server (in addition to rather specific syslog tcp server) @@ -208,7 +215,10 @@ version before switching to this one. - bugfix: memory leak in ompgsql Thanks to Ken for providing the patch --------------------------------------------------------------------------- -Version 3.22.1 [v3-stable] (rgerhards), 2009-04-?? +Version 3.22.2 [v3-stable] (rgerhards), 2009-07-?? +- bugfix: sending syslog messages with zip compression did not work +--------------------------------------------------------------------------- +Version 3.22.1 [v3-stable] (rgerhards), 2009-07-02 - bugfix: invalid error message issued if $inlcudeConfig was on an empty set of files (e.g. *.conf, where none such files existed) thanks to Michael Biebl for reporting this bug @@ -239,6 +249,8 @@ Version 3.22.1 [v3-stable] (rgerhards), 2009-04-?? - relaxed GnuTLS version requirement to 1.4.0 after confirmation from the field that this version is sufficient - bugfix: parser did not properly handle empty structured data +- bugfix: invalid mutex release in msg.c (detected under thread debugger, + seems not to have any impact on actual deployments) --------------------------------------------------------------------------- Version 3.22.0 [v3-stable] (rgerhards), 2009-04-21 This is the first stable release that includes the full functionality diff --git a/configure.ac b/configure.ac index 1fd5c7a9..6be11b0d 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],[4.3.2],[rsyslog@lists.adiscon.com]) +AC_INIT([rsyslog],[4.4.0],[rsyslog@lists.adiscon.com]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([ChangeLog]) AC_CONFIG_MACRO_DIR([m4]) @@ -414,7 +414,7 @@ if test "x$enable_mysql" = "xyes"; then [yes],,, ) if test "x${HAVE_MYSQL_CONFIG}" != "xyes"; then - AC_MSG_FAILURE([mysql_config not found in PATH]) + AC_MSG_FAILURE([mysql_config not found in PATH - usually a package named mysql-dev, libmysql-dev or similar, is missing - install it to fix this issue]) fi AC_CHECK_LIB( [mysqlclient], diff --git a/doc/manual.html b/doc/manual.html index 307f9a82..e2a4f048 100644 --- a/doc/manual.html +++ b/doc/manual.html @@ -19,7 +19,7 @@ rsyslog support</a> available directly from the source!</p> <p><b>Please visit the <a href="http://www.rsyslog.com/sponsors">rsyslog sponsor's page</a> to honor the project sponsors or become one yourself!</b> We are very grateful for any help towards the project goals.</p> -<p><b>This documentation is for version 4.3.2 (beta branch) of rsyslog.</b> +<p><b>This documentation is for version 4.4.0 (v4-stable) of rsyslog.</b> Visit the <i> <a href="http://www.rsyslog.com/doc-status.html">rsyslog status page</a></i></b> to obtain current version information and project status. </p><p><b>If you like rsyslog, you might diff --git a/runtime/msg.c b/runtime/msg.c index 8122383a..22f81f5d 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -379,7 +379,9 @@ CODESTARTobjDestruct(msg) # endif funcDeleteMutex(pThis); } else { +# ifndef HAVE_ATOMIC_BUILTINS MsgUnlock(pThis); +# endif pThis = NULL; /* tell framework not to destructing the object! */ } ENDobjDestruct(msg) diff --git a/tools/omfwd.c b/tools/omfwd.c index c8fedfc9..4d730f4b 100644 --- a/tools/omfwd.c +++ b/tools/omfwd.c @@ -437,11 +437,11 @@ CODESTARTdoAction */ if(pData->compressionLevel && (l > MIN_SIZE_FOR_COMPRESS)) { Bytef *out; - uLongf destLen = sizeof(out) / sizeof(Bytef); + uLongf destLen = iMaxLine + iMaxLine/100 +12; /* recommended value from zlib doc */ uLong srcLen = l; int ret; /* TODO: optimize malloc sequence? -- rgerhards, 2008-09-02 */ - CHKmalloc(out = (Bytef*) malloc(iMaxLine + iMaxLine/100 + 12)); + CHKmalloc(out = (Bytef*) malloc(destLen)); out[0] = 'z'; out[1] = '\0'; ret = compress2((Bytef*) out+1, &destLen, (Bytef*) psz, diff --git a/tools/syslogd.c b/tools/syslogd.c index f686a769..ff6369c3 100644 --- a/tools/syslogd.c +++ b/tools/syslogd.c @@ -3238,7 +3238,6 @@ static rsRetVal mainThread() glbl.SetHUPisRestart(0); /* we can not do restart-type HUPs with dropped privs */ } - /* END OF INTIALIZATION * ... but keep in mind that we might do a restart and thus init() might * be called again. If that happens, we must shut down the worker thread, @@ -3247,6 +3246,19 @@ static rsRetVal mainThread() */ DBGPRINTF("initialization completed, transitioning to regular run mode\n"); + /* close stderr and stdout if they are kept open during a fork. Note that this + * may introduce subtle security issues: if we are in a jail, one may break out of + * it via these descriptors. But if I close them earlier, error messages will (once + * again) not be emitted to the user that starts the daemon. As root jail support + * is still in its infancy (and not really done), we currently accept this issue. + * rgerhards, 2009-06-29 + */ + if(!(Debug || NoFork)) { + close(1); + close(2); + bErrMsgToStderr = 0; + } + mainloop(); finalize_it: |