summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-05-02 12:59:54 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-05-02 12:59:54 +0200
commit466e0264015ba5ed100c120365c31a250105c0bb (patch)
tree237518d3abf8ba6378a7cb3a47762512f1401f33
parent82818fe15c6da23e4a790618b2fdda53d0ed66e3 (diff)
parent921bebc8ee203c0569332c636515c4de036dfcf9 (diff)
downloadrsyslog-466e0264015ba5ed100c120365c31a250105c0bb.tar.gz
rsyslog-466e0264015ba5ed100c120365c31a250105c0bb.tar.xz
rsyslog-466e0264015ba5ed100c120365c31a250105c0bb.zip
Merge branch 'v4-stable' into v5-stable
Conflicts: tcpsrv.c
-rw-r--r--ChangeLog4
-rw-r--r--tcpsrv.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3100fcb4..ab1bd66d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,8 @@ Version 5.8.1 [V5-stable] (rgerhards), 2011-04-??
- bugfix: IPv6-address could not be specified in omrelp
this was due to improper parsing of ":"
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=250
+- bugfix: TCP connection invalidly aborted when messages needed to be
+ discarded (due to QUEUE_FULL or similar problem)
- bugfix(minor): improper template function call in syslogd.c
---------------------------------------------------------------------------
Version 5.8.0 [V5-stable] (rgerhards), 2011-04-12
@@ -829,6 +831,8 @@ Version 4.6.6 [v4-stable] (rgerhards), 2010-11-??
bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=221
- bugfix: omlibdbi did not use password from rsyslog.con
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=203
+- bugfix: TCP connection invalidly aborted when messages needed to be
+ discarded (due to QUEUE_FULL or similar problem)
- bugfix: a slightly more informative error message when a TCP
connections is aborted
- some improvements thanks to clang's static code analyzer
diff --git a/tcpsrv.c b/tcpsrv.c
index e8d79142..9972a135 100644
--- a/tcpsrv.c
+++ b/tcpsrv.c
@@ -518,7 +518,8 @@ doReceive(tcpsrv_t *pThis, tcps_sess_t **ppSess, nspoll_t *pPoll)
break;
case RS_RET_OK:
/* valid data received, process it! */
- if((localRet = tcps_sess.DataRcvd(*ppSess, buf, iRcvd)) != RS_RET_OK) {
+ localRet = tcps_sess.DataRcvd(*ppSess, buf, iRcvd);
+ if(localRet != RS_RET_OK && localRet != RS_RET_QUEUE_FULL) {
/* in this case, something went awfully wrong.
* We are instructed to terminate the session.
*/