summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-10-14 11:19:15 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-10-14 11:19:15 +0200
commit5ae0148ed5f508b52f8a35947a4648d6e7187c7f (patch)
treee62dff7bf258530826dd013a9d15a3e5f56cec6f
parentbecc47cef625bfabf53589bb98ca10c352a4c824 (diff)
parent225483127e13aa59ae3286772342c73bc600e2b8 (diff)
downloadrsyslog-5ae0148ed5f508b52f8a35947a4648d6e7187c7f.tar.gz
rsyslog-5ae0148ed5f508b52f8a35947a4648d6e7187c7f.tar.xz
rsyslog-5ae0148ed5f508b52f8a35947a4648d6e7187c7f.zip
Merge branch 'beta'
-rw-r--r--ChangeLog5
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/testsuites/malformed1.parse15
-rw-r--r--tools/syslogd.c3
4 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a92ceff5..0b5ea67a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -199,6 +199,11 @@ Version 4.7.0 [v4-devel] (rgerhards), 2009-09-??
- imported changes from 4.5.6 and below
---------------------------------------------------------------------------
Version 4.5.6 [v4-beta] (rgerhards), 2009-09-??
+- bugfix(minor): diag function returned wrong queue memeber count
+ for the main queue if an active DA queue existed. This had no relevance
+ to real deployments (assuming they are not running the debug/diagnostic
+ module...), but sometimes caused grief and false alerts in the
+ testbench.
- included some important fixes from v4-stable:
* bugfix: invalid handling of zero-sized messages
* bugfix: zero-sized UDP messages are no longer processed
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c31e9eaa..cdf2c4be 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -90,6 +90,7 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
testsuites/rfc5424-2.parse1 \
testsuites/rfc5424-3.parse1 \
testsuites/rfc5424-4.parse1 \
+ testsuites/malformed.parse1 \
testsuites/omod-if-array.conf \
testsuites/1.omod-if-array \
testsuites/1.field1 \
diff --git a/tests/testsuites/malformed1.parse1 b/tests/testsuites/malformed1.parse1
new file mode 100644
index 00000000..2d95170d
--- /dev/null
+++ b/tests/testsuites/malformed1.parse1
@@ -0,0 +1,5 @@
+<131>Oct 8 23:05:06 10.321.1.123 05",result_code=200,b
+131,local0,err,Oct 8 23:05:06,10.321.1.123,05",result_code=200,b,05",result_code=200,b
+# a somewhat mangeld-with real-life sample of a malformed message
+# the key here is not what is being parsed, but that we do not abort!
+# NOTE: if a parser enhancement breaks the format, this is probably OK
diff --git a/tools/syslogd.c b/tools/syslogd.c
index 58046558..99ccd1f1 100644
--- a/tools/syslogd.c
+++ b/tools/syslogd.c
@@ -406,7 +406,8 @@ diagGetMainMsgQSize(int *piSize)
{
DEFiRet;
assert(piSize != NULL);
- *piSize = pMsgQueue->iQueueSize;
+ *piSize = (pMsgQueue->pqDA != NULL) ? pMsgQueue->pqDA->iQueueSize : 0;
+ *piSize += pMsgQueue->iQueueSize;
RETiRet;
}