diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-19 17:53:23 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-19 17:53:23 +0200 |
commit | 74c2e98c13daf60bf5371f77111196679dd7df55 (patch) | |
tree | 626bd38a186c4550db0c41d51dd128b0c99f9632 /runtime/glbl.c | |
parent | 47c961eac280f72a472ad82764f8fd450ba3643f (diff) | |
download | rsyslog-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.c | 54 |
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(¶mblk, 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. |