summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--doc/rsyslog_ng_comparison.html7
-rw-r--r--doc/status.html4
-rw-r--r--expr.c3
-rw-r--r--relputil.c113
-rw-r--r--rfc3195d.82
-rw-r--r--rsyslog.conf.52
-rw-r--r--rsyslogd.82
-rw-r--r--syslogd.c4
-rw-r--r--vm.c7
10 files changed, 19 insertions, 136 deletions
diff --git a/ChangeLog b/ChangeLog
index 7eb5ce35..876f4130 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,7 +10,6 @@ Version 3.17.0 (rgerhards), 2008-04-??
- added the capability to specify a processing (actually dequeue)
timeframe with queues - so things can be configured to be done
at off-peak hours
-- bugfix: some memory leak when queue is runing in disk mode
- We have removed the 32 character size limit (from RFC3164) on the
tag. This had bad effects on existing envrionments, as sysklogd didn't
obey it either (probably another bug in RFC3164...). We now receive
@@ -26,13 +25,18 @@ Version 3.17.0 (rgerhards), 2008-04-??
- bugfix: some messages were emited without hostname
---------------------------------------------------------------------------
Version 3.15.1 (rgerhards), 2008-04-??
+- bugfix: some messages were emited without hostname
- disabled atomic operations for the time being because they introduce some
cross-platform trouble - need to see how to fix this in the best
possible way
+- bugfix: zero-length strings were not supported in object
+ deserializer
- added librelp check via PKG_CHECK thanks to Michael Biebl's patch
- file relputil.c deleted, is not actually needed
- added more meaningful error messages to rsyslogd (when some errors
happens during startup)
+- bugfix: memory leaks in script engine
+- bugfix: $hostname and $fromhost in RainerScript did not work
---------------------------------------------------------------------------
Version 3.15.0 (rgerhards), 2008-04-01
- major new feature: imrelp/omrelp support reliable delivery of syslog
@@ -44,6 +48,10 @@ Version 3.15.0 (rgerhards), 2008-04-01
only installed if corresponding option is selected. Thanks to
Michael Biebl for pointing these problems out.
---------------------------------------------------------------------------
+Version 3.14.2 (rgerhards), 2008-04-??
+- bugfix: segfault with expression-based filters
+- some cleanup
+---------------------------------------------------------------------------
Version 3.14.1 (rgerhards), 2008-04-04
- bugfix: some messages were emited without hostname
- bugfix: rsyslogd was no longer build by default; man pages are
@@ -63,6 +71,7 @@ Version 3.14.1 (rgerhards), 2008-04-04
the full size, but will modify the outputs so that only 32 characters
max are used by default. If you need large tags in the output, you need
to provide custom templates.
+- bugfix: some memory leak when queue is runing in disk mode
---------------------------------------------------------------------------
Version 3.14.0 (rgerhards), 2008-04-02
An interim version was accidently released to the web. It was named 3.14.0.
diff --git a/doc/rsyslog_ng_comparison.html b/doc/rsyslog_ng_comparison.html
index 60eeee74..4ee8c10b 100644
--- a/doc/rsyslog_ng_comparison.html
+++ b/doc/rsyslog_ng_comparison.html
@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
-<meta http-equiv="Content-Language" content="de"><title>rsyslog vs. syslog-ng - a comparison</title>
-
+<title>rsyslog vs. syslog-ng - a comparison</title>
</head>
<body>
<h1>rsyslog vs. syslog-ng</h1>
@@ -573,6 +572,6 @@ feature sheet. I have not yet been able to fully work through it. In
the mean time, you may want to read it in parallel. It is available at
<a href="http://www.balabit.com/network-security/syslog-ng/features/detailed/">Balabit's
site</a>.</p>
-<p>This document is current as of 2008-02-28 and definitely
+<p>This document is current as of 2008-04-07 and definitely
incomplete (I did not yet manage to complete it!).</p>
-</body></html> \ No newline at end of file
+</body></html>
diff --git a/doc/status.html b/doc/status.html
index bfced290..5ab6ea05 100644
--- a/doc/status.html
+++ b/doc/status.html
@@ -2,7 +2,7 @@
<html><head><title>rsyslog status page</title></head>
<body>
<h2>rsyslog status page</h2>
-<p>This page reflects the status as of 2008-04-02.</p>
+<p>This page reflects the status as of 2008-04-07.</p>
<h2>Current Releases</h2>
<p><b>development:</b> 3.15.0 -
@@ -30,7 +30,7 @@ help port rsyslog to other platforms. As such,
platform list is now maintained inside the rsyslog wiki</a>.
Platform maintainers perhaps have posted extra information there. If
you do platform-specific work, feel free to add information to the wiki.</p>
-<p>Rsyslog is the default syslogd in Fedora 8.</p>
+<p>Rsyslog is the default syslogd in Fedora 8 and above.</p>
<h2>Additional information</h2>
<p><b>Currently supported features are listed on the <a href="features.html">rsyslog features page</a>.</b></p>
<ul>
diff --git a/expr.c b/expr.c
index e6f4ef23..5c11b756 100644
--- a/expr.c
+++ b/expr.c
@@ -371,7 +371,6 @@ exprParse(expr_t *pThis, ctok_t *tok)
/* happy parsing... */
CHKiRet(expr(pThis, tok));
dbgoprint((obj_t*) pThis, "successfully parsed/created expression\n");
-vmprg.DebugPrint(pThis->pVmprg);
finalize_it:
RETiRet;
@@ -392,8 +391,6 @@ CODESTARTobjQueryInterface(expr)
* work here (if we can support an older interface version - that,
* of course, also affects the "if" above).
*/
- //xxxpIf->oID = OBJexpr;
-
pIf->Construct = exprConstruct;
pIf->ConstructFinalize = exprConstructFinalize;
pIf->Destruct = exprDestruct;
diff --git a/relputil.c b/relputil.c
deleted file mode 100644
index e90cb5a3..00000000
--- a/relputil.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* relputil.c
- *
- * This is a miscellaneous helper class for RELP features.
- *
- * Copyright 2008 Rainer Gerhards and Adiscon GmbH.
- *
- * This file is part of rsyslog.
- *
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Rsyslog is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
- *
- * A copy of the GPL can be found in the file "COPYING" in this distribution.
- */
-#include "config.h"
-#include "rsyslog.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <errno.h>
-#include <librelp.h>
-#include "syslogd.h"
-#include "syslogd-types.h"
-#include "srUtils.h"
-#include "net.h"
-#include "omfwd.h"
-#include "template.h"
-#include "msg.h"
-#include "tcpsyslog.h"
-#include "module-template.h"
-#include "obj.h"
-#include "errmsg.h"
-#include "relputil.h"
-
-MODULE_TYPE_LIB
-
-/* static data */
-DEFobjStaticHelpers
-DEFobjCurrIf(errmsg)
-
-
-/* queryInterface function
- * rgerhards, 2008-02-29
- */
-BEGINobjQueryInterface(relputil)
-CODESTARTobjQueryInterface(relputil)
- if(pIf->ifVersion != relputilCURR_IF_VERSION) { /* check for current version, increment on each change */
- ABORT_FINALIZE(RS_RET_INTERFACE_NOT_SUPPORTED);
- }
-
- /* ok, we have the right interface, so let's fill it
- * Please note that we may also do some backwards-compatibility
- * work here (if we can support an older interface version - that,
- * of course, also affects the "if" above).
- */
-
-finalize_it:
-ENDobjQueryInterface(relputil)
-
-
-/* exit our class
- * rgerhards, 2008-03-10
- */
-BEGINObjClassExit(relputil, OBJ_IS_LOADABLE_MODULE) /* CHANGE class also in END MACRO! */
-CODESTARTObjClassExit(relputil)
- /* release objects we no longer need */
- objRelease(errmsg, CORE_COMPONENT);
-ENDObjClassExit(relputil)
-
-
-/* Initialize our class. Must be called as the very first method
- * before anything else is called inside this class.
- * rgerhards, 2008-02-29
- */
-BEGINAbstractObjClassInit(relputil, 1, OBJ_IS_LOADABLE_MODULE) /* class, version - CHANGE class also in END MACRO! */
- /* request objects we use */
- CHKiRet(objUse(errmsg, CORE_COMPONENT));
-ENDObjClassInit(relputil)
-
-
-/* --------------- here now comes the plumbing that makes as a library module --------------- */
-
-
-BEGINmodExit
-CODESTARTmodExit
- relputilClassExit();
-ENDmodExit
-
-
-BEGINqueryEtryPt
-CODESTARTqueryEtryPt
-CODEqueryEtryPt_STD_LIB_QUERIES
-ENDqueryEtryPt
-
-
-BEGINmodInit()
-CODESTARTmodInit
- *ipIFVersProvided = CURR_MOD_IF_VERSION; /* we only support the current interface specification */
-
- /* Initialize all classes that are in our module - this includes ourselfs */
- CHKiRet(relputilClassInit(pModInfo)); /* must be done after tcps_sess, as we use it */
-ENDmodInit
diff --git a/rfc3195d.8 b/rfc3195d.8
index e585bc2c..ae191df6 100644
--- a/rfc3195d.8
+++ b/rfc3195d.8
@@ -1,7 +1,7 @@
.\" Copyright 2005 Rainer Gerhards and Adiscon for the rsyslog modifications
.\" Distributed under the GNU General Public License.
.\"
-.TH RSYSLOGD 8 "03 July 2007" "Version 1.14.2 (devel)" "Linux System Administration"
+.TH RFC3195D 8 "02 April 2008" "Version 3.14.0" "Linux System Administration"
.SH NAME
rfc3195d \- RFC 3195 listener
.SH SYNOPSIS
diff --git a/rsyslog.conf.5 b/rsyslog.conf.5
index b49a2da4..1c47f535 100644
--- a/rsyslog.conf.5
+++ b/rsyslog.conf.5
@@ -17,7 +17,7 @@
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
.\"
-.TH RSYSLOG.CONF 5 "04 April 2008" "Version 3.17.0" "Linux System Administration"
+.TH RSYSLOG.CONF 5 "07 April 2008" "Version 3.17.0" "Linux System Administration"
.SH NAME
rsyslog.conf \- rsyslogd(8) configuration file
.SH DESCRIPTION
diff --git a/rsyslogd.8 b/rsyslogd.8
index fb1505a4..2aa911d9 100644
--- a/rsyslogd.8
+++ b/rsyslogd.8
@@ -1,7 +1,7 @@
.\" Copyright 2004-2008 Rainer Gerhards and Adiscon for the rsyslog modifications
.\" May be distributed under the GNU General Public License
.\"
-.TH RSYSLOGD 8 "04 April 2008" "Version 3.17.0" "Linux System Administration"
+.TH RSYSLOGD 8 "07 April 2008" "Version 3.17.0" "Linux System Administration"
.SH NAME
rsyslogd \- reliable and extended syslogd
.SH SYNOPSIS
diff --git a/syslogd.c b/syslogd.c
index cd8476d4..778fd713 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -2921,6 +2921,7 @@ GlobalClassExit(void)
objRelease(conf, CORE_COMPONENT);
objRelease(expr, CORE_COMPONENT);
objRelease(vm, CORE_COMPONENT);
+ objRelease(var, CORE_COMPONENT);
objRelease(datetime, CORE_COMPONENT);
/* TODO: implement the rest of the deinit */
@@ -2946,10 +2947,7 @@ GlobalClassExit(void)
CHKiRet(templateInit());
#endif
/* dummy "classes */
-dbgprintf("pre strExit()\n");
strExit();
-dbgprintf("post strExit()\n");
-
#if 0
CHKiRet(objGetObjInterface(&obj)); /* this provides the root pointer for all other queries */
diff --git a/vm.c b/vm.c
index a26e4331..b97898c5 100644
--- a/vm.c
+++ b/vm.c
@@ -193,8 +193,6 @@ CODESTARTop(CMP_CONTAINS)
/* operand2 is on top of stack, so needs to be popped first */
vmstk.PopString(pThis->pStk, &operand2);
vmstk.PopString(pThis->pStk, &operand1);
-var.DebugPrint(operand1); \
-var.DebugPrint(operand2); \
/* TODO: extend cstr class so that it supports location of cstr inside cstr */
bRes = (rsCStrLocateInSzStr(operand2->val.pStr, rsCStrGetSzStr(operand1->val.pStr)) == -1) ? 0 : 1;
@@ -233,8 +231,6 @@ CODESTARTop(CMP_STARTSWITH)
/* operand2 is on top of stack, so needs to be popped first */
vmstk.PopString(pThis->pStk, &operand2);
vmstk.PopString(pThis->pStk, &operand1);
-var.DebugPrint(operand1); \
-var.DebugPrint(operand2); \
/* TODO: extend cstr class so that it supports location of cstr inside cstr */
bRes = (rsCStrStartsWithSzStr(operand1->val.pStr, rsCStrGetSzStr(operand2->val.pStr),
rsCStrLen(operand2->val.pStr)) == 0) ? 1 : 0;
@@ -254,14 +250,11 @@ CODESTARTop(CMP_STARTSWITHI)
/* operand2 is on top of stack, so needs to be popped first */
vmstk.PopString(pThis->pStk, &operand2);
vmstk.PopString(pThis->pStk, &operand1);
-var.DebugPrint(operand1); \
-var.DebugPrint(operand2); \
/* TODO: extend cstr class so that it supports location of cstr inside cstr */
bRes = (rsCStrCaseInsensitveStartsWithSzStr(operand1->val.pStr, rsCStrGetSzStr(operand2->val.pStr),
rsCStrLen(operand2->val.pStr)) == 0) ? 1 : 0;
/* we have a result, so let's push it */
-RUNLOG_VAR("%lld", bRes); \
PUSHRESULTop(operand1, bRes);
var.Destruct(&operand2); /* no longer needed */
ENDop(CMP_STARTSWITHI)