[Nagiosplug-devel] Patch for leading whitespace on comments

Tobias Klausmann klausman at schwarzvogel.de
Fri Jan 19 13:25:43 CET 2007


As of 2.6, Nagios recognizes leading whitespace only in the main
config file. The attached patch fixes this.

To illustrate, this piece of config does not work currently:

define host {
    host_name                 eric.schwarzvogel.de
    alias                     eric.schwarzvogel.de
    #check_command             check_host_alive
    check_command             check_host_new
    max_check_attempts        3
    retain_status_information 1
    contact_groups            Privat Klausmann
    notification_interval     30
    notification_period       24x7
    notification_options      d,u,r
    passive_checks_enabled    1

The reason is the commented-out check_command line. It would work
like this:

define host {
#   check_command             check_host_alive
    check_command             check_host_new

This is because (for non-main config files), Nagios first checks
if the first char is "#" and *then* strips the line. For the main
config file, this happens the other way around.

I've attached a patch that makes this behaviour more consistent.
I believe the check for '\0', '\n' etc. could be simplified to,
*if* strip() removes some of the chars. I tried to be
non-invasive as possible, so I didn't do that.

I'd like it if this patch makes it into the 2.x series. 


-------------- next part --------------
--- base/config.c.orig	2007-01-19 13:15:52.000000000 +0100
+++ base/config.c	2007-01-19 13:17:00.000000000 +0100
@@ -1518,12 +1518,15 @@
+		/* Strip line first so that a hash preceded by
+		 * only whitespace is treated correctly 
+		 */
+		strip(input);
 		/* skip blank lines and comments */
 		if(input[0]=='#' || input[0]=='\x0' || input[0]=='\n' || input[0]=='\r')
-		strip(input);
 		/* get the variable name */

More information about the Devel mailing list