diff --git a/backport-Close-file-descriptor-when-freshStartTail-is-turned-on.patch b/backport-Close-file-descriptor-when-freshStartTail-is-turned-on.patch new file mode 100644 index 0000000000000000000000000000000000000000..a9ef72ff305a107e708c771a5807944e8747b6f6 --- /dev/null +++ b/backport-Close-file-descriptor-when-freshStartTail-is-turned-on.patch @@ -0,0 +1,22 @@ +From b4a312b6361b7035f161383e3a51c7821958511a Mon Sep 17 00:00:00 2001 +From: alakatos +Date: Thu, 22 Jul 2021 11:19:16 +0200 +Subject: [PATCH] Close file descriptor when freshStartTail is turned on + + +--- + plugins/imfile/imfile.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c +index db161cc491..ddbd286bb4 100644 +--- a/plugins/imfile/imfile.c ++++ b/plugins/imfile/imfile.c +@@ -1544,6 +1544,7 @@ openFileWithoutStateFile(act_obj_t *const act) + const int fd = open(act->name, O_RDONLY | O_CLOEXEC); + if(fd >= 0) { + act->pStrm->iCurrOffs = lseek64(fd, 0, SEEK_END); ++ close(fd); + if(act->pStrm->iCurrOffs < 0) { + act->pStrm->iCurrOffs = 0; + LogError(errno, RS_RET_ERR, "imfile: could not query current " diff --git a/backport-OMMONGODB-Fixes.patch b/backport-OMMONGODB-Fixes.patch new file mode 100644 index 0000000000000000000000000000000000000000..b344e8116a58a32bd08d4eda138c900b5c93b82e --- /dev/null +++ b/backport-OMMONGODB-Fixes.patch @@ -0,0 +1,78 @@ +From cf0a6386d33e1311a6f37a887872949d95f1cc16 Mon Sep 17 00:00:00 2001 +From: Kevin Guillemot +Date: Wed, 30 Jun 2021 17:39:13 +0200 +Subject: [PATCH] OMMONGODB :: Fixes + - Fix Segmentation fault when server is down + - Add server connexion check while resuming +trust merge open source commit:cf0a6386d33e1311a6f37a887872949d95f1cc16 + +--- + plugins/ommongodb/ommongodb.c | 23 ++++++++++++++++++++--- + 1 file changed, 20 insertions(+), 3 deletions(-) + diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c +index fc3153afd..a8b6ac96f 100644 +--- a/plugins/ommongodb/ommongodb.c ++++ b/plugins/ommongodb/ommongodb.c +@@ -136,10 +136,12 @@ static void closeMongoDB(instanceData *pData) + if(pData->client != NULL) { + if (pData->collection != NULL) { + mongoc_collection_destroy (pData->collection); ++ pData->collection = NULL; + } +- + mongoc_client_destroy (pData->client); ++ pData->client = NULL; + mongoc_cleanup (); ++ DBGPRINTF("ommongodb: Mongodb connexion closed."); + } + } + +@@ -189,6 +191,7 @@ reportMongoError(instanceData *pData) + /* The following function is responsible for initializing a + * MongoDB connection. + * Initially added 2004-10-28 mmeckelein ++ * Improved to check if server is available (ping) @kguillemot 2021-06-30 + */ + static rsRetVal initMongoDB(instanceData *pData, int bSilent) + { +@@ -208,7 +211,7 @@ static rsRetVal initMongoDB(instanceData *pData, int bSilent) + dbgprintf("ommongodb: mongo-c-driver was not built with SSL options, ssl directives will not be used."); + #endif + } +- if(pData->client == NULL) { ++ if(!pData->client) { + if(!bSilent) { + reportMongoError(pData); + dbgprintf("ommongodb: can not initialize MongoDB handle"); +@@ -217,6 +220,20 @@ static rsRetVal initMongoDB(instanceData *pData, int bSilent) + } + pData->collection = mongoc_client_get_collection (pData->client, pData->db, pData->collection_name); + ++ // Try to contact server ++ bson_t *command, reply; ++ bson_error_t error; ++ command = BCON_NEW ("ping", BCON_INT32 (1)); ++ unsigned char retval = mongoc_client_command_simple(pData->client, pData->db, command, NULL, &reply, &error); ++ bson_destroy(&reply); ++ bson_destroy(command); ++ if( !retval ) { ++ DBGPRINTF("ommongodb: ping server error (%u): %s \n", error.code, error.message); ++ closeMongoDB(pData); ++ reportMongoError(pData); ++ ABORT_FINALIZE(RS_RET_SUSPENDED); ++ } ++ + finalize_it: + RETiRet; + } +@@ -551,7 +568,7 @@ CODESTARTdoAction + } else if (is_allowed_error_code(pData, pData->error.code)) { + dbgprintf("ommongodb: insert error: allowing error code\n"); + } else { +- dbgprintf("ommongodb: insert error\n"); ++ dbgprintf("ommongodb: insert error %u : %s \n", pData->error.code, pData->error.message); + reportMongoError(pData); + /* close on insert error to permit resume */ + closeMongoDB(pData); +-- +2.23.0 diff --git a/backport-imfile-bugfix-hash-char-invalidly-added-in-readmode-0.patch b/backport-imfile-bugfix-hash-char-invalidly-added-in-readmode-0.patch new file mode 100644 index 0000000000000000000000000000000000000000..e2407ddf212241f9d43693d611e4af3d344deb9d --- /dev/null +++ b/backport-imfile-bugfix-hash-char-invalidly-added-in-readmode-0.patch @@ -0,0 +1,30 @@ +From d93c5e9d4830197a36830ba285bc5179312cbfc3 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Mon, 9 Aug 2021 12:38:06 +0200 +Subject: [PATCH] imfile bugfix: hash char invalidly added in readmode != 0 + +If imfile is ingesting log files with readMode set to 2 or 1, the resulting +messages all have a '#' character at the end. This patch corrects the behaviour. + +Note: if some external script "supported" the bug of extra hash character at +the end of line, it may be necessary to update them. + +closes https://github.com/rsyslog/rsyslog/issues/4491 + +--- + runtime/stream.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/runtime/stream.c b/runtime/stream.c +index abe4ffb4bd..23cde86a07 100644 +--- a/runtime/stream.c ++++ b/runtime/stream.c +@@ -888,7 +888,7 @@ strmReadLine(strm_t *const pThis, cstr_t **ppCStr, uint8_t mode, sbool bEscapeLF + { + uchar c; + uchar finished; +- const int escapeLFString_len = (escapeLFString == NULL) ? 3 : strlen((char*) escapeLFString); ++ const int escapeLFString_len = (escapeLFString == NULL) ? 4 : strlen((char*) escapeLFString); + DEFiRet; + + assert(pThis != NULL); diff --git a/backport-imjournal-flush-buffer-before-fsync.patch b/backport-imjournal-flush-buffer-before-fsync.patch new file mode 100644 index 0000000000000000000000000000000000000000..b275bfaea847cb8816db1ddff2d42e6ed6de5250 --- /dev/null +++ b/backport-imjournal-flush-buffer-before-fsync.patch @@ -0,0 +1,39 @@ +From 6a1faa065a60c080915f1abdcfa82bc39b88d895 Mon Sep 17 00:00:00 2001 +From: Gerd Rausch +Date: Thu, 15 Apr 2021 11:16:29 -0700 +Subject: [PATCH] imjournal: flush buffer before fsync + Flush the FILE* buffer before rename & fsync in order +to not end up syncing an empty file. + Also, close WorkDir on fsync in order to prevent +file descriptor leakage. + Signed-off-by: Gerd Rausch +Signed-off-by: Venu Busireddy +trust merge open source commit:6a1faa065a60c080915f1abdcfa82bc39b88d895 + +--- + plugins/imjournal/imjournal.c | 4 ++++ + 1 file changed, 4 insertions(+) + diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c +index 35c3f8f9b..62a5ab206 100644 +--- a/plugins/imjournal/imjournal.c ++++ b/plugins/imjournal/imjournal.c +@@ -562,6 +562,8 @@ persistJournalState(void) + ABORT_FINALIZE(RS_RET_IO_ERROR); + } + ++ fflush(sf); ++ + /* change the name of the file to the configured one */ + if (rename(tmp_sf, cs.stateFile) < 0) { + LogError(errno, iRet, "imjournal: rename() failed for new path: '%s'", cs.stateFile); +@@ -583,6 +585,8 @@ persistJournalState(void) + LogError(errno, RS_RET_IO_ERROR, "imjournal: fsync on '%s' failed", glbl.GetWorkDir()); + ABORT_FINALIZE(RS_RET_IO_ERROR); + } ++ ++ closedir(wd); + } + + DBGPRINTF("Persisted journal to '%s'\n", cs.stateFile); +-- +2.23.0 diff --git a/backport-imptcp-bugfix-keep-alive-interval-was-incorrectly-set.patch b/backport-imptcp-bugfix-keep-alive-interval-was-incorrectly-set.patch new file mode 100644 index 0000000000000000000000000000000000000000..c59a104bbb6f746e0955013727e43c63e494b900 --- /dev/null +++ b/backport-imptcp-bugfix-keep-alive-interval-was-incorrectly-set.patch @@ -0,0 +1,36 @@ +From 9121c4ea5aeaac9b1ee7bd8c308c8fde95bc39b4 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Wed, 4 Aug 2021 08:03:46 +0200 +Subject: [PATCH] imptcp bugfix: keep alive interval was incorrectly set + +The interval was accidentally set to keep alive interval. This has been +corrected. + +closes https://github.com/rsyslog/rsyslog/issues/4609 +4 +--- + plugins/imptcp/imptcp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/imptcp/imptcp.c b/plugins/imptcp/imptcp.c +index e89971dbe8..cdd29d4fd5 100644 +--- a/plugins/imptcp/imptcp.c ++++ b/plugins/imptcp/imptcp.c +@@ -1721,7 +1721,7 @@ static rsRetVal addInstance(void __attribute__((unused)) *pVal, uchar *const pNe + inst->pBindRuleset = NULL; + inst->bSuppOctetFram = cs.bSuppOctetFram; + inst->bKeepAlive = cs.bKeepAlive; +- inst->iKeepAliveIntvl = cs.iKeepAliveTime; ++ inst->iKeepAliveIntvl = cs.iKeepAliveIntvl; + inst->iKeepAliveProbes = cs.iKeepAliveProbes; + inst->iKeepAliveTime = cs.iKeepAliveTime; + inst->bEmitMsgOnClose = cs.bEmitMsgOnClose; +@@ -1750,7 +1750,7 @@ addListner(modConfData_t __attribute__((unused)) *modConf, instanceConf_t *inst) + pSrv->bSuppOctetFram = inst->bSuppOctetFram; + pSrv->bSPFramingFix = inst->bSPFramingFix; + pSrv->bKeepAlive = inst->bKeepAlive; +- pSrv->iKeepAliveIntvl = inst->iKeepAliveTime; ++ pSrv->iKeepAliveIntvl = inst->iKeepAliveIntvl; + pSrv->iKeepAliveProbes = inst->iKeepAliveProbes; + pSrv->iKeepAliveTime = inst->iKeepAliveTime; + pSrv->bEmitMsgOnClose = inst->bEmitMsgOnClose; diff --git a/backport-lookup-table-bugfix-data-race-on-lookup-table-reload.patch b/backport-lookup-table-bugfix-data-race-on-lookup-table-reload.patch new file mode 100644 index 0000000000000000000000000000000000000000..9ab24a529a18cb9dfb4fd8e8624a00734340a54e --- /dev/null +++ b/backport-lookup-table-bugfix-data-race-on-lookup-table-reload.patch @@ -0,0 +1,28 @@ +From 389484010fd95d611873e80bdbca898d9671170a Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Fri, 29 Jan 2021 09:25:09 +0100 +Subject: [PATCH] lookup table bugfix: data race on lookup table reload + A data race could happen when a lookup table was reloaded. We found +this while moving to newer version of TSAN, but have no matching +report from practice. However, there is a potential for this to cause +a segfault under "bad circumstances". +trust merge open source commit:389484010fd95d611873e80bdbca898d9671170a + +--- + grammar/rainerscript.c | 2 ++ + 1 file changed, 2 insertions(+) + diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c +index 2e358353e..c86985962 100644 +--- a/grammar/rainerscript.c ++++ b/grammar/rainerscript.c +@@ -2377,6 +2377,8 @@ doFunct_Lookup(struct cnffunc *__restrict__ const func, + return; + } + cnfexprEval(func->expr[1], &srcVal, usrptr, pWti); ++ pthread_rwlock_rdlock(&((lookup_ref_t*)func->funcdata)->rwlock); ++ pthread_rwlock_unlock(&((lookup_ref_t*)func->funcdata)->rwlock); + lookup_table = ((lookup_ref_t*)func->funcdata)->self; + if (lookup_table != NULL) { + lookup_key_type = lookup_table->key_type; +-- +2.23.0 diff --git a/backport-omfwd-bugfix-segfault-or-error-if-port-not-given.patch b/backport-omfwd-bugfix-segfault-or-error-if-port-not-given.patch new file mode 100644 index 0000000000000000000000000000000000000000..e9b7329e17c5669e74d51ca68f19b07e15bd0848 --- /dev/null +++ b/backport-omfwd-bugfix-segfault-or-error-if-port-not-given.patch @@ -0,0 +1,36 @@ +From 4529fa02b674f689d1cbc6925663824ea6882a15 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Mon, 15 Feb 2021 09:05:05 +0100 +Subject: [PATCH] omfwd bugfix: segfault or error if port not given + If omfwd is configured via RainerScript config format and the "port" +parameter is not given, a segfault will most likely happen on +connection establishment for TCP connections. For UDP, this is +usually not the case. + Alternatively, in any case, errors may happen. + Note that the segfault will usually happen right on restart so this +was easy to detect. + We did not receive reports from practice. Instead, we found the bug +while conducting other work. +trust merge open source commit:4529fa02b674f689d1cbc6925663824ea6882a15 + +--- + tools/omfwd.c | 5 +++++ + 1 file changed, 5 insertions(+) + diff --git a/tools/omfwd.c b/tools/omfwd.c +index 1304f43f3..5a210444e 100644 +--- a/tools/omfwd.c ++++ b/tools/omfwd.c +@@ -1336,6 +1336,11 @@ CODESTARTnewActInst + } + } + ++ /* check if no port is set. If so, we use the IANA-assigned port of 514 */ ++ if(pData->port == NULL) { ++ CHKmalloc(pData->port = strdup("514")); ++ } ++ + if(complevel != -1) { + pData->compressionLevel = complevel; + if(pData->compressionMode == COMPRESS_NEVER) { +-- +2.23.0 diff --git a/backport-openssl-network-driver-bugfix-small-memory-leak.patch b/backport-openssl-network-driver-bugfix-small-memory-leak.patch new file mode 100644 index 0000000000000000000000000000000000000000..77595162424a7d06e13d9c8b1f6e2b1aa07e4875 --- /dev/null +++ b/backport-openssl-network-driver-bugfix-small-memory-leak.patch @@ -0,0 +1,41 @@ +From ad08ed2634fa8be1d07312966803fd156038578d Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Thu, 8 Jul 2021 14:30:50 +0200 +Subject: [PATCH] openssl network driver bugfix: small memory leak + Fixes a static, non-growing memory leak which existed when parameter +"GnutTLSPriorityString" was used. This was primarily a cosmetic issue, +but caused some grief during development in regard to memory leak +detectors. + Note: yes, this is for openssl -- the parameter name is history ;-) +trust merge open source commit:ad08ed2634fa8be1d07312966803fd156038578d + +--- + runtime/nsd_ossl.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + diff --git a/runtime/nsd_ossl.c b/runtime/nsd_ossl.c +index d6188db23..8fff75338 100644 +--- a/runtime/nsd_ossl.c ++++ b/runtime/nsd_ossl.c +@@ -1785,11 +1785,8 @@ finalize_it: + } + + +-/* Empty wrapper for GNUTLS helper function +- * TODO: implement a similar capability +- */ + static rsRetVal +-SetGnutlsPriorityString(__attribute__((unused)) nsd_t *pNsd, __attribute__((unused)) uchar *gnutlsPriorityString) ++SetGnutlsPriorityString(nsd_t *const pNsd, uchar *const gnutlsPriorityString) + { + DEFiRet; + nsd_ossl_t* pThis = (nsd_ossl_t*) pNsd; +@@ -1869,6 +1866,7 @@ SetGnutlsPriorityString(__attribute__((unused)) nsd_t *pNsd, __attribute__((unus + pThis->gnutlsPriorityString); + osslLastSSLErrorMsg(0, NULL, LOG_ERR, "SetGnutlsPriorityString"); + } ++ SSL_CONF_CTX_free(cctx); + } + #else + dbgprintf("gnutlsPriorityString: set to '%s'\n", gnutlsPriorityString); +-- +2.23.0 diff --git a/backport-tcp-subsystem-fix-cosmetic-memory-leak-on-shutdown.patch b/backport-tcp-subsystem-fix-cosmetic-memory-leak-on-shutdown.patch new file mode 100644 index 0000000000000000000000000000000000000000..39faa926780140f80e563768a1a2f20042ccd5c6 --- /dev/null +++ b/backport-tcp-subsystem-fix-cosmetic-memory-leak-on-shutdown.patch @@ -0,0 +1,38 @@ +From c6cdf972e5cf1691a6dadb50ce0402257271bc78 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Thu, 1 Jul 2021 14:24:50 +0200 +Subject: [PATCH] tcp subsystem: fix cosmetic memory leak on shutdown + Memory for config parameter was not free'd on rsyslog shutdown. This had +no real consequence, but caused memleak alerts during development. +trust merge open source commit:c6cdf972e5cf1691a6dadb50ce0402257271bc78 + +--- + plugins/imtcp/imtcp.c | 1 + + tools/omfwd.c | 1 + + 2 files changed, 2 insertions(+) + diff --git a/plugins/imtcp/imtcp.c b/plugins/imtcp/imtcp.c +index f1478dc15..63d4a0d51 100644 +--- a/plugins/imtcp/imtcp.c ++++ b/plugins/imtcp/imtcp.c +@@ -707,6 +707,7 @@ BEGINfreeCnf + CODESTARTfreeCnf + free(pModConf->pszStrmDrvrName); + free(pModConf->pszStrmDrvrAuthMode); ++ free(pModConf->gnutlsPriorityString); + free(pModConf->pszStrmDrvrPermitExpiredCerts); + if(pModConf->permittedPeers != NULL) { + cnfarrayContentDestruct(pModConf->permittedPeers); +diff --git a/tools/omfwd.c b/tools/omfwd.c +index 5a210444e..1131268d4 100644 +--- a/tools/omfwd.c ++++ b/tools/omfwd.c +@@ -405,6 +405,7 @@ CODESTARTfreeInstance + free(pData->pszStrmDrvr); + free(pData->pszStrmDrvrAuthMode); + free(pData->pszStrmDrvrPermitExpiredCerts); ++ free(pData->gnutlsPriorityString); + free(pData->port); + free(pData->networkNamespace); + free(pData->target); +-- +2.23.0 diff --git a/backport-tcpsrv-bugfix-abort-if-no-listener-could-be-started.patch b/backport-tcpsrv-bugfix-abort-if-no-listener-could-be-started.patch new file mode 100644 index 0000000000000000000000000000000000000000..62c375cfbe32a0a8ab8661e40e200312debd3690 --- /dev/null +++ b/backport-tcpsrv-bugfix-abort-if-no-listener-could-be-started.patch @@ -0,0 +1,58 @@ +From 3d23c7ac8aea5e1ac0118978d457aa7819531879 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Wed, 7 Jul 2021 13:16:28 +0200 +Subject: [PATCH] tcpsrv bugfix: abort if no listener could be started + Modules (like imtcp and imdiag) which use tcpsrv could abort or +otherwise malfunction if no listener for a specific input could +be started. + Found during implementing a new feature, no report from practice. +But could very well happen. +trust merge open source commit:3d23c7ac8aea5e1ac0118978d457aa7819531879 + +--- + plugins/imdiag/imdiag.c | 1 + + plugins/imtcp/imtcp.c | 1 + + runtime/tcpsrv.c | 5 +++++ + 3 files changed, 7 insertions(+) + diff --git a/plugins/imdiag/imdiag.c b/plugins/imdiag/imdiag.c +index 3e27ee4d3..f5662e894 100644 +--- a/plugins/imdiag/imdiag.c ++++ b/plugins/imdiag/imdiag.c +@@ -126,6 +126,7 @@ static rsRetVal + doOpenLstnSocks(tcpsrv_t *pSrv) + { + ISOBJ_TYPE_assert(pSrv, tcpsrv); ++ dbgprintf("in imdiag doOpenLstnSocks\n"); + return tcpsrv.create_tcp_socket(pSrv); + } + +diff --git a/plugins/imtcp/imtcp.c b/plugins/imtcp/imtcp.c +index 63d4a0d51..858f70f1f 100644 +--- a/plugins/imtcp/imtcp.c ++++ b/plugins/imtcp/imtcp.c +@@ -229,6 +229,7 @@ static rsRetVal + doOpenLstnSocks(tcpsrv_t *pSrv) + { + ISOBJ_TYPE_assert(pSrv, tcpsrv); ++ dbgprintf("in imtcp doOpenLstnSocks\n"); + return tcpsrv.create_tcp_socket(pSrv); + } + +diff --git a/runtime/tcpsrv.c b/runtime/tcpsrv.c +index baa8892d8..2b6bea252 100644 +--- a/runtime/tcpsrv.c ++++ b/runtime/tcpsrv.c +@@ -926,6 +926,11 @@ Run(tcpsrv_t *pThis) + + ISOBJ_TYPE_assert(pThis, tcpsrv); + ++ if(pThis->iLstnCurr == 0) { ++ dbgprintf("tcpsrv: no listeneres at all (probably init error), terminating\n"); ++ RETiRet; /* somewhat "dirty" exit to avoid issue with cancel handler */ ++ } ++ + /* check if we need to start the worker pool. Once it is running, all is + * well. Shutdown is done on modExit. + */ +-- +2.23.0 diff --git a/backport-tcpsrv-bugfix-potential-sluggishnes-and-hang-on-shut.patch b/backport-tcpsrv-bugfix-potential-sluggishnes-and-hang-on-shut.patch new file mode 100644 index 0000000000000000000000000000000000000000..253ea5b6c2dc869607a8ff52a8880cce68c9a260 --- /dev/null +++ b/backport-tcpsrv-bugfix-potential-sluggishnes-and-hang-on-shut.patch @@ -0,0 +1,35 @@ +From b160813f8296397fb971e4aef9faf7f903a3bb7f Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Tue, 27 Apr 2021 08:27:34 +0200 +Subject: [PATCH] tcpsrv bugfix: potential sluggishnes and hang on shutdown + tcpsrv is used by multiple other modules (imtcp, imdiag, imgssapi, and, +in theory, also others - even ones we do not know about). However, the +internal synchornization did not properly take multiple tcpsrv users +in consideration. + As such, a single user could hang under some circumstances. This was +caused by improperly awaking all users from a pthread condition wait. +That in turn could lead to some sluggish behaviour and, in rare cases, +a hang at shutdown. + Note: it was highly unlikely to experience real problems with the +officially provided modules. + This patch corrects the situation. +trust merge open source commit:b160813f8296397fb971e4aef9faf7f903a3bb7f + +--- + runtime/tcpsrv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/runtime/tcpsrv.c b/runtime/tcpsrv.c +index 2f16677b0..baa8892d8 100644 +--- a/runtime/tcpsrv.c ++++ b/runtime/tcpsrv.c +@@ -711,7 +711,7 @@ wrkr(void *const myself) + pthread_mutex_lock(&wrkrMut); + me->pSrv = NULL; /* indicate we are free again */ + --wrkrRunning; +- pthread_cond_signal(&wrkrIdle); ++ pthread_cond_broadcast(&wrkrIdle); + } + me->enabled = 0; /* indicate we are no longer available */ + pthread_mutex_unlock(&wrkrMut); +-- +2.23.0 diff --git a/backport-testbench-simplify-test-ID-generation-a-bit.patch b/backport-testbench-simplify-test-ID-generation-a-bit.patch new file mode 100644 index 0000000000000000000000000000000000000000..d8628aa4a9f15c30d34243ccfbf07f58b79960fb --- /dev/null +++ b/backport-testbench-simplify-test-ID-generation-a-bit.patch @@ -0,0 +1,25 @@ +From 19e80e9e5c8d5cfee8a455a59d076c9ad60844e6 Mon Sep 17 00:00:00 2001 +From: Rainer Gerhards +Date: Tue, 1 Sep 2020 14:33:41 +0200 +Subject: [PATCH] testbench: simplify test ID generation a bit + +--- + tests/diag.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/diag.sh b/tests/diag.sh +index bc0e408ce..481be9890 100755 +--- a/tests/diag.sh ++++ b/tests/diag.sh +@@ -2491,7 +2491,7 @@ case $1 in + echo "hint: was init accidentally called twice?" + exit 2 + fi +- export RSYSLOG_DYNNAME="rstb_$(./test_id $(basename $0))$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 4 | head -n 1)" ++ export RSYSLOG_DYNNAME="rstb_$(./test_id $(basename $0))$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head --bytes 4)" + export RSYSLOG_OUT_LOG="${RSYSLOG_DYNNAME}.out.log" + export RSYSLOG2_OUT_LOG="${RSYSLOG_DYNNAME}_2.out.log" + export RSYSLOG_PIDBASE="${RSYSLOG_DYNNAME}:" # also used by instance 2! +-- +2.23.0 + diff --git a/rsyslog.spec b/rsyslog.spec index 0de06e9801866bf6dba1ba84e4bf4c6fdc8eb0c1..8e3342659fcd9a9268e7df3fcd4e73ceca4fe079 100644 --- a/rsyslog.spec +++ b/rsyslog.spec @@ -4,7 +4,7 @@ Name: rsyslog Version: 8.2006.0 -Release: 6 +Release: 7 Summary: The rocket-fast system for log processing License: (GPLv3+ and ASL 2.0) URL: http://www.rsyslog.com/ @@ -34,6 +34,18 @@ Patch6012: backport-Do-not-create-empty-objects-when-accessing-non-exist.pa Patch6013: backport-gnutls-Added-handshake-error-handling-into-doRetry-h.patch Patch6014: backport-msg-segfault-in-jsonPathFindNext-when-root-is-not-an.patch Patch6015: backport-msg-memory-leak-in-msgAddJSON-if-jsonPathFindParent-.patch +Patch6016: backport-testbench-simplify-test-ID-generation-a-bit.patch +Patch6017: backport-lookup-table-bugfix-data-race-on-lookup-table-reload.patch +Patch6018: backport-omfwd-bugfix-segfault-or-error-if-port-not-given.patch +Patch6019: backport-imjournal-flush-buffer-before-fsync.patch +Patch6020: backport-OMMONGODB-Fixes.patch +Patch6021: backport-openssl-network-driver-bugfix-small-memory-leak.patch +Patch6022: backport-tcpsrv-bugfix-abort-if-no-listener-could-be-started.patch +Patch6023: backport-tcpsrv-bugfix-potential-sluggishnes-and-hang-on-shut.patch +Patch6024: backport-tcp-subsystem-fix-cosmetic-memory-leak-on-shutdown.patch +Patch6025: backport-imptcp-bugfix-keep-alive-interval-was-incorrectly-set.patch +Patch6026: backport-imfile-bugfix-hash-char-invalidly-added-in-readmode-0.patch +Patch6027: backport-Close-file-descriptor-when-freshStartTail-is-turned-on.patch Patch9000: rsyslog-8.24.0-ensure-parent-dir-exists-when-writting-log-file.patch Patch9001: bugfix-rsyslog-7.4.7-imjournal-add-monotonic-timestamp.patch @@ -379,6 +391,9 @@ systemctl daemon-reload >/dev/null 2>&1 %{_mandir}/man1/rscryutil.1.gz %changelog +* Thu Sep 16 2021 wuchaochao - 8.2006.0-7 +- backport patches from upstream + * Mon May 10 2021 shixuantong - 8.2006.0-6 - Type:NA - ID:NA