610cce4a79
- upgrade to new upstream version 5.8.7 - change license from 'GPLv3+' to '(GPLv3+ and ASL 2.0)' http://blog.gerhards.net/2012/01/rsyslog-licensing-update.html - use a specific version for obsoleting sysklogd - add patches for better sysklogd compatibility (taken from upstream)
54 lines
3.5 KiB
Diff
54 lines
3.5 KiB
Diff
diff -up rsyslog-5.8.7/doc/rsyslog_conf_global.html.orig rsyslog-5.8.7/doc/rsyslog_conf_global.html
|
|
--- rsyslog-5.8.7/doc/rsyslog_conf_global.html.orig 2012-01-20 14:17:43.565424577 +0100
|
|
+++ rsyslog-5.8.7/doc/rsyslog_conf_global.html 2012-01-20 14:36:41.208123930 +0100
|
|
@@ -143,6 +143,7 @@ our paper on <a href="multi_ruleset.html
|
|
<li><a href="rsconf1_escape8bitcharsonreceive.html">$Escape8BitCharactersOnReceive</a></li>
|
|
<li><a href="rsconf1_escapecontrolcharactersonreceive.html">$EscapeControlCharactersOnReceive</a></li>
|
|
<li><b>$EscapeControlCharactersOnReceive</b> [<b>on</b>|off] - escape USASCII HT character</li>
|
|
+<li>$SpaceLFOnReceive [on/<b>off</b>] - instructs rsyslogd to replace LF with spaces during message reception (sysklogd compatibility aid)</li>
|
|
<li>$ErrorMessagesToStderr [<b>on</b>|off] - direct rsyslogd error message to stderr (in addition to other targets)</li>
|
|
<li><a href="rsconf1_failonchownfailure.html">$FailOnChownFailure</a></li>
|
|
<li><a href="rsconf1_filecreatemode.html">$FileCreateMode</a></li>
|
|
diff -up rsyslog-5.8.7/runtime/parser.c.orig rsyslog-5.8.7/runtime/parser.c
|
|
--- rsyslog-5.8.7/runtime/parser.c.orig 2012-01-20 14:17:55.421275542 +0100
|
|
+++ rsyslog-5.8.7/runtime/parser.c 2012-01-20 15:04:00.664515268 +0100
|
|
@@ -60,6 +60,7 @@ DEFobjCurrIf(ruleset)
|
|
/* config data */
|
|
static uchar cCCEscapeChar = '#';/* character to be used to start an escape sequence for control chars */
|
|
static int bEscapeCCOnRcv = 1; /* escape control characters on reception: 0 - no, 1 - yes */
|
|
+static int bSpaceLFOnRcv = 0; /* replace newlines with spaces on reception: 0 - no, 1 - yes */
|
|
static int bEscape8BitChars = 0; /* escape characters > 127 on reception: 0 - no, 1 - yes */
|
|
static int bEscapeTab = 1; /* escape tab control character when doing CC escapes: 0 - no, 1 - yes */
|
|
static int bDropTrailingLF = 1; /* drop trailing LF's on reception? */
|
|
@@ -354,9 +355,13 @@ SanitizeMsg(msg_t *pMsg)
|
|
int bNeedSanitize = 0;
|
|
for(iSrc = 0 ; iSrc < lenMsg ; iSrc++) {
|
|
if(iscntrl(pszMsg[iSrc])) {
|
|
+ if(bSpaceLFOnRcv && pszMsg[iSrc] == '\n')
|
|
+ pszMsg[iSrc] = ' ';
|
|
+ else
|
|
if(pszMsg[iSrc] == '\0' || bEscapeCCOnRcv) {
|
|
bNeedSanitize = 1;
|
|
- break;
|
|
+ if (!bSpaceLFOnRcv)
|
|
+ break;
|
|
}
|
|
} else if(pszMsg[iSrc] > 127 && bEscape8BitChars) {
|
|
bNeedSanitize = 1;
|
|
@@ -645,6 +650,7 @@ resetConfigVariables(uchar __attribute__
|
|
{
|
|
cCCEscapeChar = '#';
|
|
bEscapeCCOnRcv = 1; /* default is to escape control characters */
|
|
+ bSpaceLFOnRcv = 0;
|
|
bEscape8BitChars = 0; /* default is to escape control characters */
|
|
bEscapeTab = 1; /* default is to escape control characters */
|
|
bDropTrailingLF = 1; /* default is to drop trailing LF's on reception */
|
|
@@ -698,6 +704,7 @@ BEGINObjClassInit(parser, 1, OBJ_IS_CORE
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"controlcharacterescapeprefix", 0, eCmdHdlrGetChar, NULL, &cCCEscapeChar, NULL));
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"droptrailinglfonreception", 0, eCmdHdlrBinary, NULL, &bDropTrailingLF, NULL));
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"escapecontrolcharactersonreceive", 0, eCmdHdlrBinary, NULL, &bEscapeCCOnRcv, NULL));
|
|
+ CHKiRet(regCfSysLineHdlr((uchar *)"spacelfonreceive", 0, eCmdHdlrBinary, NULL, &bSpaceLFOnRcv, NULL));
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"escape8bitcharactersonreceive", 0, eCmdHdlrBinary, NULL, &bEscape8BitChars, NULL));
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"escapecontrolcharactertab", 0, eCmdHdlrBinary, NULL, &bEscapeTab, NULL));
|
|
CHKiRet(regCfSysLineHdlr((uchar *)"resetconfigvariables", 1, eCmdHdlrCustomHandler, resetConfigVariables, NULL, NULL));
|