diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2011-09-26 11:58:20 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-09-26 11:58:20 +0200 |
commit | 0c7604dc27119122a3022c7bf094ffb5f8d59e6d (patch) | |
tree | 370ad5d009cb301e5ea4757f8ac34a7179d28448 | |
parent | b1e21fcb4b072b1780ce093e890450fe3a059de8 (diff) | |
parent | b26387e6b28630b8e5e3582039141ebf1c7455e3 (diff) | |
download | rsyslog-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-- | ChangeLog | 50 | ||||
-rw-r--r-- | runtime/msg.c | 1 | ||||
-rw-r--r-- | tools/omfile.c | 23 |
3 files changed, 52 insertions, 22 deletions
@@ -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: |