summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2007-08-01 07:26:46 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2007-08-01 07:26:46 +0000
commit0eab6e11e94df082d6b7a791648dc367c2c16dc6 (patch)
tree96a6f14603f56bc9272a3b45ef8923ee1a692d23
parent4922cc646964e7a129b3cfab8873382425271664 (diff)
downloadrsyslog-0eab6e11e94df082d6b7a791648dc367c2c16dc6.tar.gz
rsyslog-0eab6e11e94df082d6b7a791648dc367c2c16dc6.tar.xz
rsyslog-0eab6e11e94df082d6b7a791648dc367c2c16dc6.zip
- loading default values as done yesterday *is* clean (I've just reviewed
the code again) - moved omfile-specifc global variables (for cfsysline settings) from syslogd.c to omfile.c
-rw-r--r--ChangeLog2
-rw-r--r--cfsysline.c5
-rw-r--r--msg.c1
-rw-r--r--omfile.c12
-rw-r--r--omusrmsg.c8
-rw-r--r--syslogd.c37
-rw-r--r--syslogd.h11
7 files changed, 28 insertions, 48 deletions
diff --git a/ChangeLog b/ChangeLog
index 0dcf7e3d..ac77c7ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,8 @@ Version 1.17.6 (rgerhards), 2007-07-3?
thanks to mildew for catching this.
- added configuration file command $DebugPrintModuleList and
$DebugPrintCfSysLineHandlerList
+- fixed an invalid value for the MARK timer - unfortunately, there was
+ a testing aid left in place. This resulted in quite frequent MARK messages
---------------------------------------------------------------------------
Version 1.17.5 (rgerhards), 2007-07-30
- continued to work on output module modularization
diff --git a/cfsysline.c b/cfsysline.c
index 2c20b2bc..c42675d0 100644
--- a/cfsysline.c
+++ b/cfsysline.c
@@ -548,10 +548,7 @@ rsRetVal regCfSysLineHdlr(uchar *pCmdName, ecslCmdHdrlType eType, rsRetVal (*pHd
}
} else {
/* command already exists, are we allowed to chain? */
-#if 0
- iRet = RS_RET_NOT_IMPLEMENTED; // TODO: implement it!
- goto finalize_it;
-#endif
+ /* TODO: check permission to chain */
CHKiRet_Hdlr(cslcAddHdlr(pThis, eType, pHdlr, pData)) {
cslcDestruct(pThis);
goto finalize_it;
diff --git a/msg.c b/msg.c
index 733514e4..29277104 100644
--- a/msg.c
+++ b/msg.c
@@ -1446,7 +1446,6 @@ char *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
/* skip to the start of the substring (can't do pointer arithmetic
* because the whole string might be smaller!!)
*/
- // ++iFrom; /* nbr of chars to skip! */
while(*pRes && iFrom) {
--iFrom;
++pRes;
diff --git a/omfile.c b/omfile.c
index e1bba987..5c45f58d 100644
--- a/omfile.c
+++ b/omfile.c
@@ -56,6 +56,18 @@
*/
DEF_OMOD_STATIC_DATA
+/* globals for default values */
+static int iDynaFileCacheSize = 10; /* max cache for dynamic files */
+static int fCreateMode = 0644; /* mode to use when creating files */
+static int fDirCreateMode = 0644; /* mode to use when creating files */
+static int bFailOnChown; /* fail if chown fails? */
+static uid_t fileUID; /* UID to be used for newly created files */
+static uid_t fileGID; /* GID to be used for newly created files */
+static uid_t dirUID; /* UID to be used for newly created directories */
+static uid_t dirGID; /* GID to be used for newly created directories */
+static int bCreateDirs; /* auto-create directories for dynaFiles: 0 - no, 1 - yes */
+/* end globals for default values */
+
typedef struct _instanceData {
char f_fname[MAXFNAME];/* file or template name (display only) */
short fd; /* file descriptor for (current) file */
diff --git a/omusrmsg.c b/omusrmsg.c
index 8ee2f770..7183014a 100644
--- a/omusrmsg.c
+++ b/omusrmsg.c
@@ -149,7 +149,7 @@ void endutent(void)
* Adjust the size of a variable to prevent a buffer overflow
* should _PATH_DEV ever contain something different than "/dev/".
*/
-static void wallmsg(uchar* pMsg, instanceData *pData)
+static srRetVal wallmsg(uchar* pMsg, instanceData *pData)
{
char p[sizeof(_PATH_DEV) + UNAMESZ];
@@ -162,7 +162,7 @@ static void wallmsg(uchar* pMsg, instanceData *pData)
assert(pMsg != NULL);
if (reenter++)
- return;
+ return RS_RET_OK;
/* open the user login file */
setutent();
@@ -241,14 +241,14 @@ static void wallmsg(uchar* pMsg, instanceData *pData)
/* close the user login file */
endutent();
reenter = 0;
+ return RS_RET_OK;
}
BEGINdoAction
CODESTARTdoAction
dprintf("\n");
- /* TODO: change wallmsg so that it returns iRet */
- wallmsg(ppString[0], pData);
+ iRet = wallmsg(ppString[0], pData);
ENDdoAction
diff --git a/syslogd.c b/syslogd.c
index 92a7882a..3cb51b09 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -194,11 +194,6 @@
(sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
#endif
-#ifdef WITH_DB
-#include "mysql/mysql.h"
-#include "mysql/errmsg.h"
-#endif
-
#include "srUtils.h"
#include "stringbuf.h"
#include "syslogd-types.h"
@@ -381,21 +376,12 @@ int funix[MAXFUNIX] = { -1, }; /* read-only after startup */
#define TABLE_ALLPRI 0xFF /* Value to indicate all priorities in f_pmask */
#define LOG_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0) /* mark "facility" */
-/* This table lists the directive lines:
+/* definitions used for doNameLine to differentiate between different command types
+ * (with otherwise identical code). This is a left-over from the previous config
+ * system. It stays, because it is still useful. So do not wonder why it looks
+ * somewhat strange (at least its name). -- rgerhards, 2007-08-01
*/
-static const char *directive_name_list[] = {
- "template",
- "outchannel",
- "allowedsender",
- "filecreatemode",
- "umask",
- "dynafilecachesize"
-};
-/* ... and their definitions: */
-enum eDirective { DIR_TEMPLATE = 0, DIR_OUTCHANNEL = 1,
- DIR_ALLOWEDSENDER = 2, DIR_FILECREATEMODE = 3,
- DIR_DIRCREATEMODE = 4,
- DIR_UMASK = 5, DIR_DYNAFILECACHESIZE = 6};
+enum eDirective { DIR_TEMPLATE = 0, DIR_OUTCHANNEL = 1, DIR_ALLOWEDSENDER = 2};
/* The following global variables are used for building
* tag and host selector lines during startup and config reload.
@@ -462,7 +448,6 @@ union sockunion {
#define LIST_DELIMITER ':' /* delimiter between two hosts */
struct filed *Files = NULL; /* read-only after init() (but beware of sigusr1!) */
-// TODO: REMOVE! struct filed consfile; /* initialized on startup, used during actions - maybe NON THREAD-SAFE */
struct code {
char *c_name;
@@ -536,7 +521,7 @@ char *LocalDomain; /* our local domain name - read-only after startup */
int *finet = NULL; /* Internet datagram sockets, first element is nbr of elements
* read-only after init(), but beware of restart! */
static char *LogPort = "514"; /* port number for INET connections */
-static int MarkInterval = 5;//20 * 60; /* interval between marks in seconds - read-only after startup */
+static int MarkInterval = 20 * 60; /* interval between marks in seconds - read-only after startup */
int family = PF_UNSPEC; /* protocol family (IPv4, IPv6 or both), set via cmdline */
int send_to_all = 0; /* send message to all IPv4/IPv6 addresses */
static int MarkSeq = 0; /* mark sequence number - modified in domark() only */
@@ -561,7 +546,7 @@ static int Initialized = 0; /* set when we have initialized ourselves
extern int errno;
-/* support for simple textual representatio of FIOP names
+/* support for simple textual representation of FIOP names
* rgerhards, 2005-09-27
*/
static char* getFIOPName(unsigned iFIOP)
@@ -3473,11 +3458,7 @@ static rsRetVal doNameLine(uchar **pp, void* pVal)
eDir = (enum eDirective) pVal; /* this time, it actually is NOT a pointer! */
if(getSubString(&p, szName, sizeof(szName) / sizeof(char), ',') != 0) {
- char errMsg[128];
- snprintf(errMsg, sizeof(errMsg)/sizeof(char),
- "Invalid $%s line: could not extract name - line ignored",
- directive_name_list[eDir]);
- logerror(errMsg);
+ logerror("Invalid config line: could not extract name - line ignored");
ABORT_FINALIZE(RS_RET_NOT_FOUND);
}
if(*p == ',')
@@ -3897,7 +3878,7 @@ static void init()
* think about the whole situation when we implement loadable plugins.
* rgerhards, 2007-07-31
*/
- cfsysline("ResetConfigVariables");
+ cfsysline((uchar*)"ResetConfigVariables");
/* open the configuration file */
if((iRet = processConfFile(ConfFile)) != RS_RET_OK) {
diff --git a/syslogd.h b/syslogd.h
index b553d5fc..697ad411 100644
--- a/syslogd.h
+++ b/syslogd.h
@@ -81,8 +81,6 @@ void getCurrTime(struct syslogTime *t);
int formatTimestampToMySQL(struct syslogTime *ts, char* pDst, size_t iLenDst);
int formatTimestamp3339(struct syslogTime *ts, char* pBuf, size_t iLenBuf);
int formatTimestamp3164(struct syslogTime *ts, char* pBuf, size_t iLenBuf);
-void iovCreate(selector_t *f);
-char *iovAsString(selector_t *f);
void untty(void);
rsRetVal cflineParseTemplateName(uchar** pp, omodStringRequest_t *pOMSR, int iEntry, int iTplOpts, uchar *dfltTplName);
rsRetVal cflineParseFileName(uchar* p, uchar *pFileName, omodStringRequest_t *pOMSR, int iEntry, int iTplOpts);
@@ -104,15 +102,6 @@ extern char **StripDomains;
extern char *LocalDomain;
extern int bDropMalPTRMsgs;
extern struct AllowedSenders *pAllowedSenders_TCP;
-extern int fCreateMode;
-extern int fDirCreateMode;
-extern int bFailOnChown;
-extern uid_t fileUID;
-extern uid_t fileGID;
-extern uid_t dirUID;
-extern uid_t dirGID;
-extern int bCreateDirs;
-extern int iDynaFileCacheSize;
extern char ctty[];
extern int bModMySQLLoaded;