summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-04-07 15:24:59 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-04-07 15:24:59 +0200
commita6c743e5ec5d213d3aa6404553fe65d59f065799 (patch)
tree8ec5ec4d77dea8a12280b965c2c5ba7f5051158f
parent7db9f96fe9ecb9f8e05d45cc888aa488d8aed85f (diff)
parent845c6f59b91e9988f856556cbb0e88e275e8e591 (diff)
downloadrsyslog-a6c743e5ec5d213d3aa6404553fe65d59f065799.tar.gz
rsyslog-a6c743e5ec5d213d3aa6404553fe65d59f065799.tar.xz
rsyslog-a6c743e5ec5d213d3aa6404553fe65d59f065799.zip
Merge branch 'master' into nextmaster
Conflicts: ChangeLog
-rw-r--r--ChangeLog28
-rw-r--r--configure.ac2
-rw-r--r--doc/manual.html3
-rw-r--r--runtime/stringbuf.c2
-rw-r--r--runtime/var.c4
-rw-r--r--runtime/wtp.c8
-rw-r--r--tools/syslogd.c2
7 files changed, 34 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 24898dc7..821d9439 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,20 +5,14 @@ Version 4.1.7 [DEVEL] (rgerhards), 2009-03-??
performance. This is also necessary towards the long-term goal
of loadable library modules.
- added new RainerScript function "tolower"
-- bugfix: potential abort with DA queue after high watermark is reached
- There exists a race condition that can lead to a segfault. Thanks
- go to vbernetr, who performed the analysis and provided patch, which
- I only tweaked a very little bit.
---------------------------------------------------------------------------
-Version 4.1.6 [DEVEL] (rgerhards), 2009-03-??
+Version 4.1.6 [DEVEL] (rgerhards), 2009-04-07
- added new "csv" property replacer options to enable simple creation
of CSV-formatted outputs (format from RFC4180 is used)
- implemented function support in RainerScript. That means the engine
parses and compile functions, as well as executes a few build-in
ones. Dynamic loading and registration of functions is not yet
supported - but we now have a good foundation to do that later on.
- NOTE: nested function calls are not yet supported due to a design
- issue with the function call VM instruction set design.
- implemented the strlen() RainerScript function
- added a template output module
- added -T rsyslogd command line option, enables to specify a directory
@@ -47,6 +41,12 @@ Version 4.1.6 [DEVEL] (rgerhards), 2009-03-??
more effcient for some outputs. They new can receive fields not only
as a single string but rather in an array where each string is seperated.
- added (some) developer documentation for output plugin interface
+- bugfix: potential abort with DA queue after high watermark is reached
+ There exists a race condition that can lead to a segfault. Thanks
+ go to vbernetr, who performed the analysis and provided patch, which
+ I only tweaked a very little bit.
+- bugfix: imtcp did incorrectly parse hostname/tag
+ Thanks to Luis Fernando Muñoz Mejías for the patch.
---------------------------------------------------------------------------
Version 4.1.5 [DEVEL] (rgerhards), 2009-03-11
- bugfix: parser did not correctly parse fields in UDP-received messages
@@ -142,8 +142,9 @@ version before switching to this one.
- bugfix: memory leak in ompgsql
Thanks to Ken for providing the patch
---------------------------------------------------------------------------
-Version 3.21.11 [BETA] (rgerhards), 2009-0?-??
+Version 3.21.11 [BETA] (rgerhards), 2009-04-03
- build system improvements contributed by Michael Biebl - thx!
+- all patches from 3.20.5 incorporated (see it's ChangeLog entry)
---------------------------------------------------------------------------
Version 3.21.10 [BETA] (rgerhards), 2009-02-02
- bugfix: inconsistent use of mutex/atomic operations could cause segfault
@@ -295,7 +296,16 @@ Version 3.21.0 [DEVEL] (rgerhards), 2008-07-18
- imported all changes from 3.18.1 until today (some quite important,
see below)
---------------------------------------------------------------------------
-Version 3.20.5 [v3-stable] (rgerhards), 2009-0?-??
+Version 3.20.5 [v3-stable] (rgerhards), 2009-04-02
+- bugfix: potential abort with DA queue after high watermark is reached
+ There exists a race condition that can lead to a segfault. Thanks
+ go to vbernetr, who performed the analysis and provided patch, which
+ I only tweaked a very little bit.
+- fixed bugs in RainerScript:
+ o when converting a number and a string to a common type, both were
+ actually converted to the other variable's type.
+ o the value of rsCStrConvertToNumber() was miscalculated.
+ Thanks to varmojfekoj for the patch
- fixed a bug in configure.ac which resulted in problems with
environment detection - thanks to Michael Biebl for the patch
- fixed a potential segfault problem in gssapi code
diff --git a/configure.ac b/configure.ac
index de328f83..32b27483 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.1.5],[rsyslog@lists.adiscon.com])
+AC_INIT([rsyslog],[4.1.6],[rsyslog@lists.adiscon.com])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([ChangeLog])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/doc/manual.html b/doc/manual.html
index 0b03a255..51271701 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.1.5 (devel branch) of rsyslog.</b>
+<p><b>This documentation is for version 4.1.6 (devel branch) 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
@@ -87,6 +87,7 @@ wiki</a>, a community resource which&nbsp;includes <a href="http://wiki.rsyslog.
online documentation (most current version only)</a></li>
<li><a href="http://kb.monitorware.com/rsyslog-f40.html">rsyslog discussion forum - use this for technical support</a></li>
+<li><a href="http://www.rsyslog.com/Topic8.phtml">rsyslog video tutorials</a></li>
<li><a href="http://www.rsyslog.com/Topic4.phtml">rsyslog change log</a></li>
<li><a href="http://www.rsyslog.com/Topic3.phtml">rsyslog FAQ</a></li>
<li><a href="http://www.monitorware.com/en/syslog-enabled-products/">syslog device configuration guide</a> (off-site)</li>
diff --git a/runtime/stringbuf.c b/runtime/stringbuf.c
index 35ec44c6..07256fab 100644
--- a/runtime/stringbuf.c
+++ b/runtime/stringbuf.c
@@ -850,7 +850,7 @@ rsCStrConvertToNumber(cstr_t *pStr, number_t *pNumber)
/* TODO: octal? hex? */
n = 0;
while(i < pStr->iStrLen && isdigit(pStr->pBuf[i])) {
- n = n * 10 + pStr->pBuf[i] * 10;
+ n = n * 10 + pStr->pBuf[i] - '0';
++i;
}
diff --git a/runtime/var.c b/runtime/var.c
index 559bc56c..ef7cc8e6 100644
--- a/runtime/var.c
+++ b/runtime/var.c
@@ -366,7 +366,7 @@ ConvForOperation(var_t *pThis, var_t *pOther)
case VARTYPE_NUMBER:
/* check if we can convert pThis to a number, if so use number format. */
iRet = ConvToNumber(pThis);
- if(iRet != RS_RET_NOT_A_NUMBER) {
+ if(iRet == RS_RET_NOT_A_NUMBER) {
CHKiRet(ConvToString(pOther));
} else {
FINALIZE; /* OK or error */
@@ -384,7 +384,7 @@ ConvForOperation(var_t *pThis, var_t *pOther)
break;
case VARTYPE_STR:
iRet = ConvToNumber(pOther);
- if(iRet != RS_RET_NOT_A_NUMBER) {
+ if(iRet == RS_RET_NOT_A_NUMBER) {
CHKiRet(ConvToString(pThis));
} else {
FINALIZE; /* OK or error */
diff --git a/runtime/wtp.c b/runtime/wtp.c
index 9f54a9ab..04eb974f 100644
--- a/runtime/wtp.c
+++ b/runtime/wtp.c
@@ -206,6 +206,14 @@ wtpProcessThrdChanges(wtp_t *pThis)
FINALIZE;
}
+ /* Note: there is a left-over potential race condition below:
+ * pThis->bThrdStateChanged may be re-set by another thread while
+ * we work on it and thus the loop may terminate too early. However,
+ * there are no really bad effects from that so I perfer - for this
+ * version - to live with the problem as is. Not a good idea to
+ * introduce that large change into the stable branch without very
+ * good reason. -- rgerhards, 2009-04-02
+ */
do {
/* reset the change marker */
pThis->bThrdStateChanged = 0;
diff --git a/tools/syslogd.c b/tools/syslogd.c
index c85c4371..0badac19 100644
--- a/tools/syslogd.c
+++ b/tools/syslogd.c
@@ -1496,7 +1496,7 @@ int parseLegacySyslogMsg(msg_t *pMsg, int flags)
* the fields. I think this logic shall work with any type of syslog message.
*/
bTAGCharDetected = 0;
- if(pMsg->bParseHOSTNAME) {
+ if(flags & PARSE_HOSTNAME) {
/* TODO: quick and dirty memory allocation */
/* the memory allocated is far too much in most cases. But on the plus side,
* it is quite fast... - rgerhards, 2007-09-20