diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | runtime/modules.c | 2 | ||||
-rw-r--r-- | tools/omfile.c | 7 | ||||
-rw-r--r-- | tools/syslogd.c | 2 |
4 files changed, 12 insertions, 4 deletions
@@ -9,6 +9,11 @@ Version 4.5.6 [v4-beta] (rgerhards), 2009-09-?? Version 4.5.5 [v4-beta] (rgerhards), 2009-09-?? - added $InputTCPServerNotifyOnConnectionClose config directive see doc for details +- bugfix: invalid storage class selected for some size config parameters. + This resulted in wrong values. The most prominent victim was the + directory creation mode, which was set to zero in some cases. For + details, see related blog post: + http://blog.gerhards.net/2009/10/another-note-on-hard-to-find-bugs.html --------------------------------------------------------------------------- Version 4.5.4 [v4-beta] (rgerhards), 2009-09-29 - bugfix: potential segfault in stream writer on destruction diff --git a/runtime/modules.c b/runtime/modules.c index bd201252..871f356a 100644 --- a/runtime/modules.c +++ b/runtime/modules.c @@ -383,7 +383,7 @@ doModInit(rsRetVal (*modInit)(int, int*, rsRetVal(**)(), rsRetVal(*)(), modInfo_ * can never change in the lifetime of an module. -- rgerhards, 2007-12-14 */ CHKiRet((*pNew->modQueryEtryPt)((uchar*)"getType", &modGetType)); - CHKiRet((iRet = (*modGetType)(&pNew->eType)) != RS_RET_OK); + CHKiRet((*modGetType)(&pNew->eType)); dbgprintf("module of type %d being loaded.\n", pNew->eType); /* OK, we know we can successfully work with the module. So we now fill the diff --git a/tools/omfile.c b/tools/omfile.c index bb12b4b6..9d6b3d1d 100644 --- a/tools/omfile.c +++ b/tools/omfile.c @@ -66,6 +66,7 @@ #include "errmsg.h" #include "stream.h" #include "unicode-helper.h" +#include "atomic.h" MODULE_TYPE_OUTPUT @@ -101,7 +102,7 @@ static int bCreateDirs; /* auto-create directories for dynaFiles: 0 - no, 1 - ye static int bEnableSync = 0;/* enable syncing of files (no dash in front of pathname in conf): 0 - no, 1 - yes */ static int iZipLevel = 0; /* zip compression mode (0..9 as usual) */ static bool bFlushOnTXEnd = 1;/* flush write buffers when transaction has ended? */ -static int iIOBufSize = IOBUF_DFLT_SIZE; /* size of an io buffer */ +static int64 iIOBufSize = IOBUF_DFLT_SIZE; /* size of an io buffer */ static int iFlushInterval = FLUSH_INTRVL_DFLT; /* how often flush the output buffer on inactivity? */ static uchar *pszTplName = NULL; /* name of the default template to use */ /* end globals for default values */ @@ -152,12 +153,14 @@ CODESTARTdbgPrintInstInfo "\tcreate directories: %s\n" "\tfile owner %d, group %d\n" "\tdirectory owner %d, group %d\n" + "\tdir create mode 0%3.3o, file create mode 0%3.3o\n" "\tfail if owner/group can not be set: %s\n", pData->f_fname, pData->iDynaFileCacheSize, pData->bCreateDirs ? "yes" : "no", pData->fileUID, pData->fileGID, pData->dirUID, pData->dirGID, + pData->fDirCreateMode, pData->fCreateMode, pData->bFailOnChown ? "yes" : "no" ); } else { /* regular file */ @@ -684,7 +687,7 @@ CODESTARTparseSelectorAct pData->dirGID = dirGID; pData->iZipLevel = iZipLevel; pData->bFlushOnTXEnd = bFlushOnTXEnd; - pData->iIOBufSize = iIOBufSize; + pData->iIOBufSize = (int) iIOBufSize; pData->iFlushInterval = iFlushInterval; if(pData->bDynamicName == 0) { diff --git a/tools/syslogd.c b/tools/syslogd.c index 512412da..45c30baa 100644 --- a/tools/syslogd.c +++ b/tools/syslogd.c @@ -1784,7 +1784,7 @@ static void doexit() /* set the maximum message size */ -static rsRetVal setMaxMsgSize(void __attribute__((unused)) *pVal, int iNewVal) +static rsRetVal setMaxMsgSize(void __attribute__((unused)) *pVal, long iNewVal) { return glbl.SetMaxLine(iNewVal); } |