rsyslog changes for 2007-08-01

Today, I just post the work log. I think it speaks for itself ;)

  • loading default values as done yesterday *is* clean (I’ve just reviewed the code again)
  • moved omfile-specifc global variables (for cfsysline settings) from syslogd.c to omfile.c
  • MILESTONE reached: initial output modularization is completed. Of
    course, we will work on the interface some more, but all basic goals are reached.
    Note that there are also some accesses of global data and functions, but
    that is not a real design issue but something that can be solved by moving
    code to supporting libraries (which will occur later). Also note that
    output module availability does not indicated the presence of a plug-in
    interface. That will happen some time later when the output module interface has somewhat more matured (my personal bet is in around two month from now).
  • fixed an invalid value for the MARK timer – unfortunately, there was a testing aid left in place. This resulted in quite frequent MARK messages
  • some code cleanup (unused vars and such…)
  • enhanced cfsysline interface to disallow chaining of command handlers
  • added $include config directive
  • applied a patch from mildew to prevent rsyslogd from freezing under
    heavy load. This could happen when the queue was full. Now, we drop messages but rsyslogd remains active.
  • fixed bug in cfsysline that caused iRet to be lost during handler call
  • enhanced $Include to allow inclusion of a complete directory
  • changed name of $Include to $IncludeConfig – sound better as it is
    more explicit (we’ll see where else we get includes for…)
  • released 1.17.6
  • modified rklogd to only change the console log level if -c is specified
  • even more cleanup ;)
  • prepared code to move action-specifc selector_t data members to their own structure
  • moved action-describing data fields out of selector_t to its own structure; changed code to use this dynamically-allocated structure; this is in preparation for multiple actions per selector
  • moved definition of selector_t to syslogd.c again, as this now no longer is a global structure
  • shuffled code in cfline() to prepare for a better system of processing the selector_t linked list