From f6dfcc7c3d326c54e1d5e301e1a2c032e4131e02 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Thu, 12 Nov 2009 14:21:53 +0100
Subject: correcting -q/-Q patch - was invalid
This is the correct patch. The previous one solved the segfault, but
disabled the -q/Q options.
---
runtime/net.c | 3 +++
runtime/net.h | 4 ++--
tools/syslogd.c | 4 ++--
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/runtime/net.c b/runtime/net.c
index f289ecc5..29f7062b 100644
--- a/runtime/net.c
+++ b/runtime/net.c
@@ -1517,6 +1517,9 @@ CODESTARTobjQueryInterface(net)
pIf->AddPermittedPeer = AddPermittedPeer;
pIf->DestructPermittedPeers = DestructPermittedPeers;
pIf->PermittedPeerWildcardMatch = PermittedPeerWildcardMatch;
+ /* data members */
+ pIf->pACLAddHostnameOnFail = &ACLAddHostnameOnFail;
+ pIf->pACLDontResolve = &ACLDontResolve;
finalize_it:
ENDobjQueryInterface(net)
diff --git a/runtime/net.h b/runtime/net.h
index 8e64f7ab..092c3116 100644
--- a/runtime/net.h
+++ b/runtime/net.h
@@ -147,8 +147,8 @@ BEGINinterface(net) /* name must also be changed in ENDinterface macro! */
rsRetVal (*DestructPermittedPeers)(permittedPeers_t **ppRootPeer);
rsRetVal (*PermittedPeerWildcardMatch)(permittedPeers_t *pPeer, uchar *pszNameToMatch, int *pbIsMatching);
/* data members - these should go away over time... TODO */
- int pACLAddHostnameOnFail; /* add hostname to acl when DNS resolving has failed */
- int pACLDontResolve; /* add hostname to acl instead of resolving it to IP(s) */
+ int *pACLAddHostnameOnFail; /* add hostname to acl when DNS resolving has failed */
+ int *pACLDontResolve; /* add hostname to acl instead of resolving it to IP(s) */
ENDinterface(net)
#define netCURR_IF_VERSION 4 /* increment whenever you change the interface structure! */
diff --git a/tools/syslogd.c b/tools/syslogd.c
index 9dbea061..75d5ff82 100644
--- a/tools/syslogd.c
+++ b/tools/syslogd.c
@@ -3422,10 +3422,10 @@ int realMain(int argc, char **argv)
fprintf(stderr, "error -p is no longer supported, use module imuxsock instead");
}
case 'q': /* add hostname if DNS resolving has failed */
- net.pACLAddHostnameOnFail = 1;
+ *(net.pACLAddHostnameOnFail) = 1;
break;
case 'Q': /* dont resolve hostnames in ACL to IPs */
- net.pACLDontResolve = 1;
+ *(net.pACLDontResolve) = 1;
break;
case 'r': /* accept remote messages */
if(iCompatibilityMode < 3) {
--
cgit v1.2.3
From dd40c7ff901d7d7414cda5cf60da647d450ed741 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Tue, 17 Nov 2009 09:25:22 +0100
Subject: minor doc: enhanced description of loadable modules
---
doc/rsyslog_conf.html | 53 ++++++++++++++++++++++++++++++++++-----------------
1 file changed, 36 insertions(+), 17 deletions(-)
diff --git a/doc/rsyslog_conf.html b/doc/rsyslog_conf.html
index 2dc8aa24..ac695656 100644
--- a/doc/rsyslog_conf.html
+++ b/doc/rsyslog_conf.html
@@ -21,22 +21,26 @@ features require a different config file syntax, rsyslogd
should be able to work with a standard syslog.conf file. This is
especially useful while you are migrating from syslogd to rsyslogd.
Modules
-Rsyslog has a modular design. Consequently, there is a growing
+
Rsyslog has a modular design. This enables functionality to be
+dynamically loaded from modules, which may also be written by any
+third party. Rsyslog itself offers all non-core functionality as
+modules. Consequently, there is a growing
number of modules. Here is the entry point to their documentation and
what they do (list is currently not complete)
+Please note that each module provides configuration
+directives, which are NOT necessarily being listed below. Also
+remember, that a modules configuration directive (and functionality) is
+only available if it has been loaded (using $ModLoad).
+It is relatively easy to write a rsyslog module. If none of the provided
+modules solve your need, you may consider writing one or have one written
+for you by
+Adiscon's professional services for rsyslog
+(this often is a very cost-effective and efficient way of getting what you need).
+
+
Input Modules
+Input modules are used to gather messages from various sources. They interface
+to message generators.
-- omsnmp - SNMP
-trap output module
-- omrelp - RELP
-output module
-- omgssapi - output module for GSS-enabled syslog
-- ommysql - output module for MySQL
-- ompgsql - output module for PostgreSQL
-- omlibdbi -
-generic database output module (Firebird/Interbase, MS SQL, Sybase,
-SQLLite, Ingres, Oracle, mSQL)
-- ommail -
-permits rsyslog to alert folks by mail if something important happens
- imfile
- input module for text files
- imrelp - RELP
@@ -53,10 +57,25 @@ unix sockets, including the system log socket
- im3195 -
accepts syslog messages via RFC 3195
-Please note that each module provides configuration
-directives, which are NOT necessarily being listed below. Also
-remember, that a modules configuration directive (and functionality) is
-only available if it has been loaded (using $ModLoad).
+
+Output Modules
+Output modules process messages. With them, message formats can be transformed
+and messages be transmitted to various different targets.
+
+- omsnmp - SNMP
+trap output module
+- omrelp - RELP
+output module
+- omgssapi - output module for GSS-enabled syslog
+- ommysql - output module for MySQL
+- ompgsql - output module for PostgreSQL
+- omlibdbi -
+generic database output module (Firebird/Interbase, MS SQL, Sybase,
+SQLLite, Ingres, Oracle, mSQL)
+- ommail -
+permits rsyslog to alert folks by mail if something important happens
+
+
Lines
Lines can be continued by specifying a backslash ("\") as the last
character of the line.
--
cgit v1.2.3
From 903811a856109486ce238133fc8c68fa89f26514 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Wed, 18 Nov 2009 10:55:17 +0100
Subject: preparing for 4.5.7
---
ChangeLog | 2 +-
configure.ac | 2 +-
doc/manual.html | 2 +-
tests/Makefile.am | 1 +
tests/sndrcv_drvr.sh | 1 +
5 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0603a875..270f9bc6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
---------------------------------------------------------------------------
-Version 4.5.7 [v4-beta] (rgerhards), 2009-11-??
+Version 4.5.7 [v4-beta] (rgerhards), 2009-11-18
- added a so-called "On Demand Debug" mode, in which debug output can
be generated only after the process has started, but not right from
the beginning. This is assumed to be useful for hard-to-find bugs.
diff --git a/configure.ac b/configure.ac
index 39e78d24..9a637d4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
-AC_INIT([rsyslog],[4.5.6],[rsyslog@lists.adiscon.com])
+AC_INIT([rsyslog],[4.5.7],[rsyslog@lists.adiscon.com])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([ChangeLog])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/doc/manual.html b/doc/manual.html
index e6935d50..785845b6 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -19,7 +19,7 @@ rsyslog support available directly from the source!
Please visit the rsyslog sponsor's page
to honor the project sponsors or become one yourself! We are very grateful for any help towards the
project goals.
-This documentation is for version 4.5.6 (v4-beta branch) of rsyslog.
+
This documentation is for version 4.5.7 (v4-beta branch) of rsyslog.
Visit the rsyslog status page
to obtain current version information and project status.
If you like rsyslog, you might
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a50ee8ee..2026aec1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -111,6 +111,7 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
omod-if-array.sh \
diag.sh \
testsuites/diag-common.conf \
+ testsuites/diag-common2.conf \
queue-persist.sh \
queue-persist-drvr.sh \
testsuites/queue-persist.conf \
diff --git a/tests/sndrcv_drvr.sh b/tests/sndrcv_drvr.sh
index 9835a8eb..63afd6b5 100755
--- a/tests/sndrcv_drvr.sh
+++ b/tests/sndrcv_drvr.sh
@@ -35,6 +35,7 @@ source $srcdir/diag.sh wait-startup 2
# now inject the messages into instance 2. It will connect to instance 1,
# and that instance will record the data.
source $srcdir/diag.sh tcpflood 127.0.0.1 13514 1 $2 1
+sleep 2 # make sure all data is received in input buffers
# shut down sender when everything is sent, receiver continues to run concurrently
# may be needed by TLS (once we do it): sleep 60
source $srcdir/diag.sh shutdown-when-empty 2
--
cgit v1.2.3
From 3056c15ef4d1d7b73a9591347cf0cef76c020792 Mon Sep 17 00:00:00 2001
From: Jonathan Bond-Caron
Date: Wed, 25 Nov 2009 16:35:54 +0100
Subject: bugfix (kind of): check if TCP connection is still alive if using TLS
Signed-off-by: Rainer Gerhards
---
ChangeLog | 2 ++
runtime/nsd_gtls.c | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 270f9bc6..2fe14190 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@ Version 4.5.7 [v4-beta] (rgerhards), 2009-11-18
be generated only after the process has started, but not right from
the beginning. This is assumed to be useful for hard-to-find bugs.
Also improved the doc on the debug system.
+- bugfix (kind of): check if TCP connection is still alive if using TLS
+ Thanks to Jonathan Bond-Caron for the patch.
- bugfix [imported from 4.4.3]: $ActionExecOnlyOnceEveryInterval did
not work.
---------------------------------------------------------------------------
diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
index 79ceffb3..fb2e219d 100644
--- a/runtime/nsd_gtls.c
+++ b/runtime/nsd_gtls.c
@@ -1325,7 +1325,10 @@ finalize_it:
static void
CheckConnection(nsd_t __attribute__((unused)) *pNsd)
{
- /* dummy, do nothing */
+ nsd_gtls_t *pThis = (nsd_gtls_t*) pNsd;
+ ISOBJ_TYPE_assert(pThis, nsd_gtls);
+
+ nsd_ptcp.CheckConnection(pThis->pTcp);
}
--
cgit v1.2.3