commit df2a5aa801daa6c337879c84e23faaeb4e9eeda6
Author: MSVSphere Packaging Team
Date: Fri Apr 14 15:55:28 2023 +0300
import rsyslog-8.2102.0-111.el9
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8a200b6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+SOURCES/qpid-proton-0.34.0.tar.gz
+SOURCES/rsyslog-8.2102.0.tar.gz
+SOURCES/rsyslog-doc-8.2102.0.tar.gz
diff --git a/.rsyslog.metadata b/.rsyslog.metadata
new file mode 100644
index 0000000..e0fc0e7
--- /dev/null
+++ b/.rsyslog.metadata
@@ -0,0 +1,3 @@
+390e5cb87a6331cf0ce451d7f6552e2c0d97f706 SOURCES/qpid-proton-0.34.0.tar.gz
+fdda78ed808e7a0dca03ead9227a0a5d913a050f SOURCES/rsyslog-8.2102.0.tar.gz
+9c2188d435cb5f79c1c35749003bd2a61e7f2d07 SOURCES/rsyslog-doc-8.2102.0.tar.gz
diff --git a/SOURCES/openssl3-compatibility.patch b/SOURCES/openssl3-compatibility.patch
new file mode 100644
index 0000000..c86fe23
--- /dev/null
+++ b/SOURCES/openssl3-compatibility.patch
@@ -0,0 +1,83 @@
+diff -up ./qpid-proton-0.34.0/c/src/ssl/openssl.c.orig ./qpid-proton-0.34.0/c/src/ssl/openssl.c
+--- ./qpid-proton-0.34.0/c/src/ssl/openssl.c.orig 2021-06-01 09:29:27.976842727 +0200
++++ ./qpid-proton-0.34.0/c/src/ssl/openssl.c 2021-06-01 09:31:05.232015887 +0200
+@@ -353,65 +353,6 @@ static int verify_callback(int preverify
+ return preverify_ok;
+ }
+
+-// This was introduced in v1.1
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
+-int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
+-{
+- dh->p = p;
+- dh->q = q;
+- dh->g = g;
+- return 1;
+-}
+-#endif
+-
+-// this code was generated using the command:
+-// "openssl dhparam -C -2 2048"
+-static DH *get_dh2048(void)
+-{
+- static const unsigned char dhp_2048[]={
+- 0xAE,0xF7,0xE9,0x66,0x26,0x7A,0xAC,0x0A,0x6F,0x1E,0xCD,0x81,
+- 0xBD,0x0A,0x10,0x7E,0xFA,0x2C,0xF5,0x2D,0x98,0xD4,0xE7,0xD9,
+- 0xE4,0x04,0x8B,0x06,0x85,0xF2,0x0B,0xA3,0x90,0x15,0x56,0x0C,
+- 0x8B,0xBE,0xF8,0x48,0xBB,0x29,0x63,0x75,0x12,0x48,0x9D,0x7E,
+- 0x7C,0x24,0xB4,0x3A,0x38,0x7E,0x97,0x3C,0x77,0x95,0xB0,0xA2,
+- 0x72,0xB6,0xE9,0xD8,0xB8,0xFA,0x09,0x1B,0xDC,0xB3,0x80,0x6E,
+- 0x32,0x0A,0xDA,0xBB,0xE8,0x43,0x88,0x5B,0xAB,0xC3,0xB2,0x44,
+- 0xE1,0x95,0x85,0x0A,0x0D,0x13,0xE2,0x02,0x1E,0x96,0x44,0xCF,
+- 0xA0,0xD8,0x46,0x32,0x68,0x63,0x7F,0x68,0xB3,0x37,0x52,0xCE,
+- 0x3A,0x4E,0x48,0x08,0x7F,0xD5,0x53,0x00,0x59,0xA8,0x2C,0xCB,
+- 0x51,0x64,0x3D,0x5F,0xEF,0x0E,0x5F,0xE6,0xAF,0xD9,0x1E,0xA2,
+- 0x35,0x64,0x37,0xD7,0x4C,0xC9,0x24,0xFD,0x2F,0x75,0xBB,0x3A,
+- 0x15,0x82,0x76,0x4D,0xC2,0x8B,0x1E,0xB9,0x4B,0xA1,0x33,0xCF,
+- 0xAA,0x3B,0x7C,0xC2,0x50,0x60,0x6F,0x45,0x69,0xD3,0x6B,0x88,
+- 0x34,0x9B,0xE4,0xF8,0xC6,0xC7,0x5F,0x10,0xA1,0xBA,0x01,0x8C,
+- 0xDA,0xD1,0xA3,0x59,0x9C,0x97,0xEA,0xC3,0xF6,0x02,0x55,0x5C,
+- 0x92,0x1A,0x39,0x67,0x17,0xE2,0x9B,0x27,0x8D,0xE8,0x5C,0xE9,
+- 0xA5,0x94,0xBB,0x7E,0x16,0x6F,0x53,0x5A,0x6D,0xD8,0x03,0xC2,
+- 0xAC,0x7A,0xCD,0x22,0x98,0x8E,0x33,0x2A,0xDE,0xAB,0x12,0xC0,
+- 0x0B,0x7C,0x0C,0x20,0x70,0xD9,0x0B,0xAE,0x0B,0x2F,0x20,0x9B,
+- 0xA4,0xED,0xFD,0x49,0x0B,0xE3,0x4A,0xF6,0x28,0xB3,0x98,0xB0,
+- 0x23,0x1C,0x09,0x33,
+- };
+- static const unsigned char dhg_2048[]={
+- 0x02,
+- };
+- DH *dh = DH_new();
+- BIGNUM *dhp_bn, *dhg_bn;
+-
+- if (dh == NULL)
+- return NULL;
+- dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
+- dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
+- if (dhp_bn == NULL || dhg_bn == NULL
+- || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
+- DH_free(dh);
+- BN_free(dhp_bn);
+- BN_free(dhg_bn);
+- return NULL;
+- }
+- return dh;
+-}
+-
+ typedef struct {
+ char *id;
+ SSL_SESSION *session;
+@@ -542,13 +483,6 @@ static bool pni_init_ssl_domain( pn_ssl_
+ domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx);
+ # endif
+
+- DH *dh = get_dh2048();
+- if (dh) {
+- SSL_CTX_set_tmp_dh(domain->ctx, dh);
+- DH_free(dh);
+- SSL_CTX_set_options(domain->ctx, SSL_OP_SINGLE_DH_USE);
+- }
+-
+ return true;
+ }
+
diff --git a/SOURCES/rsyslog-8.1911.0-rhbz1659898-imjournal-default-tag.patch b/SOURCES/rsyslog-8.1911.0-rhbz1659898-imjournal-default-tag.patch
new file mode 100644
index 0000000..e9a188d
--- /dev/null
+++ b/SOURCES/rsyslog-8.1911.0-rhbz1659898-imjournal-default-tag.patch
@@ -0,0 +1,93 @@
+diff -up ./plugins/imjournal/imjournal.c.default-tag ./plugins/imjournal/imjournal.c
+--- ./plugins/imjournal/imjournal.c.default-tag 2018-05-17 08:50:11.416418022 -0400
++++ ./plugins/imjournal/imjournal.c 2018-05-17 08:53:02.884418022 -0400
+@@ -78,6 +78,7 @@ static struct configSettings_s {
+ int bWorkAroundJournalBug; /* deprecated, left for backwards compatibility only */
+ int bFsync;
+ int bRemote;
++ char *dfltTag;
+ } cs;
+
+ static rsRetVal facilityHdlr(uchar **pp, void *pVal);
+@@ -93,7 +94,8 @@ static struct cnfparamdescr modpdescr[]
+ { "usepid", eCmdHdlrString, 0 },
+ { "workaroundjournalbug", eCmdHdlrBinary, 0 },
+ { "fsync", eCmdHdlrBinary, 0 },
+- { "remote", eCmdHdlrBinary, 0 }
++ { "remote", eCmdHdlrBinary, 0 },
++ { "defaulttag", eCmdHdlrGetWord, 0 }
+ };
+ static struct cnfparamblk modpblk =
+ { CNFPARAMBLK_VERSION,
+@@ -104,6 +106,7 @@ static struct cnfparamblk modpblk =
+ #define DFLT_persiststateinterval 10
+ #define DFLT_SEVERITY pri2sev(LOG_NOTICE)
+ #define DFLT_FACILITY pri2fac(LOG_USER)
++#define DFLT_TAG "journal"
+
+ static int bLegacyCnfModGlobalsPermitted = 1;/* are legacy module-global config parameters permitted? */
+
+@@ -268,7 +271,7 @@ readjournal(void)
+
+ /* Information from messages */
+ char *message = NULL;
+- char *sys_iden;
++ char *sys_iden = NULL;
+ char *sys_iden_help = NULL;
+
+ const void *get;
+@@ -331,7 +334,7 @@ readjournal(void)
+ if (journalGetData("SYSLOG_IDENTIFIER", &get, &length) >= 0) {
+ CHKiRet(sanitizeValue(((const char *)get) + 18, length - 18, &sys_iden));
+ } else {
+- CHKmalloc(sys_iden = strdup("journal"));
++ CHKmalloc(sys_iden = strdup(cs.dfltTag));
+ }
+
+ /* trying to get PID, default is "SYSLOG_PID" property */
+@@ -654,6 +657,11 @@ CODESTARTrunInput
+ "\"usepidfromsystem\" is depricated, use \"usepid\" instead");
+ }
+
++ if (cs.dfltTag == NULL) {
++ cs.dfltTag = strdup(DFLT_TAG);
++ }
++
++
+ if (cs.usePid && (strcmp(cs.usePid, "system") == 0)) {
+ pidFieldName = "_PID";
+ bPidFallBack = 0;
+@@ -732,6 +740,7 @@ CODESTARTbeginCnfLoad
+ cs.bWorkAroundJournalBug = 1;
+ cs.bFsync = 0;
+ cs.bRemote = 0;
++ cs.dfltTag = NULL;
+ ENDbeginCnfLoad
+
+
+@@ -754,6 +763,7 @@ BEGINfreeCnf
+ CODESTARTfreeCnf
+ free(cs.stateFile);
+ free(cs.usePid);
++ free(cs.dfltTag);
+ free(journalContext.cursor);
+ statsobj.Destruct(&(statsCounter.stats));
+ ENDfreeCnf
+@@ -832,6 +842,8 @@ CODESTARTsetModCnf
+ cs.bFsync = (int) pvals[i].val.d.n;
+ } else if (!strcmp(modpblk.descr[i].name, "remote")) {
+ cs.bRemote = (int) pvals[i].val.d.n;
++ } else if (!strcmp(modpblk.descr[i].name, "defaulttag")) {
++ cs.dfltTag = (char *)es_str2cstr(pvals[i].val.d.estr, NULL);
+ } else {
+ dbgprintf("imjournal: program error, non-handled "
+ "param '%s' in beginCnfLoad\n", modpblk.descr[i].name);
+@@ -799,6 +820,8 @@ CODEmodInit_QueryRegCFSLineHdlr
+ facilityHdlr, &cs.iDfltFacility, STD_LOADABLE_MODULE_ID));
+ CHKiRet(omsdRegCFSLineHdlr((uchar *)"imjournalusepidfromsystem", 0, eCmdHdlrBinary,
+ NULL, &cs.bUseJnlPID, STD_LOADABLE_MODULE_ID));
++ CHKiRet(omsdRegCFSLineHdlr((uchar *)"imjournaldefaulttag", 0, eCmdHdlrGetWord,
++ NULL, &cs.dfltTag, STD_LOADABLE_MODULE_ID));
+ ENDmodInit
+ /* vim:set ai:
+ */
diff --git a/SOURCES/rsyslog-8.2102.0-capabilities-drop-credential.patch b/SOURCES/rsyslog-8.2102.0-capabilities-drop-credential.patch
new file mode 100644
index 0000000..2faf05c
--- /dev/null
+++ b/SOURCES/rsyslog-8.2102.0-capabilities-drop-credential.patch
@@ -0,0 +1,67 @@
+diff -up rsyslog-8.2102.0/runtime/rsconf.c.orig rsyslog-8.2102.0/runtime/rsconf.c
+--- rsyslog-8.2102.0/runtime/rsconf.c.orig 2023-02-17 11:52:17.460043970 +0100
++++ rsyslog-8.2102.0/runtime/rsconf.c 2023-02-17 12:00:49.881602881 +0100
+@@ -33,9 +33,6 @@
+ #include
+ #include
+ #include
+-#ifdef ENABLE_LIBCAPNG
+- #include
+-#endif
+
+ #include "rsyslog.h"
+ #include "obj.h"
+@@ -549,7 +546,7 @@ rsRetVal doDropPrivGid(void)
+ uchar szBuf[1024];
+ DEFiRet;
+
+-#ifndef ENABLE_LIBCAPNG
++
+ if(!ourConf->globals.gidDropPrivKeepSupplemental) {
+ res = setgroups(0, NULL); /* remove all supplemental group IDs */
+ if(res) {
+@@ -567,15 +564,6 @@ rsRetVal doDropPrivGid(void)
+ "could not set requested group id: %s via setgid()", szBuf);
+ ABORT_FINALIZE(RS_RET_ERR_DROP_PRIV);
+ }
+-#else
+- int capng_flags = ourConf->globals.gidDropPrivKeepSupplemental ? CAPNG_NO_FLAG : CAPNG_DROP_SUPP_GRP;
+- res = capng_change_id(-1, ourConf->globals.gidDropPriv, capng_flags);
+- if (res) {
+- LogError(0, RS_RET_LIBCAPNG_ERR,
+- "could not set requested group id %d via capng_change_id()", ourConf->globals.gidDropPriv);
+- ABORT_FINALIZE(RS_RET_LIBCAPNG_ERR);
+- }
+-#endif
+
+ DBGPRINTF("setgid(%d): %d\n", ourConf->globals.gidDropPriv, res);
+ snprintf((char*)szBuf, sizeof(szBuf), "rsyslogd's groupid changed to %d",
+@@ -613,13 +601,8 @@ static void doDropPrivUid(int iUid)
+ iUid, szBuf);
+ }
+
+-#ifndef ENABLE_LIBCAPNG
++
+ res = setuid(iUid);
+- // res = setuid(cnf->globals.uidDropPriv);
+-#else
+- int capng_flags = ourConf->globals.gidDropPrivKeepSupplemental ? CAPNG_NO_FLAG : CAPNG_DROP_SUPP_GRP;
+- res = capng_change_id(iUid, -1, capng_flags);
+-#endif
+
+ if(res) {
+ /* if we can not set the userid, this is fatal, so let's unconditionally abort */
+diff -up rsyslog-8.2102.0/tools/rsyslogd.c.orig rsyslog-8.2102.0/tools/rsyslogd.c
+--- rsyslog-8.2102.0/tools/rsyslogd.c.orig 2023-02-17 11:52:00.011011019 +0100
++++ rsyslog-8.2102.0/tools/rsyslogd.c 2023-02-17 11:58:37.322491823 +0100
+@@ -2161,9 +2161,9 @@ main(int argc, char **argv)
+ CAP_LEASE,
+ CAP_NET_ADMIN,
+ CAP_NET_BIND_SERVICE,
+- CAP_PERFMON,
+ CAP_SETGID,
+ CAP_SETUID,
++ CAP_DAC_OVERRIDE,
+ CAP_SYS_ADMIN,
+ CAP_SYS_CHROOT,
+ CAP_SYS_RESOURCE,
diff --git a/SOURCES/rsyslog-8.2102.0-rhbz1886400-reduce-default-timeout.patch b/SOURCES/rsyslog-8.2102.0-rhbz1886400-reduce-default-timeout.patch
new file mode 100644
index 0000000..a847084
--- /dev/null
+++ b/SOURCES/rsyslog-8.2102.0-rhbz1886400-reduce-default-timeout.patch
@@ -0,0 +1,21 @@
+diff -up rsyslog-8.2102.0/plugins/omrelp/omrelp.c.orig rsyslog-8.2102.0/plugins/omrelp/omrelp.c
+--- rsyslog-8.2102.0/plugins/omrelp/omrelp.c.orig 2021-06-15 12:46:14.758589030 +0200
++++ rsyslog-8.2102.0/plugins/omrelp/omrelp.c 2021-06-15 12:47:08.130516632 +0200
+@@ -303,7 +303,7 @@ ENDfreeCnf
+ BEGINcreateInstance
+ CODESTARTcreateInstance
+ pData->sizeWindow = 0;
+- pData->timeout = 90;
++ pData->timeout = 5;
+ pData->connTimeout = 10;
+ pData->rebindInterval = 0;
+ pData->bEnableTLS = DFLT_ENABLE_TLS;
+@@ -365,7 +365,7 @@ setInstParamDefaults(instanceData *pData
+ pData->target = NULL;
+ pData->port = NULL;
+ pData->tplName = NULL;
+- pData->timeout = 90;
++ pData->timeout = 5;
+ pData->connTimeout = 10;
+ pData->sizeWindow = 0;
+ pData->rebindInterval = 0;
diff --git a/SOURCES/rsyslog-8.2102.0-rhbz1909639-statefiles-doc.patch b/SOURCES/rsyslog-8.2102.0-rhbz1909639-statefiles-doc.patch
new file mode 100644
index 0000000..b717972
--- /dev/null
+++ b/SOURCES/rsyslog-8.2102.0-rhbz1909639-statefiles-doc.patch
@@ -0,0 +1,47 @@
+diff -up rsyslog-8.2102.0/doc/configuration/modules/imfile.html.state-file-leaking-doc rsyslog-8.2102.0/doc/configuration/modules/imfile.html
+--- rsyslog-8.2102.0/doc/configuration/modules/imfile.html.state-file-leaking-doc 2021-02-15 12:53:31.000000000 +0100
++++ rsyslog-8.2102.0/doc/configuration/modules/imfile.html 2022-03-29 10:35:07.187827004 +0200
+@@ -294,6 +294,28 @@ rsyslog needs write permissions to work
+ also might require SELinux definitions (or similar for other enhanced security
+ systems).
+
++
++
deleteStateOnFileMove
++
++
++type |
++default |
++mandatory |
++obsolete legacy directive |
++
++
++
++binary |
++off |
++no |
++none |
++
++
++
++
This parameter controls if state files are deleted if their associated main file is rotated via move. Usually, this is a good idea, because otherwise state files are not deleted when log rotation occurs.
++
++
However, there is one situation where not deleting associated state file after log rotation makes sense: this is the case if a monitored file is later moved back to the same location as it was before.
++
+
+