summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-09-26 11:58:20 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-09-26 11:58:20 +0200
commit0c7604dc27119122a3022c7bf094ffb5f8d59e6d (patch)
tree370ad5d009cb301e5ea4757f8ac34a7179d28448
parentb1e21fcb4b072b1780ce093e890450fe3a059de8 (diff)
parentb26387e6b28630b8e5e3582039141ebf1c7455e3 (diff)
downloadrsyslog-0c7604dc27119122a3022c7bf094ffb5f8d59e6d.tar.gz
rsyslog-0c7604dc27119122a3022c7bf094ffb5f8d59e6d.tar.xz
rsyslog-0c7604dc27119122a3022c7bf094ffb5f8d59e6d.zip
Merge branch 'v5-stable' into v5-devel
Conflicts: ChangeLog configure.ac doc/manual.html runtime/rsyslog.h tools/omfile.c tools/ompipe.c
-rw-r--r--ChangeLog50
-rw-r--r--runtime/msg.c1
-rw-r--r--tools/omfile.c23
3 files changed, 52 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index b4838ac3..87af4b52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,14 @@
---------------------------------------------------------------------------
+Version 5.9.4 [V5-DEVEL], 2011-0?-??
+- bugfix: imuxsock did no longer ignore message-provided timestamp, if
+ so configured (the *default*). Lead to no longer sub-second timestamps.
+ closes: http://bugzilla.adiscon.com/show_bug.cgi?id=281
+- bugfix: omfile returns fatal error code for things that go really wrong
+ previously, RS_RET_RESUME was returned, which lead to a loop inside the
+ rule engine as omfile could not really recover.
+- bugfix: rsyslogd -v always said 64 atomics were not present
+ thanks to mono_matsuko for the patch
+---------------------------------------------------------------------------
Version 5.9.3 [V5-DEVEL], 2011-09-01
- bugfix/security: off-by-two bug in legacy syslog parser, CVE-2011-3200
- bugfix: mark message processing did not work correctly
@@ -86,6 +96,9 @@ Version 5.8.6 [V5-stable] (rgerhards/al), 2011-??-??
- bugfix: imuxsock did no longer ignore message-provided timestamp, if
so configured (the *default*). Lead to no longer sub-second timestamps.
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=281
+- bugfix: omfile returns fatal error code for things that go really wrong
+ previously, RS_RET_RESUME was returned, which lead to a loop inside the
+ rule engine as omfile could not really recover.
- bugfix: rsyslogd -v always said 64 atomics were not present
thanks to mono_matsuko for the patch
---------------------------------------------------------------------------
@@ -291,17 +304,6 @@ Version 5.7.3 [V5-BETA] (rgerhards), 2011-02-07
- added $LocalHostName config directive
- bugfix: fixed build problems on some platforms
namely those that have 32bit atomic operations but not 64 bit ones
----------------------------------------------------------------------------
-Version 4.7.5 [v4-beta] (al), 2011-09-01
-- bugfix/security: off-by-two bug in legacy syslog parser, CVE-2011-3200
-- bugfix: potential misadressing in property replacer
-- bugfix: The NUL-Byte for the syslogtag was not copied in MsgDup (msg.c)
----------------------------------------------------------------------------
-Version 4.7.4 [v4-beta] (rgerhards), 2011-07-11
-- added support for the ":omusrmsg:" syntax in configuring user messages
-- added support for the ":omfile:" syntax in configuring user messages
-- added $LocalHostName config directive
-- bugfix: PRI was invalid on Solaris for message from local log socket
- bugfix: local hostname was pulled too-early, so that some config
directives (namely FQDN settings) did not have any effect
- bugfix: imfile did duplicate messages under some circumstances
@@ -917,6 +919,32 @@ increase.
- increased ompgsql performance by adapting to new transactional
output module interface
---------------------------------------------------------------------------
+Version 4.8.1 [v4-beta], 2011-09-??
+- bugfix: potential abort if ultra-large file io buffers are used and
+ dynafile cache exhausts address space (primarily a problem on 32 bit
+ platforms)
+---------------------------------------------------------------------------
+Version 4.8.0 [v4-stable] (rgerhards), 2011-09-07
+***************************************************************************
+* This is a new stable v4 version. It contains all fixes and enhancements *
+* made during the 4.7.x phase as well as those listed below. *
+* Note: major new development to v4 is concluded and will only be done *
+* for custom projects. *
+***************************************************************************
+There are no changes compared to 4.7.5, just a re-release with the new
+version number as new v4-stable. The most important new feature is Solaris
+support.
+---------------------------------------------------------------------------
+Version 4.7.5 [v4-beta], 2011-09-01
+- bugfix/security: off-by-two bug in legacy syslog parser, CVE-2011-3200
+- bugfix: potential misadressing in property replacer
+- bugfix: The NUL-Byte for the syslogtag was not copied in MsgDup (msg.c)
+---------------------------------------------------------------------------
+Version 4.7.4 [v4-beta] (rgerhards), 2011-07-11
+- added support for the ":omusrmsg:" syntax in configuring user messages
+- added support for the ":omfile:" syntax in configuring user messages
+- added $LocalHostName config directive
+- bugfix: PRI was invalid on Solaris for message from local log socket
Version 4.7.3 [v4-devel] (rgerhards), 2010-11-25
- added omuxsock, which permits to write message to local Unix sockets
this is the counterpart to imuxsock, enabling fast local forwarding
diff --git a/runtime/msg.c b/runtime/msg.c
index f1de8130..7cc588b7 100644
--- a/runtime/msg.c
+++ b/runtime/msg.c
@@ -1741,7 +1741,6 @@ getTAG(msg_t *pM, uchar **ppBuf, int *piLen)
*piLen = pM->iLenTAG;
}
}
-dbgprintf("getTAG: len %d, buf '%s'\n", *piLen, *ppBuf);
}
diff --git a/tools/omfile.c b/tools/omfile.c
index fa2fd156..dcb09faf 100644
--- a/tools/omfile.c
+++ b/tools/omfile.c
@@ -235,7 +235,8 @@ rsRetVal setDynaFileCacheSize(void __attribute__((unused)) *pVal, int iNewVal)
}
-rsRetVal goneAway(void __attribute__((unused)) *pVal, int iNewVal)
+rsRetVal goneAway(void __attribute__((unused)) *pVal,
+ int __attribute__((unused)) iNewVal)
{
errmsg.LogError(0, RS_RET_ERR, "directive $omfileForceChown is no longer supported");
return RS_RET_ERR;
@@ -391,6 +392,7 @@ prepareFile(instanceData *pData, uchar *newFileName)
int fd;
DEFiRet;
+ pData->pStrm = NULL;
if(access((char*)newFileName, F_OK) != 0) {
/* file does not exist, create it (and eventually parent directories */
if(pData->bCreateDirs) {
@@ -461,8 +463,10 @@ prepareFile(instanceData *pData, uchar *newFileName)
CHKiRet(strm.ConstructFinalize(pData->pStrm));
finalize_it:
- if(pData->pStrm == NULL) {
- DBGPRINTF("Error opening log file: %s\n", pData->f_fname);
+ if(iRet != RS_RET_OK) {
+ if(pData->pStrm != NULL) {
+ strm.Destruct(&pData->pStrm);
+ }
}
RETiRet;
}
@@ -540,7 +544,7 @@ prepareDynFile(instanceData *pData, uchar *newFileName, unsigned iMsgOpts)
pData->iCurrElt = -1;
/* similarly, we need to set the current pStrm to NULL, because otherwise, if prepareFile() fails,
* we may end up using an old stream. This bug depends on how exactly prepareFile fails,
- * but it* could be triggered in the common case of a failed open() system call.
+ * but it could be triggered in the common case of a failed open() system call.
* rgerhards, 2010-03-22
*/
pData->pStrm = NULL;
@@ -568,8 +572,8 @@ prepareDynFile(instanceData *pData, uchar *newFileName, unsigned iMsgOpts)
/* Ok, we finally can open the file */
localRet = prepareFile(pData, newFileName); /* ignore exact error, we check fd below */
- /* file is either open now or an error state set */ // RG: better check localRet?
- if(pData->pStrm == NULL) {
+ /* check if we had an error */
+ if(localRet != RS_RET_OK) {
/* do not report anything if the message is an internally-generated
* message. Otherwise, we could run into a never-ending loop. The bad
* news is that we also lose errors on startup messages, but so it is.
@@ -577,7 +581,7 @@ prepareDynFile(instanceData *pData, uchar *newFileName, unsigned iMsgOpts)
if(iMsgOpts & INTERNAL_MSG) {
DBGPRINTF("Could not open dynaFile, discarding message\n");
} else {
- errmsg.LogError(0, NO_ERRCODE, "Could not open dynamic file '%s' - discarding message", newFileName);
+ errmsg.LogError(0, NO_ERRCODE, "Could not open dynamic file '%s' [state %d] - discarding message", newFileName, localRet);
}
ABORT_FINALIZE(localRet);
}
@@ -651,8 +655,6 @@ finalize_it:
/* in v5, we shall return different states for message-caused failure (but only there!) */
if(pData->strmType == STREAMTYPE_NAMED_PIPE)
iRet = RS_RET_DISABLE_ACTION; /* this is the traditional semantic -- rgerhards, 2010-01-15 */
- else
- iRet = RS_RET_SUSPENDED;
}
RETiRet;
}
@@ -685,7 +687,8 @@ ENDbeginTransaction
BEGINendTransaction
CODESTARTendTransaction
- if(pData->bFlushOnTXEnd) {
+ /* Note: pStrm may be NULL if there was an error opening the stream */
+ if(pData->bFlushOnTXEnd && pData->pStrm != NULL) {
CHKiRet(strm.Flush(pData->pStrm));
}
finalize_it: