Date: Thu, 21 Nov 2013 14:27:16 +0100
Subject: bugfix: mmpstrucdata generated inaccessible properties
---
ChangeLog | 1 +
doc/mmpstrucdata.html | 23 +++++++++++++++++++++++
plugins/mmpstrucdata/mmpstrucdata.c | 6 ++++--
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0ed1622a..7e0d0052 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,7 @@ Version 7.5.7 [v7-devel] 2013-11-??
* queue.workerThreadMinimumMessage set to queue.size / num workers
For queues with very low queue.maxSize (< 100), "emergency" defaults
will be used.
+- bugfix: mmpstrucdata generated inaccessible properties
- bugfix: RainerScript optimizer did not optimize PRI filters
things like "if $syslogfacility-text == "local3"" were not converted
to PRIFILT. This was a regression introduced in 7.5.6.
diff --git a/doc/mmpstrucdata.html b/doc/mmpstrucdata.html
index b4003062..8197d94a 100644
--- a/doc/mmpstrucdata.html
+++ b/doc/mmpstrucdata.html
@@ -13,6 +13,7 @@
Description:
The mmpstrucdata parses RFC5424 structured data into the message
json variable tree.
+The data parsed, if available, is stored under "jsonRoot!rfc5424-sd!...".
Module Configuration Parameters:
@@ -33,6 +34,10 @@ Specifies into which json container the data shall be parsed to.
Caveats/Known Bugs:
- this module is currently experimental; feedback is appreciated
+
- property names are treated case-insensitive in rsyslog. As such,
+RFC5424 names are treated case-insensitive as well. If such names
+only differ in case (what is not recommended anyways), problems will
+occur.
- structured data with duplicate SD-IDs and SD-PARAMS is not
properly processed
@@ -48,6 +53,24 @@ template(name="jsondump" type="string" string="%msg%: %$!%\n")
action(type="omfile" file="/path/to/log" template="jsondump")
+A more practical one:
+
Take this example message (inspired by RFC5424 sample;)):
+
<34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"][id@2 test="tast"] BOM'su root' failed for lonvick on /dev/pts/8
+
We apply this configuration:
+
+
This will output:
+
ALL: { "rfc5424-sd": { "examplesdid@32473": { "iut": "3", "eventsource": "Application", "eventid": "1011" }, "id@2": { "test": "tast" } } }
+SD: { "examplesdid@32473": { "iut": "3", "eventsource": "Application", "eventid": "1011" }, "id@2": { "test": "tast" } }
+IUT:3
+RAWMSG: <34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"][id@2 test="tast"] BOM'su root' failed for lonvick on /dev/pts/8
+
As you can seem, you can address each of the individual items. Note that the
+case of the RFC5424 parameter names has been converted to lower case.
+
[rsyslog.conf overview] [manual
index] [rsyslog site]
This documentation is part of the
diff --git a/plugins/mmpstrucdata/mmpstrucdata.c b/plugins/mmpstrucdata/mmpstrucdata.c
index 4b2a985b..123363bc 100644
--- a/plugins/mmpstrucdata/mmpstrucdata.c
+++ b/plugins/mmpstrucdata/mmpstrucdata.c
@@ -31,6 +31,7 @@
#include
#include
#include
+#include
#include "conf.h"
#include "syslogd-types.h"
#include "srUtils.h"
@@ -206,7 +207,8 @@ dbgprintf("DDDD: parseSD_NAME %s\n", sdbuf+*curridx);
if( sdbuf[i] == '=' || sdbuf[i] == '"'
|| sdbuf[i] == ']' || sdbuf[i] == ' ')
break;
- namebuf[j] = sdbuf[i++];
+ namebuf[j] = tolower(sdbuf[i]);
+ ++i;
}
namebuf[j] = '\0';
dbgprintf("DDDD: parseSD_NAME, NAME: '%s'\n", namebuf);
@@ -337,7 +339,7 @@ dbgprintf("DDDD: json: '%s'\n", json_object_get_string(json));
if(jroot == NULL) {
ABORT_FINALIZE(RS_RET_ERR);
}
- json_object_object_add(jroot, "RFC5424-SD", json);
+ json_object_object_add(jroot, "rfc5424-sd", json);
msgAddJSON(pMsg, pData->jsonRoot, jroot);
finalize_it:
RETiRet;
--
cgit v1.2.3
From 3ee66d9c28a9510a06572f958f2c680729a4cc6c Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 22 Nov 2013 10:51:54 +0100
Subject: testbench: add test for mmpstrucdata
---
tests/Makefile.am | 7 +++++++
tests/mmpstrucdata.sh | 12 ++++++++++++
tests/testsuites/mmpstrucdata.conf | 12 ++++++++++++
3 files changed, 31 insertions(+)
create mode 100755 tests/mmpstrucdata.sh
create mode 100644 tests/testsuites/mmpstrucdata.conf
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 13d87dec..23da9696 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -119,6 +119,11 @@ TESTS += \
imptcp_conndrop.sh
endif
+if ENABLE_MMPSTRUCDATA
+TESTS += \
+ mmpstrucdata.sh
+endif
+
if ENABLE_GNUTLS
# TODO: re-enable in newer version
#TESTS += \
@@ -517,6 +522,8 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
mysql-asyn.sh \
mysql-asyn-vg.sh \
testsuites/mysql-asyn.conf \
+ mmpstrucdata.sh \
+ testsuites/mmpstrucdata.conf \
cfg.sh
# TODO: re-enable
diff --git a/tests/mmpstrucdata.sh b/tests/mmpstrucdata.sh
new file mode 100755
index 00000000..62b6ba96
--- /dev/null
+++ b/tests/mmpstrucdata.sh
@@ -0,0 +1,12 @@
+# This file is part of the rsyslog project, released under ASL 2.0
+# rgerhards, 2013-11-22
+echo ===============================================================================
+echo \[mmpstrucdata.sh\]: testing mmpstrucdata
+source $srcdir/diag.sh init
+source $srcdir/diag.sh startup mmpstrucdata.conf
+sleep 1
+source $srcdir/diag.sh tcpflood -m100 -y
+source $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
+source $srcdir/diag.sh wait-shutdown
+source $srcdir/diag.sh seq-check 0 99
+source $srcdir/diag.sh exit
diff --git a/tests/testsuites/mmpstrucdata.conf b/tests/testsuites/mmpstrucdata.conf
new file mode 100644
index 00000000..fd18fd99
--- /dev/null
+++ b/tests/testsuites/mmpstrucdata.conf
@@ -0,0 +1,12 @@
+$IncludeConfig diag-common.conf
+
+module(load="../plugins/mmpstrucdata/.libs/mmpstrucdata")
+module(load="../plugins/imtcp/.libs/imtcp")
+
+template(name="outfmt" type="string" string="%$!rfc5424-sd!tcpflood@32473!msgnum%\n")
+
+input(type="imtcp" port="13514")
+
+action(type="mmpstrucdata")
+if $msg contains "msgnum" then
+ action(type="omfile" template="outfmt" file="rsyslog.out.log")
--
cgit v1.2.3
From 3cdb796bad3c0480dc390d44966a7dd4a9c1eeb6 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 22 Nov 2013 10:52:05 +0100
Subject: testbench: enable test tools to support RFC5424 natively
---
tests/chkseq.c | 29 ++++++++++++++++++++++++-----
tests/tcpflood.c | 28 ++++++++++++++++++++++------
2 files changed, 46 insertions(+), 11 deletions(-)
diff --git a/tests/chkseq.c b/tests/chkseq.c
index bea9f83a..bd8597e8 100644
--- a/tests/chkseq.c
+++ b/tests/chkseq.c
@@ -51,6 +51,7 @@ int main(int argc, char *argv[])
int reachedEOF;
int edLen; /* length of extra data */
static char edBuf[500*1024]; /* buffer for extra data (pretty large to be on the save side...) */
+ static char ioBuf[sizeof(edBuf)+1024];
char *file = NULL;
while((opt = getopt(argc, argv, "e:f:ds:vE")) != EOF) {
@@ -103,14 +104,22 @@ int main(int argc, char *argv[])
for(i = start ; i < end+1 ; ++i) {
if(bHaveExtraData) {
- scanfOK = fscanf(fp, "%d,%d,%s\n", &val, &edLen, edBuf) == 3 ? 1 : 0;
+ if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) {
+ scanfOK = 0;
+ } else {
+ scanfOK = sscanf(ioBuf, "%d,%d,%s\n", &val, &edLen, edBuf) == 3 ? 1 : 0;
+ }
if(edLen != (int) strlen(edBuf)) {
printf("extra data length specified %d, but actually is %ld in record %d\n",
edLen, (long) strlen(edBuf), i);
exit(1);
}
} else {
- scanfOK = fscanf(fp, "%d\n", &val) == 1 ? 1 : 0;
+ if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) {
+ scanfOK = 0;
+ } else {
+ scanfOK = sscanf(ioBuf, "%d\n", &val) == 1 ? 1 : 0;
+ }
}
if(!scanfOK) {
printf("scanf error in index i=%d\n", i);
@@ -132,9 +141,11 @@ int main(int argc, char *argv[])
exit(1);
}
- if(feof(fp)) {
+ int c = getc(fp);
+ if(c == EOF) {
reachedEOF = 1;
} else {
+ ungetc(c, fp);
/* if duplicates are permitted, we need to do a final check if we have duplicates at the
* end of file.
*/
@@ -142,14 +153,22 @@ int main(int argc, char *argv[])
i = end;
while(!feof(fp)) {
if(bHaveExtraData) {
- scanfOK = fscanf(fp, "%d,%d,%s\n", &val, &edLen, edBuf) == 3 ? 1 : 0;
+ if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) {
+ scanfOK = 0;
+ } else {
+ scanfOK = sscanf(ioBuf, "%d,%d,%s\n", &val, &edLen, edBuf) == 3 ? 1 : 0;
+ }
if(edLen != (int) strlen(edBuf)) {
printf("extra data length specified %d, but actually is %ld in record %d\n",
edLen, (long) strlen(edBuf), i);
exit(1);
}
} else {
- scanfOK = fscanf(fp, "%d\n", &val) == 1 ? 1 : 0;
+ if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) {
+ scanfOK = 0;
+ } else {
+ scanfOK = sscanf(ioBuf, "%d\n", &val) == 1 ? 1 : 0;
+ }
}
if(val != i) {
diff --git a/tests/tcpflood.c b/tests/tcpflood.c
index b3cef2e0..f17363f2 100644
--- a/tests/tcpflood.c
+++ b/tests/tcpflood.c
@@ -48,13 +48,14 @@
* -b number of messages within a batch (default: 100,000,000 millions)
* -Y use multiple threads, one per connection (which means 1 if one only connection
* is configured!)
+ * -y use RFC5424 style test message
* -z private key file for TLS mode
* -Z cert (public key) file for TLS mode
* -L loglevel to use for GnuTLS troubleshooting (0-off to 10-all, 0 default)
*
* Part of the testbench for rsyslog.
*
- * Copyright 2009, 2010 Rainer Gerhards and Adiscon GmbH.
+ * Copyright 2009, 2013 Rainer Gerhards and Adiscon GmbH.
*
* This file is part of rsyslog.
*
@@ -111,6 +112,7 @@ static int targetPort = 13514;
static int numTargetPorts = 1;
static int dynFileIDs = 0;
static int extraDataLen = 0; /* amount of extra data to add to message */
+static int useRFC5424Format = 0; /* should the test message be in RFC5424 format? */
static int bRandomizeExtraData = 0; /* randomize amount of extra data added */
static int numMsgsToSend; /* number of messages to send */
static unsigned numConnections = 1; /* number of connections to create */
@@ -363,8 +365,14 @@ genMsg(char *buf, size_t maxBuf, int *pLenBuf, struct instdata *inst)
snprintf(dynFileIDBuf, sizeof(dynFileIDBuf), "%d:", rand() % dynFileIDs);
}
if(extraDataLen == 0) {
- *pLenBuf = snprintf(buf, maxBuf, "<%s>Mar 1 01:00:00 172.20.245.8 tag msgnum:%s%8.8d:%c",
- msgPRI, dynFileIDBuf, msgNum, frameDelim);
+ if(useRFC5424Format) {
+ *pLenBuf = snprintf(buf, maxBuf, "<%s>1 2003-03-01T01:00:00.000Z mymachine.example.com tcpflood "
+ "- tag [tcpflood@32473 MSGNUM=\"%8.8d\"] msgnum:%s%8.8d:%c",
+ msgPRI, msgNum, dynFileIDBuf, msgNum, frameDelim);
+ } else {
+ *pLenBuf = snprintf(buf, maxBuf, "<%s>Mar 1 01:00:00 172.20.245.8 tag msgnum:%s%8.8d:%c",
+ msgPRI, dynFileIDBuf, msgNum, frameDelim);
+ }
} else {
if(bRandomizeExtraData)
edLen = ((long) rand() + extraDataLen) % extraDataLen + 1;
@@ -372,8 +380,14 @@ genMsg(char *buf, size_t maxBuf, int *pLenBuf, struct instdata *inst)
edLen = extraDataLen;
memset(extraData, 'X', edLen);
extraData[edLen] = '\0';
- *pLenBuf = snprintf(buf, maxBuf, "<%s>Mar 1 01:00:00 172.20.245.8 tag msgnum:%s%8.8d:%d:%s%c",
- msgPRI, dynFileIDBuf, msgNum, edLen, extraData, frameDelim);
+ if(useRFC5424Format) {
+ *pLenBuf = snprintf(buf, maxBuf, "<%s>1 2003-03-01T01:00:00.000Z mymachine.example.com tcpflood "
+ "- tag [tcpflood@32473 MSGNUM=\"%8.8d\"] msgnum:%s%8.8d:%c",
+ msgPRI, msgNum, dynFileIDBuf, msgNum, frameDelim);
+ } else {
+ *pLenBuf = snprintf(buf, maxBuf, "<%s>Mar 1 01:00:00 172.20.245.8 tag msgnum:%s%8.8d:%d:%s%c",
+ msgPRI, dynFileIDBuf, msgNum, edLen, extraData, frameDelim);
+ }
}
} else {
/* use fixed message format from command line */
@@ -830,7 +844,7 @@ int main(int argc, char *argv[])
setvbuf(stdout, buf, _IONBF, 48);
- while((opt = getopt(argc, argv, "b:ef:F:t:p:c:C:m:i:I:P:d:Dn:L:M:rsBR:S:T:XW:Yz:Z:")) != -1) {
+ while((opt = getopt(argc, argv, "b:ef:F:t:p:c:C:m:i:I:P:d:Dn:L:M:rsBR:S:T:XW:yYz:Z:")) != -1) {
switch (opt) {
case 'b': batchsize = atoll(optarg);
break;
@@ -908,6 +922,8 @@ int main(int argc, char *argv[])
break;
case 'Y': runMultithreaded = 1;
break;
+ case 'y': useRFC5424Format = 1;
+ break;
case 'z': tlsKeyFile = optarg;
break;
case 'Z': tlsCertFile = optarg;
--
cgit v1.2.3
From 13a18895b657bbbefaa16d89b25192facbf3b7f3 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 22 Nov 2013 11:10:08 +0100
Subject: testbench: add test for rfc5424 parser
---
tests/Makefile.am | 3 +++
tests/rfc5424parser.sh | 12 ++++++++++++
tests/testsuites/rfc5424parser.conf | 10 ++++++++++
3 files changed, 25 insertions(+)
create mode 100755 tests/rfc5424parser.sh
create mode 100644 tests/testsuites/rfc5424parser.conf
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 23da9696..a0decacc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,6 +7,7 @@ TESTS = $(TESTRUNS)
if ENABLE_IMDIAG
TESTS += \
stop-localvar.sh \
+ rfc5424parser.sh \
arrayqueue.sh \
da-mainmsg-q.sh \
validation-run.sh \
@@ -298,6 +299,8 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
testsuites/rscript_stop2.conf \
stop-localvar.sh \
testsuites/stop-localvar.conf \
+ rfc5424parser.sh \
+ testsuites/rfc5424parser.conf \
rs_optimizer_pri.sh \
testsuites/rs_optimizer_pr.conf \
rscript_prifilt.sh \
diff --git a/tests/rfc5424parser.sh b/tests/rfc5424parser.sh
new file mode 100755
index 00000000..3f5be497
--- /dev/null
+++ b/tests/rfc5424parser.sh
@@ -0,0 +1,12 @@
+# This file is part of the rsyslog project, released under ASL 2.0
+# rgerhards, 2013-11-22
+echo ===============================================================================
+echo \[rfc5424parser.sh\]: testing mmpstrucdata
+source $srcdir/diag.sh init
+source $srcdir/diag.sh startup rfc5424parser.conf
+sleep 1
+source $srcdir/diag.sh tcpflood -m100 -y
+source $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
+source $srcdir/diag.sh wait-shutdown
+source $srcdir/diag.sh seq-check 0 99
+source $srcdir/diag.sh exit
diff --git a/tests/testsuites/rfc5424parser.conf b/tests/testsuites/rfc5424parser.conf
new file mode 100644
index 00000000..cd90d120
--- /dev/null
+++ b/tests/testsuites/rfc5424parser.conf
@@ -0,0 +1,10 @@
+$IncludeConfig diag-common.conf
+
+module(load="../plugins/imtcp/.libs/imtcp")
+
+template(name="outfmt" type="string" string="%msg:F,58:2%\n")
+
+input(type="imtcp" port="13514")
+
+if $msg contains "msgnum" then
+ action(type="omfile" template="outfmt" file="rsyslog.out.log")
--
cgit v1.2.3
From c76ec71d6f15fb6a94613aad1d0b8ecfa75a37ca Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 22 Nov 2013 11:23:45 +0100
Subject: typo fix
---
tests/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5465774d..ac964640 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -309,7 +309,7 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
rfc5424parser.sh \
testsuites/rfc5424parser.conf \
rs_optimizer_pri.sh \
- testsuites/rs_optimizer_pr.conf \
+ testsuites/rs_optimizer_pri.conf \
rscript_prifilt.sh \
testsuites/rscript_prifilt.conf \
rscript_optimizer1.sh \
--
cgit v1.2.3
From dbcdca7e4742d33220eeac535501ddd6e185a7e3 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 22 Nov 2013 17:33:43 +0100
Subject: doc: add link to new online impstats analyzer tool
---
doc/impstats.html | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/doc/impstats.html b/doc/impstats.html
index 392fc431..770f67a3 100644
--- a/doc/impstats.html
+++ b/doc/impstats.html
@@ -24,6 +24,13 @@ settings, this impact may be noticable (for high-load environments).
The rsyslog website has an updated overview of available
rsyslog statistic counters.
+Note that there is a
+rsyslog statistics
+online analyzer available. It can be given a impstats-generated file and
+will return problems it detects. Note that the analyzer cannot replace a
+human in getting things right, but it is expected to be a good aid in starting
+to understand and gain information from the pstats logs.
+<7p>
Module Confguration Parameters:
This module supports module parameters, only.
--
cgit v1.2.3
From a2b4a8ac920434afc11d55a447a121a1236409e1 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Sun, 24 Nov 2013 10:14:16 +0100
Subject: prepare for upcoming liblognorm 1.0.0 release
The new liblognorm relase has an incompatible API, so
we cannot use it to compile this version of rsyslog.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index ee3394b5..2fc51a67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -920,7 +920,7 @@ AC_ARG_ENABLE(mmnormalize,
)
if test "x$enable_mmnormalize" = "xyes"; then
PKG_CHECK_MODULES(LIBEE, libee >= 0.4.0)
- PKG_CHECK_MODULES(LIBLOGNORM, lognorm >= 0.3.1)
+ PKG_CHECK_MODULES(LIBLOGNORM, lognorm >= 0.3.1 lognorm < 1.0.0)
fi
AM_CONDITIONAL(ENABLE_MMNORMALIZE, test x$enable_mmnormalize = xyes)
--
cgit v1.2.3
From 68db6cc0140d0a746c0ea6c8176ce415c9bdd997 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Sun, 24 Nov 2013 18:13:13 +0100
Subject: testbench: stop-localvar did actually test msg vars - now fixed
---
tests/testsuites/stop-localvar.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/testsuites/stop-localvar.conf b/tests/testsuites/stop-localvar.conf
index 020ebd87..63df6509 100644
--- a/tests/testsuites/stop-localvar.conf
+++ b/tests/testsuites/stop-localvar.conf
@@ -5,17 +5,17 @@
* rgerhards, 2013-11-19
*/
$IncludeConfig diag-common.conf
-template(name="outfmt" type="string" string="%$!nbr%\n")
+template(name="outfmt" type="string" string="%$.nbr%\n")
module(load="../plugins/imtcp/.libs/imtcp")
input(type="imtcp" port="13514")
if $msg contains "msgnum:" then {
- set $!nbr = field($msg, 58, 2);
- if cnum($!nbr) < 100 then
+ set $.nbr = field($msg, 58, 2);
+ if cnum($.nbr) < 100 then
stop
/* check is intentionally more complex than needed! */
- else if not (cnum($!nbr) > 999) then {
+ else if not (cnum($.nbr) > 999) then {
action(type="omfile" file="rsyslog.out.log" template="outfmt")
}
}
--
cgit v1.2.3
From 8592955c3ff97ece4e21c96454ee681743557a76 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Sun, 24 Nov 2013 18:14:23 +0100
Subject: testbench: add (corrected) test for msg variables
---
tests/Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ac964640..5232e3ef 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,6 +7,7 @@ TESTS = $(TESTRUNS)
if ENABLE_IMDIAG
TESTS += \
stop-localvar.sh \
+ stop-msgvar.sh \
rfc5424parser.sh \
arrayqueue.sh \
global_vars.sh \
@@ -304,6 +305,8 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
testsuites/stop.conf \
stop-localvar.sh \
testsuites/stop-localvar.conf \
+ stop-msgvar.sh \
+ testsuites/stop-msgvar.conf \
global_vars.sh \
testsuites/global_vars.conf \
rfc5424parser.sh \
--
cgit v1.2.3
From 0248e97a5ec34b5a73cb4af73d97cf7baa29ad64 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Sun, 24 Nov 2013 18:13:13 +0100
Subject: testbench: stop-localvar did actually test msg vars - now fixed
---
tests/testsuites/stop-localvar.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/testsuites/stop-localvar.conf b/tests/testsuites/stop-localvar.conf
index 020ebd87..63df6509 100644
--- a/tests/testsuites/stop-localvar.conf
+++ b/tests/testsuites/stop-localvar.conf
@@ -5,17 +5,17 @@
* rgerhards, 2013-11-19
*/
$IncludeConfig diag-common.conf
-template(name="outfmt" type="string" string="%$!nbr%\n")
+template(name="outfmt" type="string" string="%$.nbr%\n")
module(load="../plugins/imtcp/.libs/imtcp")
input(type="imtcp" port="13514")
if $msg contains "msgnum:" then {
- set $!nbr = field($msg, 58, 2);
- if cnum($!nbr) < 100 then
+ set $.nbr = field($msg, 58, 2);
+ if cnum($.nbr) < 100 then
stop
/* check is intentionally more complex than needed! */
- else if not (cnum($!nbr) > 999) then {
+ else if not (cnum($.nbr) > 999) then {
action(type="omfile" file="rsyslog.out.log" template="outfmt")
}
}
--
cgit v1.2.3
From 78a919444daec19b4f2713a78453f308b94adb15 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Sun, 24 Nov 2013 18:14:23 +0100
Subject: testbench: add (corrected) test for msg variables
Conflicts:
tests/Makefile.am
---
tests/Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a0decacc..fe1c8204 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,6 +7,7 @@ TESTS = $(TESTRUNS)
if ENABLE_IMDIAG
TESTS += \
stop-localvar.sh \
+ stop-msgvar.sh \
rfc5424parser.sh \
arrayqueue.sh \
da-mainmsg-q.sh \
@@ -299,6 +300,8 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
testsuites/rscript_stop2.conf \
stop-localvar.sh \
testsuites/stop-localvar.conf \
+ stop-msgvar.sh \
+ testsuites/stop-msgvar.conf \
rfc5424parser.sh \
testsuites/rfc5424parser.conf \
rs_optimizer_pri.sh \
--
cgit v1.2.3