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.

-

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. +

+

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