You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.0 KiB
83 lines
3.0 KiB
diff -up rsyslog-8.2310.0/plugins/imjournal/imjournal.c.orig rsyslog-8.2310.0/plugins/imjournal/imjournal.c |
|
--- rsyslog-8.2310.0/plugins/imjournal/imjournal.c.orig 2023-10-10 16:42:39.771369418 +0200 |
|
+++ rsyslog-8.2310.0/plugins/imjournal/imjournal.c 2023-10-10 16:51:39.839133580 +0200 |
|
@@ -87,6 +87,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); |
|
@@ -106,7 +107,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, |
|
@@ -117,6 +119,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? */ |
|
|
|
@@ -458,7 +461,7 @@ readjournal(void) |
|
} else if (journalGetData("_COMM", &get, &length) >= 0) { |
|
CHKiRet(sanitizeValue(((const char *)get) + 6, length - 6, &sys_iden)); |
|
} else { |
|
- CHKmalloc(sys_iden = strdup("journal")); |
|
+ CHKmalloc(sys_iden = strdup(cs.dfltTag)); |
|
} |
|
|
|
/* trying to get PID, default is "SYSLOG_PID" property */ |
|
@@ -826,6 +829,10 @@ CODESTARTrunInput |
|
"\"usepidfromsystem\" is deprecated, use \"usepid\" instead"); |
|
} |
|
|
|
+ if (cs.dfltTag == NULL) { |
|
+ cs.dfltTag = strdup(DFLT_TAG); |
|
+ } |
|
+ |
|
if (cs.usePid && (strcmp(cs.usePid, "system") == 0)) { |
|
pidFieldName = "_PID"; |
|
bPidFallBack = 0; |
|
@@ -914,6 +921,7 @@ CODESTARTbeginCnfLoad |
|
cs.bWorkAroundJournalBug = 1; |
|
cs.bFsync = 0; |
|
cs.bRemote = 0; |
|
+ cs.dfltTag = NULL; |
|
ENDbeginCnfLoad |
|
|
|
|
|
@@ -983,6 +991,7 @@ BEGINfreeCnf |
|
CODESTARTfreeCnf |
|
free(cs.stateFile); |
|
free(cs.usePid); |
|
+ free(cs.dfltTag); |
|
free(journalContext.cursor); |
|
statsobj.Destruct(&(statsCounter.stats)); |
|
ENDfreeCnf |
|
@@ -1077,6 +1086,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); |
|
@@ -1144,6 +1155,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: |
|
*/
|
|
|