summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--runtime/modules.c2
-rw-r--r--tools/omfile.c7
-rw-r--r--tools/syslogd.c2
4 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5055ebf1..bf399c57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}