summaryrefslogtreecommitdiffstats
path: root/runtime/glbl.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-07-19 17:53:23 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-07-19 17:53:23 +0200
commit74c2e98c13daf60bf5371f77111196679dd7df55 (patch)
tree626bd38a186c4550db0c41d51dd128b0c99f9632 /runtime/glbl.c
parent47c961eac280f72a472ad82764f8fd450ba3643f (diff)
downloadrsyslog-74c2e98c13daf60bf5371f77111196679dd7df55.tar.gz
rsyslog-74c2e98c13daf60bf5371f77111196679dd7df55.tar.xz
rsyslog-74c2e98c13daf60bf5371f77111196679dd7df55.zip
milestone: glbl obj parameters settable via new conf interface
Diffstat (limited to 'runtime/glbl.c')
-rw-r--r--runtime/glbl.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/runtime/glbl.c b/runtime/glbl.c
index 4ca99303..6b7d487f 100644
--- a/runtime/glbl.c
+++ b/runtime/glbl.c
@@ -430,6 +430,15 @@ static rsRetVal resetConfigVariables(uchar __attribute__((unused)) *pp, void __a
}
+/* Prepare for new config
+ */
+void
+glblPrepCnf(void)
+{
+ free(cnfparamvals);
+ cnfparamvals = NULL;
+}
+
/* handle a global config object. Note that multiple global config statements
* are permitted (because of plugin support), so once we got a param block,
* we need to hold to it.
@@ -443,6 +452,51 @@ glblProcessCnf(struct cnfobj *o)
cnfparamsPrint(&paramblk, cnfparamvals);
}
+rsRetVal
+glblCheckCnf()
+{
+}
+
+void
+glblDoneLoadCnf()
+{
+ int i;
+ unsigned char *cstr;
+
+ for(i = 0 ; i < paramblk.nParams ; ++i) {
+ if(!cnfparamvals[i].bUsed)
+ continue;
+ if(!strcmp(paramblk.descr[i].name, "workdirectory")) {
+ cstr = (uchar*) es_str2cstr(cnfparamvals[i].val.d.estr, NULL);
+ setWorkDir(NULL, cstr);
+ } else if(!strcmp(paramblk.descr[i].name, "localhostname")) {
+ free(LocalHostNameOverride);
+ LocalHostNameOverride = (uchar*)
+ es_str2cstr(cnfparamvals[i].val.d.estr, NULL);
+ } else if(!strcmp(paramblk.descr[i].name, "defaultnetstreamdriverkeyfile")) {
+ free(pszDfltNetstrmDrvrKeyFile);
+ pszDfltNetstrmDrvrKeyFile = (uchar*)
+ es_str2cstr(cnfparamvals[i].val.d.estr, NULL);
+ } else if(!strcmp(paramblk.descr[i].name, "defaultnetstreamdrivercafile")) {
+ free(pszDfltNetstrmDrvrCAF);
+ pszDfltNetstrmDrvrCAF = (uchar*)
+ es_str2cstr(cnfparamvals[i].val.d.estr, NULL);
+ } else if(!strcmp(paramblk.descr[i].name, "defaultnetstreamdriver")) {
+ free(pszDfltNetstrmDrvr);
+ pszDfltNetstrmDrvr = (uchar*)
+ es_str2cstr(cnfparamvals[i].val.d.estr, NULL);
+ } else if(!strcmp(paramblk.descr[i].name, "preservefqdn")) {
+ bPreserveFQDN = (int) cnfparamvals[i].val.d.n;
+ } else if(!strcmp(paramblk.descr[i].name,
+ "dropmsgswithmaliciousdnsptrrecords")) {
+ bDropMalPTRMsgs = (int) cnfparamvals[i].val.d.n;
+ } else {
+ dbgprintf("glblDoneLoadCnf: program error, non-handled "
+ "param '%s'\n", paramblk.descr[i].name);
+ }
+ }
+}
+
/* Initialize the glbl class. Must be called as the very first method
* before anything else is called inside this class.