summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Lorbach <alorbach@adiscon.com>2011-08-05 14:19:19 +0200
committerAndre Lorbach <alorbach@adiscon.com>2011-08-05 14:19:19 +0200
commitf7ad5aeff03833879957ef00136610d1138a7212 (patch)
tree7184cfd244339efc014f4007829ec316ab4aa0b3
parent4e11040e04c7147f9787e2a496591f7ada190480 (diff)
parentd788daafa4e8bda5fe544718b5f420f22cd79996 (diff)
downloadrsyslog-f7ad5aeff03833879957ef00136610d1138a7212.tar.gz
rsyslog-f7ad5aeff03833879957ef00136610d1138a7212.tar.xz
rsyslog-f7ad5aeff03833879957ef00136610d1138a7212.zip
Merge branch 'v5-stable' into v5-devel
Conflicts: ChangeLog
-rw-r--r--ChangeLog10
-rw-r--r--plugins/pmaixforwardedfrom/pmaixforwardedfrom.c2
-rw-r--r--runtime/msg.c16
-rw-r--r--tools/rsyslog.conf.516
4 files changed, 29 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 078b2eb8..173cc63f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
---------------------------------------------------------------------------
+Version 5.9.3 [V5-DEVEL] (al), 2011-??-??
+- bugfix: potential misadressing in property replacer
+---------------------------------------------------------------------------
Version 5.9.2 [V5-DEVEL] (rgerhards), 2011-07-11
- systemd support: set stdout/stderr to null - thx to Lennart for the patch
- added support for the ":omusrmsg:" syntax in configuring user messages
@@ -71,6 +74,9 @@ Version 5.9.0 [V5-DEVEL] (rgerhards), 2011-06-08
affected directive was: $ActionExecOnlyWhenPreviousIsSuspended on
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=236
---------------------------------------------------------------------------
+Version 5.8.4 [V5-stable] (al), 2011-??-??
+- bugfix: potential misadressing in property replacer
+---------------------------------------------------------------------------
Version 5.8.3 [V5-stable] (rgerhards), 2011-07-11
- systemd support: set stdout/stderr to null - thx to Lennart for the patch
- added support for the ":omusrmsg:" syntax in configuring user messages
@@ -927,6 +933,9 @@ Version 4.7.0 [v4-devel] (rgerhards), 2010-04-14
Thanks for varmojfekoj for pointing me at this bug.
- imported changes from 4.5.6 and below
---------------------------------------------------------------------------
+Version 4.6.8 [v4-stable] (rgerhards), 2011-??-??
+- bugfix: potential misadressing in property replacer
+---------------------------------------------------------------------------
Version 4.6.7 [v4-stable] (rgerhards), 2011-07-11
- added support for the ":omusrmsg:" syntax in configuring user messages
- added support for the ":omfile:" syntax in configuring user messages
@@ -1632,6 +1641,7 @@ Version 3.22.4 [v3-stable] (rgerhards), 2010-??-??
offset
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=271
- improved some code based on clang static analyzer results
+- bugfix: potential misadressing in property replacer
---------------------------------------------------------------------------
Version 3.22.3 [v3-stable] (rgerhards), 2010-11-24
- bugfix(important): problem in TLS handling could cause rsyslog to loop
diff --git a/plugins/pmaixforwardedfrom/pmaixforwardedfrom.c b/plugins/pmaixforwardedfrom/pmaixforwardedfrom.c
index fa4a9087..fe3e85fa 100644
--- a/plugins/pmaixforwardedfrom/pmaixforwardedfrom.c
+++ b/plugins/pmaixforwardedfrom/pmaixforwardedfrom.c
@@ -1,6 +1,6 @@
/* pmaixforwardedfrom.c
*
- * this detects logs sent by Cisco devices that mangle their syslog output when you tell them to log by name by adding ' :' between the name and the %XXX-X-XXXXXXX: tag
+ * this cleans up messages forwarded from AIX
*
* instead of actually parsing the message, this modifies the message and then falls through to allow a later parser to handle the now modified message
*
diff --git a/runtime/msg.c b/runtime/msg.c
index d1e67aa2..8c8e9670 100644
--- a/runtime/msg.c
+++ b/runtime/msg.c
@@ -2868,6 +2868,7 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
}
}
+dbgprintf("prop repl 4, pRes='%s', len %d\n", pRes, bufLen);
/* Take care of spurious characters to make the property safe
* for a path definition
*/
@@ -2945,7 +2946,13 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
}
/* check for "." and ".." (note the parenthesis in the if condition!) */
- if((*pRes == '.') && (*(pRes + 1) == '\0' || (*(pRes + 1) == '.' && *(pRes + 2) == '\0'))) {
+ if(*pRes == '\0') {
+ if(*pbMustBeFreed == 1)
+ free(pRes);
+ pRes = UCHAR_CONSTANT("_");
+ bufLen = 1;
+ *pbMustBeFreed = 0;
+ } else if((*pRes == '.') && (*(pRes + 1) == '\0' || (*(pRes + 1) == '.' && *(pRes + 2) == '\0'))) {
uchar *pTmp = pRes;
if(*(pRes + 1) == '\0')
@@ -2955,12 +2962,6 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
if(*pbMustBeFreed == 1)
free(pTmp);
*pbMustBeFreed = 0;
- } else if(*pRes == '\0') {
- if(*pbMustBeFreed == 1)
- free(pRes);
- pRes = UCHAR_CONSTANT("_");
- bufLen = 1;
- *pbMustBeFreed = 0;
}
}
@@ -3032,6 +3033,7 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
bufLen = ustrlen(pRes);
*pPropLen = bufLen;
+dbgprintf("end prop repl, pRes='%s', len %d\n", pRes, bufLen);
ENDfunc
return(pRes);
}
diff --git a/tools/rsyslog.conf.5 b/tools/rsyslog.conf.5
index e17da974..6ce3c0e0 100644
--- a/tools/rsyslog.conf.5
+++ b/tools/rsyslog.conf.5
@@ -272,14 +272,16 @@ Please note that rsyslogd offers a variety of options in regarding to remote
forwarding. For full details, please see the html documentation.
.SS List of users
-Usually critical messages are also directed to ``root'' on that machine. You can specify a list
-of users that shall get the message by simply writing the login. You may specify more than one
-user by separating them with commas (','). If they're logged in they get the message. Don't
-think a mail would be sent, that might be too late.
+Usually critical messages are also directed to ``root'' on that machine. You
+can specify a list
+of users that shall get the message by simply writing ":omusrmsg:" followed
+by the login name. You may specify more than one
+user by separating them with commas (','). If they're logged in they
+get the message (for example: ":omusrmsg:root,user1,user2").
.SS Everyone logged on
Emergency messages often go to all users currently online to notify them that something strange
-is happening with the system. To specify this wall(1)-feature use an asterisk ('*').
+is happening with the system. To specify this wall(1)-feature use an ":omusrmsg:*".
.SS Database table
This allows logging of the message to a database table.
@@ -558,10 +560,10 @@ that space.
Keep in mind that $outchannel just defines a channel with "name". It does not activate it.
To do so, you must use a selector line (see below). That selector line includes the channel
-name plus an $ sign in front of it. A sample might be:
+name plus ":omfile:$" in front of it. A sample might be:
.sp
.RS
-*.* $mychannel
+*.* :omfile:$mychannel
.RE
.SH PROPERTY REPLACER