diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | runtime/debug.c | 2 | ||||
-rw-r--r-- | runtime/modules.c | 2 | ||||
-rw-r--r-- | tools/omfile.c | 7 | ||||
-rw-r--r-- | tools/syslogd.c | 2 |
5 files changed, 15 insertions, 5 deletions
@@ -23,6 +23,13 @@ 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: debug string larger than 1K were improperly displayed. Max size + is now 32K +- 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/debug.c b/runtime/debug.c index 807fd3f7..1b592ef3 100644 --- a/runtime/debug.c +++ b/runtime/debug.c @@ -841,7 +841,7 @@ dbgprint(obj_t *pObj, char *pszMsg, size_t lenMsg) static pthread_t ptLastThrdID = 0; static int bWasNL = 0; char pszThrdName[64]; /* 64 is to be on the safe side, anything over 20 is bad... */ - char pszWriteBuf[1024]; + char pszWriteBuf[32*1024]; size_t lenWriteBuf; struct timespec t; uchar *pszObjName = NULL; 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 eaffa70e..65140ac4 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 @@ -103,7 +104,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 */ @@ -156,6 +157,7 @@ CODESTARTdbgPrintInstInfo "\tfile owner %d, group %d\n" "\tdirectory owner %d, group %d\n" "\tforce chown() for all files: %s\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, @@ -163,6 +165,7 @@ CODESTARTdbgPrintInstInfo pData->fileUID, pData->fileGID, pData->dirUID, pData->dirGID, pData->bForceChown ? "yes" : "no", + pData->fDirCreateMode, pData->fCreateMode, pData->bFailOnChown ? "yes" : "no" ); } else { /* regular file */ @@ -705,7 +708,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 66d102b4..d99fb84d 100644 --- a/tools/syslogd.c +++ b/tools/syslogd.c @@ -1787,7 +1787,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); } |