summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-10-08 16:42:44 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-10-08 16:42:44 +0200
commited2cd2806e0cf00990c73f184698bf683ee10cc2 (patch)
tree2a8077a3e609e76d89bf0e9cd23b19c03d50fd69
parentc897ac6e6de3b430911cad71e7453d8b4b3c57bc (diff)
parent17e24eae733a0bce0eda65947e7559a05c91fc9c (diff)
downloadrsyslog-ed2cd2806e0cf00990c73f184698bf683ee10cc2.tar.gz
rsyslog-ed2cd2806e0cf00990c73f184698bf683ee10cc2.tar.xz
rsyslog-ed2cd2806e0cf00990c73f184698bf683ee10cc2.zip
Merge branch 'v4-beta' into v4-devel
Conflicts: tools/omfile.c
-rw-r--r--ChangeLog7
-rw-r--r--runtime/debug.c2
-rw-r--r--runtime/modules.c2
-rw-r--r--tools/omfile.c7
-rw-r--r--tools/syslogd.c2
5 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 7ce00c1f..846882b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}