summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-04-09 13:46:54 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-04-09 13:46:54 +0200
commit9b34b305d8de2012a969675148950b7e10a1924b (patch)
treece22e558b84cf418307a0e4ae1c2c19cafb9bbe2
parentaacb6dcbf49b75b223de09aa74c11c2f22f9da27 (diff)
parenta5b4cb1681174ad221a8440422e4cd0da0e32064 (diff)
downloadrsyslog-9b34b305d8de2012a969675148950b7e10a1924b.tar.gz
rsyslog-9b34b305d8de2012a969675148950b7e10a1924b.tar.xz
rsyslog-9b34b305d8de2012a969675148950b7e10a1924b.zip
Merge branch 'master' into nextmaster
Conflicts: ChangeLog
-rw-r--r--ChangeLog17
-rw-r--r--plugins/imtcp/imtcp.c1
-rw-r--r--tcpsrv.c15
-rw-r--r--tcpsrv.h5
4 files changed, 36 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c99cc00d..db0efb1a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
---------------------------------------------------------------------------
-Version 4.1.7 [DEVEL] (rgerhards), 2009-03-??
+Version 4.3.0 [DEVEL] (rgerhards), 2009-03-??
- improved internal handling of RainerScript functions, building the
necessary plumbing to support more functions with decent runtime
performance. This is also necessary towards the long-term goal
@@ -9,6 +9,10 @@ Version 4.1.7 [DEVEL] (rgerhards), 2009-03-??
- bugfix: solved potential memory leak in msg processing, could manifest
itself in imtcp
---------------------------------------------------------------------------
+Version 4.1.7 [BETA] (rgerhards), 2009-04-??
+- bugfix: $InputTCPMaxSessions config directive was accepted, but not
+ honored. This resulted in a fixed upper limit of 200 connections.
+---------------------------------------------------------------------------
Version 4.1.6 [DEVEL] (rgerhards), 2009-04-07
- added new "csv" property replacer options to enable simple creation
of CSV-formatted outputs (format from RFC4180 is used)
@@ -145,6 +149,10 @@ version before switching to this one.
- bugfix: memory leak in ompgsql
Thanks to Ken for providing the patch
---------------------------------------------------------------------------
+Version 3.22.0 [v3-stable] (rgerhards), 2009-04-??
+- bugfix: $InputTCPMaxSessions config directive was accepted, but not
+ honored. This resulted in a fixed upper limit of 200 connections.
+---------------------------------------------------------------------------
Version 3.21.11 [BETA] (rgerhards), 2009-04-03
- build system improvements contributed by Michael Biebl - thx!
- all patches from 3.20.5 incorporated (see it's ChangeLog entry)
@@ -299,6 +307,10 @@ Version 3.21.0 [DEVEL] (rgerhards), 2008-07-18
- imported all changes from 3.18.1 until today (some quite important,
see below)
---------------------------------------------------------------------------
+Version 3.20.6 [v3-stable] (rgerhards), 2009-04-??
+- bugfix: $InputTCPMaxSessions config directive was accepted, but not
+ honored. This resulted in a fixed upper limit of 200 connections.
+---------------------------------------------------------------------------
Version 3.20.5 [v3-stable] (rgerhards), 2009-04-02
- bugfix: potential abort with DA queue after high watermark is reached
There exists a race condition that can lead to a segfault. Thanks
@@ -1234,6 +1246,9 @@ Version 2.0.7 V2-STABLE (rgerhards), 2008-??-??
The actual code change is heavily based on William's patch.
- bugfix: memory leak in ompgsql
Thanks to Ken for providing the patch
+- bugfix: potential memory leak in msg.c
+ This one did not surface yet and the issue was actually found due to
+ a problem in v4 - but better fix it here, too
---------------------------------------------------------------------------
Version 2.0.6 V2-STABLE (rgerhards), 2008-08-07
- bugfix: memory leaks in rsyslogd, primarily in singlethread mode
diff --git a/plugins/imtcp/imtcp.c b/plugins/imtcp/imtcp.c
index 19138d94..5a8a62f6 100644
--- a/plugins/imtcp/imtcp.c
+++ b/plugins/imtcp/imtcp.c
@@ -162,6 +162,7 @@ static rsRetVal addTCPListener(void __attribute__((unused)) *pVal, uchar *pNewVa
if(pOurTcpsrv == NULL) {
CHKiRet(tcpsrv.Construct(&pOurTcpsrv));
+ CHKiRet(tcpsrv.SetSessMax(pOurTcpsrv, iTCPSessMax));
CHKiRet(tcpsrv.SetCBIsPermittedHost(pOurTcpsrv, isPermittedHost));
CHKiRet(tcpsrv.SetCBRcvData(pOurTcpsrv, doRcvData));
CHKiRet(tcpsrv.SetCBOpenLstnSocks(pOurTcpsrv, doOpenLstnSocks));
diff --git a/tcpsrv.c b/tcpsrv.c
index bb81a281..b9434398 100644
--- a/tcpsrv.c
+++ b/tcpsrv.c
@@ -735,6 +735,20 @@ SetDrvrPermPeers(tcpsrv_t *pThis, permittedPeers_t *pPermPeers)
* -------------------------------------------------------------------------- */
+/* set max number of sessions
+ * this must be called before ConstructFinalize, or it will have no effect!
+ * rgerhards, 2009-04-09
+ */
+static rsRetVal
+SetSessMax(tcpsrv_t *pThis, int iMax)
+{
+ DEFiRet;
+ ISOBJ_TYPE_assert(pThis, tcpsrv);
+ pThis->iSessMax = iMax;
+ RETiRet;
+}
+
+
/* queryInterface function
* rgerhards, 2008-02-29
*/
@@ -762,6 +776,7 @@ CODESTARTobjQueryInterface(tcpsrv)
pIf->SetUsrP = SetUsrP;
pIf->SetInputName = SetInputName;
pIf->SetAddtlFrameDelim = SetAddtlFrameDelim;
+ pIf->SetSessMax = SetSessMax;
pIf->SetDrvrMode = SetDrvrMode;
pIf->SetDrvrAuthMode = SetDrvrAuthMode;
pIf->SetDrvrPermPeers = SetDrvrPermPeers;
diff --git a/tcpsrv.h b/tcpsrv.h
index 2924bafa..e5ecb865 100644
--- a/tcpsrv.h
+++ b/tcpsrv.h
@@ -92,11 +92,14 @@ BEGINinterface(tcpsrv) /* name must also be changed in ENDinterface macro! */
rsRetVal (*SetCBOnSessAccept)(tcpsrv_t*, rsRetVal (*) (tcpsrv_t*, tcps_sess_t*));
rsRetVal (*SetCBOnSessDestruct)(tcpsrv_t*, rsRetVal (*) (void*));
rsRetVal (*SetCBOnSessConstructFinalize)(tcpsrv_t*, rsRetVal (*) (void*));
+ /* added v5 */
+ rsRetVal (*SetSessMax)(tcpsrv_t *pThis, int iMaxSess); /* 2009-04-09 */
ENDinterface(tcpsrv)
-#define tcpsrvCURR_IF_VERSION 4 /* increment whenever you change the interface structure! */
+#define tcpsrvCURR_IF_VERSION 5 /* increment whenever you change the interface structure! */
/* change for v4:
* - SetAddtlFrameDelim() added -- rgerhards, 2008-12-10
* - SetInputName() added -- rgerhards, 2008-12-10
+ * change for v5 and up: see above
*/