[monitoring-plugins] Convert plugins to use the new output functions

Holger Weiss git at monitoring-plugins.org
Thu Oct 8 09:10:12 CEST 2015


 Module: monitoring-plugins
 Branch: hw/output/plugins
 Commit: ff8b447e14451b01d3823393c74e1521e5d4cf9f
 Author: Holger Weiss <hweiss at users.sourceforge.net>
   Date: Wed Apr 22 00:44:15 2009 +0200
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=ff8b447

Convert plugins to use the new output functions

*** THIS COMMIT WILL BE MODIFIED IN THE FUTURE! ****

Convert some of the C plugins to use the new "configurable output
functions".

---

 plugins/check_apt.c     |  70 ++++++++------------
 plugins/check_by_ssh.c  |  13 ++--
 plugins/check_cluster.c |  27 +++-----
 plugins/check_dig.c     |  25 +++----
 plugins/check_disk.c    |  49 ++++++--------
 plugins/check_dns.c     |  13 ++--
 plugins/check_fping.c   |  53 ++++++---------
 plugins/check_game.c    |  44 +++++-------
 plugins/check_hpjd.c    |  28 +++-----
 plugins/check_http.c    | 173 ++++++++++++++++++++----------------------------
 10 files changed, 199 insertions(+), 296 deletions(-)

diff --git a/plugins/check_apt.c b/plugins/check_apt.c
index f67ebf9..f72b9b5 100644
--- a/plugins/check_apt.c
+++ b/plugins/check_apt.c
@@ -43,6 +43,7 @@ const char *email = "nagiosplug-devel at lists.sourceforge.net";
 #include "common.h"
 #include "runcmd.h"
 #include "utils.h"
+#include "utils.h"
 #include "regex.h"
 
 /* some constants */
@@ -74,7 +75,6 @@ int run_upgrade(int *pkgcount, int *secpkgcount);
 char* add_to_regexp(char *expr, const char *next);
 
 /* configuration variables */
-static int verbose = 0;      /* -v */
 static int do_update = 0;    /* whether to call apt-get update */
 static upgrade_type upgrade = UPGRADE; /* which type of upgrade to do */
 static char *upgrade_opts = NULL; /* options to override defaults for upgrade */
@@ -90,6 +90,7 @@ static int exec_warning = 0;     /* if a cmd exited non-zero */
 int main (int argc, char **argv) {
 	int result=STATE_UNKNOWN, packages_available=0, sec_count=0;
 
+	np_set_mynames(argv[0], "APT");
 	if (process_arguments(argc, argv) == ERROR)
 		usage_va(_("Could not parse arguments"));
 
@@ -115,8 +116,8 @@ int main (int argc, char **argv) {
 		result = max_state(result, STATE_OK);
 	}
 
-	printf(_("APT %s: %d packages available for %s (%d critical updates). %s%s%s%s\n"), 
-	       state_text(result),
+	np_die(result,
+	       _("%d packages available for %s (%d critical updates). %s%s%s%s"),
 	       packages_available,
 	       (upgrade==DIST_UPGRADE)?"dist-upgrade":"upgrade",
 		   sec_count,
@@ -125,8 +126,6 @@ int main (int argc, char **argv) {
 	       (exec_warning)?" errors detected":"",
 	       (stderr_warning||exec_warning)?". run with -v for information.":""
 	       );
-
-	return result;
 }
 
 /* process command-line arguments */
@@ -161,7 +160,7 @@ int process_arguments (int argc, char **argv) {
 			print_revision(progname, revision);
 			exit(STATE_OK);
 		case 'v':
-			verbose++;
+			np_increase_verbosity(1);
 			break;
 		case 't':
 			timeout_interval=atoi(optarg);
@@ -170,14 +169,14 @@ int process_arguments (int argc, char **argv) {
 			upgrade=DIST_UPGRADE;
 			if(optarg!=NULL){
 				upgrade_opts=strdup(optarg);
-				if(upgrade_opts==NULL) die(STATE_UNKNOWN, "strdup failed");
+				if(upgrade_opts==NULL) np_die(STATE_UNKNOWN, "strdup failed: %m");
 			}
 			break;
 		case 'U':
 			upgrade=UPGRADE;
 			if(optarg!=NULL){
 				upgrade_opts=strdup(optarg);
-				if(upgrade_opts==NULL) die(STATE_UNKNOWN, "strdup failed");
+				if(upgrade_opts==NULL) np_die(STATE_UNKNOWN, "strdup failed: %m");
 			}
 			break;
 		case 'n':
@@ -187,7 +186,7 @@ int process_arguments (int argc, char **argv) {
 			do_update=1;
 			if(optarg!=NULL){
 				update_opts=strdup(optarg);
-				if(update_opts==NULL) die(STATE_UNKNOWN, "strdup failed");
+				if(update_opts==NULL) np_die(STATE_UNKNOWN, "strdup failed: %m");
 			}
 			break;
 		case 'i':
@@ -228,22 +227,22 @@ int run_upgrade(int *pkgcount, int *secpkgcount){
 	regres=regcomp(&ireg, include_ptr, REG_EXTENDED);
 	if(regres!=0) {
 		regerror(regres, &ireg, rerrbuf, 64);
-		die(STATE_UNKNOWN, _("%s: Error compiling regexp: %s"), progname, rerrbuf);
+		np_die(STATE_UNKNOWN, _("Error compiling regexp: %s"), rerrbuf);
 	}
 
 	if(do_exclude!=NULL){
 		regres=regcomp(&ereg, do_exclude, REG_EXTENDED);
 		if(regres!=0) {
 			regerror(regres, &ereg, rerrbuf, 64);
-			die(STATE_UNKNOWN, _("%s: Error compiling regexp: %s"),
-			    progname, rerrbuf);
+			np_die(STATE_UNKNOWN, _("Error compiling regexp: %s"),
+			    rerrbuf);
 		}
 	}
 	regres=regcomp(&sreg, crit_ptr, REG_EXTENDED);
 	if(regres!=0) {
 		regerror(regres, &ereg, rerrbuf, 64);
-		die(STATE_UNKNOWN, _("%s: Error compiling regexp: %s"),
-		    progname, rerrbuf);
+		np_die(STATE_UNKNOWN, _("Error compiling regexp: %s"),
+		    rerrbuf);
 	}
 
 	cmdline=construct_cmdline(upgrade, upgrade_opts);
@@ -255,8 +254,7 @@ int run_upgrade(int *pkgcount, int *secpkgcount){
 	if(result != 0){
 		exec_warning=1;
 		result = STATE_UNKNOWN;
-		fprintf(stderr, _("'%s' exited with non-zero status.\n"),
-		    cmdline);
+		np_verbose(_("'%s' exited with non-zero status."), cmdline);
 	}
 
 	/* parse the output, which should only consist of lines like
@@ -269,9 +267,7 @@ int run_upgrade(int *pkgcount, int *secpkgcount){
 	 * in which case the logic here will slightly change.
 	 */
 	for(i = 0; i < chld_out.lines; i++) {
-		if(verbose){
-			printf("%s\n", chld_out.line[i]);
-		}
+		np_verbatim(chld_out.line[i]);
 		/* if it is a package we care about */
 		if(regexec(&ireg, chld_out.line[i], 0, NULL, 0)==0){
 			/* if we're not excluding, or it's not in the
@@ -281,11 +277,9 @@ int run_upgrade(int *pkgcount, int *secpkgcount){
 				pc++;
 				if(regexec(&sreg, chld_out.line[i], 0, NULL, 0)==0){
 					spc++;
-					if(verbose) printf("*");
-				}
-				if(verbose){
-					printf("*%s\n", chld_out.line[i]);
+					np_debug(1, "*");
 				}
+				np_verbose("*%s", chld_out.line[i]);
 			}
 		}
 	}
@@ -296,11 +290,8 @@ int run_upgrade(int *pkgcount, int *secpkgcount){
 	if(chld_err.buflen){
 		stderr_warning=1;
 		result = max_state(result, STATE_WARNING);
-		if(verbose){
-			for(i = 0; i < chld_err.lines; i++) {
-				fprintf(stderr, "%s\n", chld_err.line[i]);
-			}
-		}
+		for(i = 0; i < chld_err.lines; i++)
+			np_verbatim(chld_err.line[i]);
 	}
 	regfree(&ireg);
 	regfree(&sreg);
@@ -324,25 +315,18 @@ int run_update(void){
 	if(result != 0){
 		exec_warning=1;
 		result = STATE_CRITICAL;
-		fprintf(stderr, _("'%s' exited with non-zero status.\n"),
-		        cmdline);
+		np_verbose(_("'%s' exited with non-zero status."), cmdline);
 	}
 
-	if(verbose){
-		for(i = 0; i < chld_out.lines; i++) {
-			printf("%s\n", chld_out.line[i]);
-		}
-	}
+	for(i = 0; i < chld_out.lines; i++)
+		np_verbatim(chld_out.line[i]);
 
 	/* If we get anything on stderr, at least set warning */
 	if(chld_err.buflen){
 		stderr_warning=1;
 		result = max_state(result, STATE_WARNING);
-		if(verbose){
-			for(i = 0; i < chld_err.lines; i++) {
-				fprintf(stderr, "%s\n", chld_err.line[i]);
-			}
-		}
+		for(i = 0; i < chld_err.lines; i++)
+			np_verbatim(chld_err.line[i]);
 	}
 	free(cmdline);
 	return result;
@@ -353,12 +337,12 @@ char* add_to_regexp(char *expr, const char *next){
 
 	if(expr==NULL){
 		re=malloc(sizeof(char)*(strlen("^Inst () ")+strlen(next)+1));
-		if(!re) die(STATE_UNKNOWN, "malloc failed!\n");
+		if(!re) np_die(STATE_UNKNOWN, "malloc failed: %m");
 		sprintf(re, "^Inst (%s) ", next);
 	} else {
 		/* resize it, adding an extra char for the new '|' separator */
 		re=realloc(expr, sizeof(char)*strlen(expr)+1+strlen(next)+1);
-		if(!re) die(STATE_UNKNOWN, "realloc failed!\n");
+		if(!re) np_die(STATE_UNKNOWN, "realloc failed: %m");
 		/* append it starting at ')' in the old re */
 		sprintf((char*)(re+strlen(re)-2), "|%s) ", next);
 	}
@@ -394,7 +378,7 @@ char* construct_cmdline(upgrade_type u, const char *opts){
 	len+=strlen(aptcmd)+1;         /* "upgrade\0" */
 
 	cmd=(char*)malloc(sizeof(char)*len);
-	if(cmd==NULL) die(STATE_UNKNOWN, "malloc failed");
+	if(cmd==NULL) np_die(STATE_UNKNOWN, "malloc failed: %m");
 	sprintf(cmd, "%s %s %s", PATH_TO_APTGET, opts_ptr, aptcmd);
 	return cmd;
 }
diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c
index 46d1297..5594087 100644
--- a/plugins/check_by_ssh.c
+++ b/plugins/check_by_ssh.c
@@ -57,7 +57,6 @@ char *outputfile = NULL;
 char *host_shortname = NULL;
 char **service;
 int passive = FALSE;
-int verbose = FALSE;
 
 int
 main (int argc, char **argv)
@@ -71,6 +70,7 @@ main (int argc, char **argv)
 	FILE *fp = NULL;
 	struct output chld_out, chld_err;
 
+	np_set_mynames(argv[0], "BY-SSH");
 	remotecmd = "";
 	comm = strdup (SSH_COMMAND);
 
@@ -89,8 +89,7 @@ main (int argc, char **argv)
 	alarm (timeout_interval);
 
 	/* run the command */
-	if (verbose)
-		printf ("%s\n", comm);
+	np_verbatim(comm);
 
 	result = np_runcmd(comm, &chld_out, &chld_err, 0);
 
@@ -206,7 +205,7 @@ process_arguments (int argc, char **argv)
 			print_help ();
 			exit (STATE_OK);
 		case 'v':									/* help */
-			verbose = TRUE;
+			np_increase_verbosity(1);
 			break;
 		case 't':									/* timeout period */
 			if (!is_integer (optarg))
@@ -292,7 +291,7 @@ process_arguments (int argc, char **argv)
 	c = optind;
 	if (hostname == NULL) {
 		if (c <= argc) {
-			die (STATE_UNKNOWN, _("%s: You must provide a host name\n"), progname);
+			np_die(STATE_UNKNOWN, _("You must provide a host name"));
 		}
 		host_or_die(argv[c]);
 		hostname = argv[c++];
@@ -326,10 +325,10 @@ validate_arguments (void)
 		return ERROR;
 
 	if (passive && commands != services)
-		die (STATE_UNKNOWN, _("%s: In passive mode, you must provide a service name for each command.\n"), progname);
+		np_die(STATE_UNKNOWN, _("In passive mode, you must provide a service name for each command."));
 
 	if (passive && host_shortname == NULL)
-		die (STATE_UNKNOWN, _("%s: In passive mode, you must provide the host short name from the nagios configs.\n"), progname);
+		np_die(STATE_UNKNOWN, _("In passive mode, you must provide the host short name from the nagios configs."));
 
 	return OK;
 }
diff --git a/plugins/check_cluster.c b/plugins/check_cluster.c
index 703fff9..031f833 100644
--- a/plugins/check_cluster.c
+++ b/plugins/check_cluster.c
@@ -59,8 +59,6 @@ int check_type=CHECK_SERVICES;
 char *data_vals=NULL;
 char *label=NULL;
 
-int verbose=0;
-
 int process_arguments(int,char **);
 
 
@@ -71,12 +69,13 @@ int main(int argc, char **argv){
 	int return_code=STATE_OK;
 	thresholds *thresholds = NULL;
 
+	np_set_mynames(argv[0], "CLUSTER");
 	if(process_arguments(argc,argv)==ERROR)
 		usage(_("Could not parse arguments"));
 
 	/* Initialize the thresholds */
 	set_thresholds(&thresholds, warn_threshold, crit_threshold);
-	if(verbose)
+	if(np_get_verbosity()>0)
 		print_thresholds("check_cluster", thresholds);
 
 	/* check the data values */
@@ -121,21 +120,17 @@ int main(int argc, char **argv){
 	
 
 	/* return the status of the cluster */
-	if(check_type==CHECK_SERVICES){
-		return_code=get_status(total_services_warning+total_services_unknown+total_services_critical, thresholds);
-		printf("CLUSTER %s: %s: %d ok, %d warning, %d unknown, %d critical\n",
-			state_text(return_code), (label==NULL)?"Service cluster":label,
+	if(check_type==CHECK_SERVICES)
+		np_die(get_status(total_services_warning+total_services_unknown+total_services_critical, thresholds),
+			"%s: %d ok, %d warning, %d unknown, %d critical\n",
+			(label==NULL)?"Service cluster":label,
 			total_services_ok,total_services_warning,
 			total_services_unknown,total_services_critical);
-	}
-	else{
-		return_code=get_status(total_hosts_down+total_hosts_unreachable, thresholds);
-		printf("CLUSTER %s: %s: %d up, %d down, %d unreachable\n",
-			state_text(return_code), (label==NULL)?"Host cluster":label,
+	else
+		np_die(get_status(total_services_warning+total_services_unknown+total_services_critical, thresholds),
+			"%s: %d up, %d down, %d unreachable\n",
+			(label==NULL)?"Host cluster":label,
 			total_hosts_up,total_hosts_down,total_hosts_unreachable);
-	}
-
-	return return_code;
 }
 
 
@@ -198,7 +193,7 @@ int process_arguments(int argc, char **argv){
 			break;
 
 		case 'v': /* verbose */
-			verbose++;
+			np_increase_verbosity(1);
 			break;
 
 		case 'V': /* version */
diff --git a/plugins/check_dig.c b/plugins/check_dig.c
index e850337..77bc9b7 100644
--- a/plugins/check_dig.c
+++ b/plugins/check_dig.c
@@ -59,7 +59,6 @@ char *query_address = NULL;
 char *record_type = "A";
 char *expected_address = NULL;
 char *dns_server = NULL;
-int verbose = FALSE;
 int server_port = DEFAULT_PORT;
 double warning_interval = UNDEFINED;
 double critical_interval = UNDEFINED;
@@ -77,6 +76,7 @@ main (int argc, char **argv)
   double elapsed_time;
   int result = STATE_UNKNOWN;
 
+  np_set_mynames(argv[0], "DNS");
   setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
@@ -95,13 +95,11 @@ main (int argc, char **argv)
   alarm (timeout_interval);
   gettimeofday (&tv, NULL);
 
-  if (verbose) {
-    printf ("%s\n", command_line);
-    if(expected_address != NULL) {
-      printf (_("Looking for: '%s'\n"), expected_address);
-    } else {
-      printf (_("Looking for: '%s'\n"), query_address);
-    }
+  np_verbatim(command_line);
+  if(expected_address != NULL) {
+    np_verbose(_("Looking for: '%s'"), expected_address);
+  } else {
+    np_verbose(_("Looking for: '%s'"), query_address);
   }
 
   /* run the command */
@@ -117,8 +115,7 @@ main (int argc, char **argv)
       /* loop through the whole 'ANSWER SECTION' */
       for(; i < chld_out.lines; i++) {
         /* get the host address */
-        if (verbose)
-          printf ("%s\n", chld_out.line[i]);
+        np_verbatim(chld_out.line[i]);
 
         if (strstr (chld_out.line[i], (expected_address == NULL ? query_address : expected_address)) != NULL) {
           msg = chld_out.line[i];
@@ -165,8 +162,9 @@ main (int argc, char **argv)
   else if (warning_interval > UNDEFINED && elapsed_time > warning_interval)
     result = STATE_WARNING;
 
-  printf ("DNS %s - %.3f seconds response time (%s)|%s\n",
-          state_text (result), elapsed_time,
+  np_die(result,
+          "%.3f seconds response time (%s)|%s\n",
+          elapsed_time,
           msg ? msg : _("Probably a non-existent host/domain"),
           fperfdata("time", elapsed_time, "s",
                     (warning_interval>UNDEFINED?TRUE:FALSE),
@@ -174,7 +172,6 @@ main (int argc, char **argv)
                     (critical_interval>UNDEFINED?TRUE:FALSE),
             critical_interval,
             TRUE, 0, FALSE, 0));
-  return result;
 }
 
 
@@ -257,7 +254,7 @@ process_arguments (int argc, char **argv)
       }
       break;
     case 'v':                 /* verbose */
-      verbose = TRUE;
+      np_increase_verbosity(1);
       break;
     case 'T':
       record_type = optarg;
diff --git a/plugins/check_disk.c b/plugins/check_disk.c
index 03f0949..91cc097 100644
--- a/plugins/check_disk.c
+++ b/plugins/check_disk.c
@@ -134,7 +134,6 @@ char *path;
 char *exclude_device;
 char *units;
 uintmax_t mult = 1024 * 1024;
-int verbose = 0;
 int erronly = FALSE;
 int display_mntp = FALSE;
 int exact_match = FALSE;
@@ -178,7 +177,8 @@ main (int argc, char **argv)
   struct name_list *seen = NULL;
   struct stat *stat_buf;
 
-  preamble = strdup (" - free space:");
+  np_set_mynames(argv[0], "DISK");
+  preamble = strdup (" free space:");
   output = strdup ("");
   details = strdup ("");
   perf = strdup ("");
@@ -228,12 +228,12 @@ main (int argc, char **argv)
   /* Process for every path in list */
   for (path = path_select_list; path; path=path->name_next) {
 
-    if (verbose > 3 && path->freespace_percent->warning != NULL && path->freespace_percent->critical != NULL)
-      printf("Thresholds(pct) for %s warn: %f crit %f\n",path->name, path->freespace_percent->warning->end,
-                                                         path->freespace_percent->critical->end);
+    if (path->freespace_percent->warning != NULL && path->freespace_percent->critical != NULL)
+      np_debug(4, "Thresholds(pct) for %s warn: %f crit %f\n",path->name, path->freespace_percent->warning->end,
+                                                              path->freespace_percent->critical->end);
 
-    if (verbose > 3 && path->group != NULL)
-      printf("Group of %s: %s\n",path->name,path->group);
+    if (path->group != NULL)
+      np_debug(4, "Group of %s: %s\n",path->name,path->group);
 
     /* reset disk result */
     disk_result = STATE_UNKNOWN;
@@ -270,8 +270,7 @@ main (int argc, char **argv)
             fsp.fsu_files     += tmpfsp.fsu_files;      /* Total file nodes. */
             fsp.fsu_ffree     += tmpfsp.fsu_ffree;      /* Free file nodes. */
             
-            if (verbose > 3)
-              printf("Group %s: add %llu blocks (%s) \n", path->group, tmpfsp.fsu_bavail, temp_list->name);
+            np_debug(4, "Group %s: add %llu blocks (%s) \n", path->group, tmpfsp.fsu_bavail, temp_list->name);
              /* printf("Group %s: add %u blocks (%s)\n", temp_list->name); // path->group, tmpfsp.fsu_bavail, temp_list->name); */
 
             np_add_name(&seen, temp_list->best_match->me_mountdir);
@@ -318,35 +317,33 @@ main (int argc, char **argv)
       dused_inodes_percent = calculate_percent(fsp.fsu_files - fsp.fsu_ffree, fsp.fsu_files);
       dfree_inodes_percent = 100 - dused_inodes_percent;
 
-      if (verbose >= 3) {
-        printf ("For %s, used_pct=%g free_pct=%g used_units=%g free_units=%g total_units=%g used_inodes_pct=%g free_inodes_pct=%g\n", 
+      np_debug(3, "For %s, used_pct=%g free_pct=%g used_units=%g free_units=%g total_units=%g used_inodes_pct=%g free_inodes_pct=%g\n", 
           me->me_mountdir, dused_pct, dfree_pct, dused_units, dfree_units, dtotal_units, dused_inodes_percent, dfree_inodes_percent);
-      }
 
       /* Threshold comparisons */
 
       temp_result = get_status(dfree_units, path->freespace_units);
-      if (verbose >=3) printf("Freespace_units result=%d\n", temp_result);
+      np_debug(3, "Freespace_units result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       temp_result = get_status(dfree_pct, path->freespace_percent);
-      if (verbose >=3) printf("Freespace%% result=%d\n", temp_result);
+      np_debug(3, "Freespace%% result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       temp_result = get_status(dused_units, path->usedspace_units);
-      if (verbose >=3) printf("Usedspace_units result=%d\n", temp_result);
+      np_debug(3, "Usedspace_units result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       temp_result = get_status(dused_pct, path->usedspace_percent);
-      if (verbose >=3) printf("Usedspace_percent result=%d\n", temp_result);
+      np_debug(3, "Usedspace_percent result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       temp_result = get_status(dused_inodes_percent, path->usedinodes_percent);
-      if (verbose >=3) printf("Usedinodes_percent result=%d\n", temp_result);
+      np_debug(3, "Usedinodes_percent result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       temp_result = get_status(dfree_inodes_percent, path->freeinodes_percent);
-      if (verbose >=3) printf("Freeinodes_percent result=%d\n", temp_result);
+      np_debug(3, "Freeinodes_percent result=%d\n", temp_result);
       disk_result = max_state( disk_result, temp_result );
 
       result = max_state(result, disk_result);
@@ -381,10 +378,10 @@ main (int argc, char **argv)
 			  TRUE, 0,
 			  TRUE, dtotal_units));
 
-      if (disk_result==STATE_OK && erronly && !verbose)
+      if (disk_result==STATE_OK && erronly && np_get_verbosity()<=0)
         continue;
 
-      if (disk_result!=STATE_OK || verbose>=0) {
+      if (disk_result!=STATE_OK || np_get_verbosity()>=0) {
         asprintf (&output, "%s %s %.0f %s (%.0f%%",
                   output,
                   (!strcmp(me->me_mountdir, "none") || display_mntp) ? me->me_devname : me->me_mountdir,
@@ -410,12 +407,11 @@ main (int argc, char **argv)
 
   }
 
-  if (verbose > 2)
+  if (np_get_verbosity()>=3)
     asprintf (&output, "%s%s", output, details);
 
 
-  printf ("DISK %s%s%s|%s\n", state_text (result), (erronly && result==STATE_OK) ? "" : preamble, output, perf);
-  return result;
+  np_die(result, "%s%s|%s", (erronly && result==STATE_OK) ? "" : preamble, output, perf);
 }
 
 
@@ -635,10 +631,10 @@ process_arguments (int argc, char **argv)
       np_add_name(&fs_exclude_list, optarg);
       break;
     case 'v':                 /* verbose */
-      verbose++;
+      np_increase_verbosity(1);
       break;
     case 'q':                 /* verbose */
-      verbose--;
+      np_decrease_verbosity(1);
       break;
     case 'e':
       erronly = TRUE;
@@ -670,8 +666,7 @@ process_arguments (int argc, char **argv)
       for (me = mount_list; me; me = me->me_next) {
         if (np_regex_match_mount_entry(me, &re)) {
 	  fnd = true;
-          if (verbose > 3)
-	    printf("%s %s matching expression %s\n", me->me_devname, me->me_mountdir, optarg);
+	  np_debug(4, "%s %s matching expression %s\n", me->me_devname, me->me_mountdir, optarg);
 
           /* add parameter if not found. overwrite thresholds if path has already been added  */
           if (! (se = np_find_parameter(path_select_list, me->me_mountdir))) {
diff --git a/plugins/check_dns.c b/plugins/check_dns.c
index 454f813..d81536a 100644
--- a/plugins/check_dns.c
+++ b/plugins/check_dns.c
@@ -56,7 +56,6 @@ void print_usage (void);
 char query_address[ADDRESS_LENGTH] = "";
 char dns_server[ADDRESS_LENGTH] = "";
 char ptr_server[ADDRESS_LENGTH] = "";
-int verbose = FALSE;
 char expected_address[ADDRESS_LENGTH] = "";
 int match_expected_address = FALSE;
 int expect_authority = FALSE;
@@ -80,6 +79,7 @@ main (int argc, char **argv)
   output chld_out, chld_err;
   size_t i;
 
+  np_set_mynames(argv[0], "DNS");
   setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
@@ -99,8 +99,7 @@ main (int argc, char **argv)
   alarm (timeout_interval);
   gettimeofday (&tv, NULL);
 
-  if (verbose)
-    printf ("%s\n", command_line);
+  np_verbatim(command_line);
 
   /* run the command */
   if((np_runcmd(command_line, &chld_out, &chld_err, 0)) != 0) {
@@ -110,8 +109,7 @@ main (int argc, char **argv)
 
   /* scan stdout */
   for(i = 0; i < chld_out.lines; i++) {
-    if (verbose)
-      puts(chld_out.line[i]);
+    np_verbatim(chld_out.line[i]);
 
     if (strstr (chld_out.line[i], ".in-addr.arpa")) {
       if ((temp_buffer = strstr (chld_out.line[i], "name = ")))
@@ -161,8 +159,7 @@ main (int argc, char **argv)
 
   /* scan stderr */
   for(i = 0; i < chld_err.lines; i++) {
-    if (verbose)
-      puts(chld_err.line[i]);
+    np_verbatim(chld_err.line[i]);
 
     if (error_scan (chld_err.line[i]) != STATE_OK) {
       result = max_state (result, error_scan (chld_err.line[i]));
@@ -329,7 +326,7 @@ process_arguments (int argc, char **argv)
       print_revision (progname, revision);
       exit (STATE_OK);
     case 'v': /* version */
-      verbose = TRUE;
+      np_increase_verbosity(1);
       break;
     case 't': /* timeout period */
       timeout_interval = atoi (optarg);
diff --git a/plugins/check_fping.c b/plugins/check_fping.c
index 4dc48b7..8114b36 100644
--- a/plugins/check_fping.c
+++ b/plugins/check_fping.c
@@ -60,7 +60,6 @@ void print_usage (void);
 char *server_name = NULL;
 int packet_size = PACKET_SIZE;
 int packet_count = PACKET_COUNT;
-int verbose = FALSE;
 int cpl;
 int wpl;
 double crta;
@@ -81,6 +80,7 @@ main (int argc, char **argv)
   char *input_buffer = NULL;
   input_buffer = malloc (MAX_INPUT_BUFFER);
 
+  np_set_mynames(argv[0], "FPING");
   setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
@@ -94,32 +94,26 @@ main (int argc, char **argv)
   asprintf (&command_line, "%s -b %d -c %d %s", PATH_TO_FPING,
             packet_size, packet_count, server);
 
-  if (verbose)
-    printf ("%s\n", command_line);
+  np_verbatim(command_line);
 
   /* run the command */
   child_process = spopen (command_line);
-  if (child_process == NULL) {
-    printf (_("Could not open pipe: %s\n"), command_line);
-    return STATE_UNKNOWN;
-  }
+  if (child_process == NULL)
+    np_die(STATE_UNKNOWN, _("Could not open pipe: %s"), command_line);
 
   child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r");
-  if (child_stderr == NULL) {
+  if (child_stderr == NULL)
     printf (_("Could not open stderr for %s\n"), command_line);
-  }
 
   while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) {
-    if (verbose)
-      printf ("%s", input_buffer);
+    np_verbatim(input_buffer);
     status = max_state (status, textscan (input_buffer));
   }
 
   /* If we get anything on STDERR, at least set warning */
   while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) {
     status = max_state (status, STATE_WARNING);
-    if (verbose)
-      printf ("%s", input_buffer);
+    np_verbatim(input_buffer);
     status = max_state (status, textscan (input_buffer));
   }
   (void) fclose (child_stderr);
@@ -129,9 +123,7 @@ main (int argc, char **argv)
     /* need to use max_state not max */
     status = max_state (status, STATE_WARNING);
 
-  printf ("FPING %s - %s\n", state_text (status), server_name);
-
-  return status;
+  np_die("%s", server_name);
 }
 
 
@@ -146,16 +138,15 @@ textscan (char *buf)
   int status = STATE_UNKNOWN;
 
   if (strstr (buf, "not found")) {
-    die (STATE_CRITICAL, _("FPING UNKNOW - %s not found\n"), server_name);
+    np_die(STATE_UNKNOWN, _("%s not found"), server_name);
 
   }
   else if (strstr (buf, "is unreachable") || strstr (buf, "Unreachable")) {
-    die (STATE_CRITICAL, _("FPING CRITICAL - %s is unreachable\n"),
-               "host");
+    np_die(STATE_CRITICAL, _("%s is unreachable"), "host");
 
   }
   else if (strstr (buf, "is down")) {
-    die (STATE_CRITICAL, _("FPING CRITICAL - %s is down\n"), server_name);
+    np_die(STATE_CRITICAL, _("%s is down"), server_name);
 
   }
   else if (strstr (buf, "is alive")) {
@@ -181,9 +172,9 @@ textscan (char *buf)
       status = STATE_WARNING;
     else
       status = STATE_OK;
-    die (status,
-          _("FPING %s - %s (loss=%.0f%%, rta=%f ms)|%s %s\n"),
-         state_text (status), server_name, loss, rta,
+    np_die(status,
+          _("- %s (loss=%.0f%%, rta=%f ms)|%s %s\n"),
+         server_name, loss, rta,
          perfdata ("loss", (long int)loss, "%", wpl_p, wpl, cpl_p, cpl, TRUE, 0, TRUE, 100),
          fperfdata ("rta", rta/1.0e3, "s", wrta_p, wrta/1.0e3, crta_p, crta/1.0e3, TRUE, 0, FALSE, 0));
 
@@ -203,8 +194,8 @@ textscan (char *buf)
     else
       status = STATE_OK;
     /* loss=%.0f%%;%d;%d;0;100 */
-    die (status, _("FPING %s - %s (loss=%.0f%% )|%s\n"),
-         state_text (status), server_name, loss ,
+    np_die(status, _("%s (loss=%.0f%% )|%s"),
+         server_name, loss,
          perfdata ("loss", (long int)loss, "%", wpl_p, wpl, cpl_p, cpl, TRUE, 0, TRUE, 100));
   
   }
@@ -266,7 +257,7 @@ process_arguments (int argc, char **argv)
       print_revision (progname, revision);
       exit (STATE_OK);
     case 'v':                 /* verbose mode */
-      verbose = TRUE;
+      np_increase_verbosity(1);
       break;
     case 'H':                 /* hostname */
       if (is_host (optarg) == FALSE) {
@@ -335,13 +326,11 @@ get_threshold (char *arg, char *rv[2])
   if (arg2) {
     arg1[strcspn (arg1, ",:")] = 0;
     if (strstr (arg1, "%") && strstr (arg2, "%"))
-      die (STATE_UNKNOWN,
-                 _("%s: Only one threshold may be packet loss (%s)\n"), progname,
-                 arg);
+      np_die(STATE_UNKNOWN,
+                 _("Only one threshold may be packet loss (%s)\n"), arg);
     if (!strstr (arg1, "%") && !strstr (arg2, "%"))
-      die (STATE_UNKNOWN,
-                 _("%s: Only one threshold must be packet loss (%s)\n"),
-                 progname, arg);
+      np_die(STATE_UNKNOWN,
+                 _("Only one threshold must be packet loss (%s)\n"), arg);
   }
 
   if (arg2 && strstr (arg2, "%")) {
diff --git a/plugins/check_game.c b/plugins/check_game.c
index 79abec3..f53e7a3 100644
--- a/plugins/check_game.c
+++ b/plugins/check_game.c
@@ -58,8 +58,6 @@ char *server_ip;
 char *game_type;
 int port = 0;
 
-int verbose;
-
 int qstat_game_players_max = -1;
 int qstat_game_players = -1;
 int qstat_game_field = -1;
@@ -76,6 +74,7 @@ main (int argc, char **argv)
   size_t i = 0;
   output chld_out;
 
+  np_set_mymanes(argv[0], "GAME");
   setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
@@ -92,8 +91,7 @@ main (int argc, char **argv)
   if (port)
     asprintf (&command_line, "%s:%-d", command_line, port);
 
-  if (verbose > 0)
-    printf ("%s\n", command_line);
+  np_verbatim(command_line);
 
   /* run the command. historically, this plugin ignores output on stderr,
    * as well as return status of the qstat program */
@@ -109,11 +107,8 @@ main (int argc, char **argv)
      In the end, I figured I'd simply let an error occur & then trap it
    */
 
-  if (!strncmp (chld_out.line[0], "unknown option", 14)) {
-    printf (_("CRITICAL - Host type parameter incorrect!\n"));
-    result = STATE_CRITICAL;
-    return result;
-  }
+  if (!strncmp (chld_out.line[0], "unknown option", 14))
+    np_die(STATE_CRITICAL, _("CRITICAL - Host type parameter incorrect!"));
 
   p = (char *) strtok (chld_out.line[0], QSTAT_DATA_DELIMITER);
   while (p != NULL) {
@@ -124,20 +119,14 @@ main (int argc, char **argv)
       break;
   }
 
-  if (strstr (ret[2], QSTAT_HOST_ERROR)) {
-    printf (_("CRITICAL - Host not found\n"));
-    result = STATE_CRITICAL;
-  }
-  else if (strstr (ret[2], QSTAT_HOST_DOWN)) {
-    printf (_("CRITICAL - Game server down or unavailable\n"));
-    result = STATE_CRITICAL;
-  }
-  else if (strstr (ret[2], QSTAT_HOST_TIMEOUT)) {
-    printf (_("CRITICAL - Game server timeout\n"));
-    result = STATE_CRITICAL;
-  }
-  else {
-    printf ("OK: %s/%s %s (%s), Ping: %s ms|%s %s\n", 
+  if (strstr (ret[2], QSTAT_HOST_ERROR))
+    np_die(STATE_CRITICAL, _("CRITICAL - Host not found"));
+  else if (strstr (ret[2], QSTAT_HOST_DOWN))
+    np_die(STATE_CRITICAL, _("CRITICAL - Game server down or unavailable"));
+  else if (strstr (ret[2], QSTAT_HOST_TIMEOUT))
+    np_die(STATE_CRITICAL, _("CRITICAL - Game server timeout\n"));
+  else
+    np_die(STATE_OK, "%s/%s %s (%s), Ping: %s ms|%s %s\n",
             ret[qstat_game_players],
             ret[qstat_game_players_max],
             ret[qstat_game_field], 
@@ -149,9 +138,6 @@ main (int argc, char **argv)
             fperfdata ("ping", strtod(ret[qstat_ping_field], NULL), "",
                       FALSE, 0, FALSE, 0,
                       TRUE, 0, FALSE, 0));
-  }
-
-  return result;
 }
 
 
@@ -203,14 +189,14 @@ process_arguments (int argc, char **argv)
       print_revision (progname, revision);
       exit (STATE_OK);
     case 'v': /* version */
-      verbose = TRUE;
+      np_increase_verbosity(1);
       break;
     case 't': /* timeout period */
       timeout_interval = atoi (optarg);
       break;
     case 'H': /* hostname */
       if (strlen (optarg) >= MAX_HOST_ADDRESS_LENGTH)
-        die (STATE_UNKNOWN, _("Input buffer overflow\n"));
+        np_die(STATE_UNKNOWN, _("Input buffer overflow"));
       server_ip = optarg;
       break;
     case 'P': /* port */
@@ -218,7 +204,7 @@ process_arguments (int argc, char **argv)
       break;
     case 'G': /* hostname */
       if (strlen (optarg) >= MAX_INPUT_BUFFER)
-        die (STATE_UNKNOWN, _("Input buffer overflow\n"));
+        np_die(STATE_UNKNOWN, _("Input buffer overflow"));
       game_type = optarg;
       break;
     case 'p': /* index of ping field */
diff --git a/plugins/check_hpjd.c b/plugins/check_hpjd.c
index 8a60ce8..f37b2ba 100644
--- a/plugins/check_hpjd.c
+++ b/plugins/check_hpjd.c
@@ -98,6 +98,7 @@ main (int argc, char **argv)
 
 	errmsg = malloc(MAX_INPUT_BUFFER);
 
+	np_set_mynames(argv[0], "HPJD");
 	setlocale (LC_ALL, "");
 	bindtextdomain (PACKAGE, LOCALEDIR);
 	textdomain (PACKAGE);
@@ -127,15 +128,12 @@ main (int argc, char **argv)
 
 	/* run the command */
 	child_process = spopen (command_line);
-	if (child_process == NULL) {
-		printf (_("Could not open pipe: %s\n"), command_line);
-		return STATE_UNKNOWN;
-	}
+	if (child_process == NULL)
+		np_die(STATE_UNKNOWN, _("Could not open pipe: %s"), command_line);
 
 	child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r");
-	if (child_stderr == NULL) {
+	if (child_stderr == NULL)
 		printf (_("Could not open stderr for %s\n"), command_line);
-	}
 
 	result = STATE_OK;
 
@@ -286,21 +284,13 @@ main (int argc, char **argv)
 	}
 
 	if (result == STATE_OK)
-		printf (_("Printer ok - (%s)\n"), display_message);
-
-	else if (result == STATE_UNKNOWN) {
-
-		printf ("%s\n", errmsg);
-
-		/* if printer could not be reached, escalate to critical */
-		if (strstr (errmsg, "Timeout"))
-			result = STATE_CRITICAL;
-	}
-
+		np_die(STATE_OK, _("Printer ok - (%s)"), display_message);
 	else if (result == STATE_WARNING)
-		printf ("%s (%s)\n", errmsg, display_message);
+		np_die(STATE_WARNING, "%s (%s)\n", errmsg, display_message);
 
-	return result;
+	/* if printer could not be reached, escalate to critical */
+	np_die(strstr(errmsg, "Timeout") ? STATE_CRITICAL : STATE_UNKNOWN,
+	    "%s", errmsg);
 }
 
 
diff --git a/plugins/check_http.c b/plugins/check_http.c
index b371cd6..3b93795 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -113,7 +113,6 @@ char **http_opt_headers;
 int http_opt_headers_count = 0;
 int onredirect = STATE_OK;
 int use_ssl = FALSE;
-int verbose = FALSE;
 int sd;
 int min_page_len = 0;
 int max_page_len = 0;
@@ -140,6 +139,8 @@ main (int argc, char **argv)
 {
   int result = STATE_UNKNOWN;
 
+  np_set_mynames(argv[0], "HTTP");
+
   /* Set default URL. Must be malloced for subsequent realloc if --onredirect=follow */
   server_url = strdup(HTTP_URL);
   server_url_length = strlen(server_url);
@@ -307,8 +308,7 @@ process_arguments (int argc, char **argv)
         onredirect = STATE_WARNING;
       if (!strcmp (optarg, "critical"))
         onredirect = STATE_CRITICAL;
-      if (verbose)
-        printf(_("option f:%d \n"), onredirect);  
+      np_verbose (_("option f:%d"), onredirect);
       break;
     /* Note: H, I, and u must be malloc'd or will fail on redirects */
     case 'H': /* Host Name (virtual host) */
@@ -381,7 +381,7 @@ process_arguments (int argc, char **argv)
 #endif
       break;
     case 'v': /* verbose */
-      verbose = TRUE;
+      np_increase_verbosity(1);
       break;
     case 'm': /* min_page_length */
       {
@@ -389,17 +389,15 @@ process_arguments (int argc, char **argv)
       if (strchr(optarg, ':') != (char *)NULL) {
         /* range, so get two values, min:max */
         tmp = strtok(optarg, ":");
-        if (tmp == NULL) {
-          printf("Bad format: try \"-m min:max\"\n");
-          exit (STATE_WARNING);
-        } else
+        if (tmp == NULL)
+          np_die (STATE_UNKNOWN, "Bad format: try \"-m min:max\"");
+        else
           min_page_len = atoi(tmp);
 
         tmp = strtok(NULL, ":");
-        if (tmp == NULL) {
-          printf("Bad format: try \"-m min:max\"\n");
-          exit (STATE_WARNING);
-        } else
+        if (tmp == NULL)
+          np_die (STATE_UNKNOWN, "Bad format: try \"-m min:max\"");
+        else
           max_page_len = atoi(tmp);
       } else 
         min_page_len = atoi (optarg);
@@ -420,10 +418,8 @@ process_arguments (int argc, char **argv)
                     else if (L && (optarg[L-1] == 's' ||
                                    isdigit (optarg[L-1])))
                       maximum_age = atoi (optarg);
-                    else {
-                      fprintf (stderr, "unparsable max-age: %s\n", optarg);
-                      exit (STATE_WARNING);
-                    }
+                    else
+                      np_die (STATE_UNKNOWN, _("Unparsable max-age: %s"), optarg);
                   }
                   break;
     }
@@ -593,7 +589,7 @@ parse_time_string (const char *string)
     t = mktime (&tm);
     if (t == (time_t) -1) t = 0;
 
-    if (verbose) {
+    if (np_get_verbosity() > 0) {
       const char *s = string;
       while (*s && *s != '\r' && *s != '\n')
       fputc (*s++, stdout);
@@ -665,28 +661,27 @@ check_document_dates (const char *headers)
 
   /* Done parsing the body.  Now check the dates we (hopefully) parsed.  */
   if (!server_date || !*server_date) {
-    die (STATE_UNKNOWN, _("HTTP UNKNOWN - Server date unknown\n"));
+    np_die (STATE_UNKNOWN, _("Server date unknown"));
   } else if (!document_date || !*document_date) {
-    die (STATE_CRITICAL, _("HTTP CRITICAL - Document modification date unknown\n"));
+    np_die (STATE_CRITICAL, _("Document modification date unknown"));
   } else {
     time_t srv_data = parse_time_string (server_date);
     time_t doc_data = parse_time_string (document_date);
 
     if (srv_data <= 0) {
-      die (STATE_CRITICAL, _("HTTP CRITICAL - Server date \"%100s\" unparsable"), server_date);
+      np_die (STATE_CRITICAL, _("Server date \"%100s\" unparsable"), server_date);
     } else if (doc_data <= 0) {
-      die (STATE_CRITICAL, _("HTTP CRITICAL - Document date \"%100s\" unparsable"), document_date);
+      np_die (STATE_CRITICAL, _("Document date \"%100s\" unparsable"), document_date);
     } else if (doc_data > srv_data + 30) {
-      die (STATE_CRITICAL, _("HTTP CRITICAL - Document is %d seconds in the future\n"), (int)doc_data - (int)srv_data);
+      np_die (STATE_CRITICAL, _("Document is %d seconds in the future"),
+        (int)doc_data - (int)srv_data);
     } else if (doc_data < srv_data - maximum_age) {
     int n = (srv_data - doc_data);
     if (n > (60 * 60 * 24 * 2))
-      die (STATE_CRITICAL,
-        _("HTTP CRITICAL - Last modified %.1f days ago\n"),
+      np_die (STATE_CRITICAL, _("Last modified %.1f days ago"),
         ((float) n) / (60 * 60 * 24));
   else
-    die (STATE_CRITICAL,
-        _("HTTP CRITICAL - Last modified %d:%02d:%02d ago\n"),
+    np_die (STATE_CRITICAL, _("Last modified %d:%02d:%02d ago"),
         n / (60 * 60), (n / 60) % 60, n % 60);
     }
 
@@ -767,7 +762,7 @@ check_http (void)
 
   /* try to connect to the host at the given port number */
   if (my_tcp_connect (server_address, server_port, &sd) != STATE_OK)
-    die (STATE_CRITICAL, _("HTTP CRITICAL - Unable to open TCP socket\n"));
+    np_die (STATE_CRITICAL, _("Unable to open TCP socket"));
 #ifdef HAVE_SSL
   if (use_ssl == TRUE) {
     np_net_ssl_init(sd);
@@ -820,7 +815,7 @@ check_http (void)
     asprintf (&buf, "%s%s", buf, CRLF);
   }
 
-  if (verbose) printf ("%s\n", buf);
+  np_verbatim (buf);
   my_send (buf, strlen (buf));
 
   /* fetch the page */
@@ -842,15 +837,15 @@ check_http (void)
     if (use_ssl) {
       sslerr=SSL_get_error(ssl, i);
       if ( sslerr == SSL_ERROR_SSL ) {
-        die (STATE_WARNING, _("HTTP WARNING - Client Certificate Required\n"));
+        np_die (STATE_WARNING, _("Client Certificate Required"));
       } else {
-        die (STATE_CRITICAL, _("HTTP CRITICAL - Error on receive\n"));
+        np_die (STATE_CRITICAL, _("Error on receive"));
       }
     }
     else {
     */
 #endif
-      die (STATE_CRITICAL, _("HTTP CRITICAL - Error on receive\n"));
+      np_die (STATE_CRITICAL, _("HTTP CRITICAL - Error on receive"));
 #ifdef HAVE_SSL
       /* XXX
     }
@@ -860,7 +855,7 @@ check_http (void)
 
   /* return a CRITICAL status if we couldn't read any data */
   if (pagesize == (size_t) 0)
-    die (STATE_CRITICAL, _("HTTP CRITICAL - No data received from host\n"));
+    np_die (STATE_CRITICAL, _("HTTP CRITICAL - No data received from host"));
 
   /* close the connection */
 #ifdef HAVE_SSL
@@ -874,8 +869,7 @@ check_http (void)
   /* leave full_page untouched so we can free it later */
   page = full_page;
 
-  if (verbose)
-    printf ("%s://%s:%d%s is %d characters\n",
+  np_verbose ("%s://%s:%d%s is %d characters",
       use_ssl ? "https" : "http", server_address,
       server_port, server_url, (int)pagesize);
 
@@ -886,8 +880,7 @@ check_http (void)
   page += (size_t) strspn (page, "\r\n");
   status_line[strcspn(status_line, "\r\n")] = 0;
   strip (status_line);
-  if (verbose)
-    printf ("STATUS: %s\n", status_line);
+  np_verbose ("STATUS: %s", status_line);
 
   /* find header info and null-terminate it */
   header = page;
@@ -902,29 +895,27 @@ check_http (void)
   }
   page += (size_t) strspn (page, "\r\n");
   header[pos - header] = 0;
-  if (verbose)
-    printf ("**** HEADER ****\n%s\n**** CONTENT ****\n%s\n", header,
+  np_verbose ("**** HEADER ****\n%s\n**** CONTENT ****\n%s", header,
                 (no_body ? "  [[ skipped ]]" : page));
 
   /* make sure the status line matches the response we are looking for */
   if (!strstr (status_line, server_expect)) {
     if (server_port == HTTP_PORT)
       asprintf (&msg,
-                _("Invalid HTTP response received from host\n"));
+                _("Invalid HTTP response received from host"));
     else
       asprintf (&msg,
-                _("Invalid HTTP response received from host on port %d\n"),
+                _("Invalid HTTP response received from host on port %d"),
                 server_port);
-    die (STATE_CRITICAL, "HTTP CRITICAL - %s", msg);
+    np_die (STATE_CRITICAL, "%s", msg);
   }
 
   /* Exit here if server_expect was set by user and not default */
   if ( server_expect_yn  )  {
     asprintf (&msg,
-              _("HTTP OK: Status line output matched \"%s\"\n"),
+              _("Status line output matched \"%s\""),
               server_expect);
-    if (verbose)
-      printf ("%s\n",msg);
+    np_verbatim (msg);
   }
   else {
     /* Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF */
@@ -933,40 +924,32 @@ check_http (void)
 
     status_code = strchr (status_line, ' ') + sizeof (char);
     if (strspn (status_code, "1234567890") != 3)
-      die (STATE_CRITICAL, _("HTTP CRITICAL: Invalid Status Line (%s)\n"), status_line);
+      np_die (STATE_CRITICAL, _("Invalid Status Line (%s)"), status_line);
 
     http_status = atoi (status_code);
 
     /* check the return code */
 
     if (http_status >= 600 || http_status < 100)
-      die (STATE_CRITICAL, _("HTTP CRITICAL: Invalid Status (%s)\n"), status_line);
+      np_die (STATE_CRITICAL, _("Invalid Status (%s)"), status_line);
 
     /* server errors result in a critical state */
     else if (http_status >= 500)
-      die (STATE_CRITICAL, _("HTTP CRITICAL: %s\n"), status_line);
+      np_die (STATE_CRITICAL, _("%s"), status_line);
 
     /* client errors result in a warning state */
     else if (http_status >= 400)
-      die (STATE_WARNING, _("HTTP WARNING: %s\n"), status_line);
+      np_die (STATE_WARNING, _("%s"), status_line);
 
     /* check redirected page if specified */
     else if (http_status >= 300) {
 
       if (onredirect == STATE_DEPENDENT)
         redir (header, status_line);
-      else if (onredirect == STATE_UNKNOWN)
-        printf (_("HTTP UNKNOWN"));
-      else if (onredirect == STATE_OK)
-        printf (_("HTTP OK"));
-      else if (onredirect == STATE_WARNING)
-        printf (_("HTTP WARNING"));
-      else if (onredirect == STATE_CRITICAL)
-        printf (_("HTTP CRITICAL"));
       microsec = deltime (tv);
       elapsed_time = (double)microsec / 1.0e6;
-      die (onredirect,
-           _(" - %s - %.3f second response time %s|%s %s\n"),
+      np_die (onredirect,
+           _("%s - %.3f second response time %s|%s %s"),
            status_line, elapsed_time, 
            (display_html ? "</A>" : ""),
            perfd_time (elapsed_time), perfd_size (pagesize));
@@ -982,59 +965,50 @@ check_http (void)
   microsec = deltime (tv);
   elapsed_time = (double)microsec / 1.0e6;
   asprintf (&msg,
-            _("HTTP WARNING: %s - %.3f second response time %s|%s %s\n"),
+            _("%s - %.3f second response time %s|%s %s"),
             status_line, elapsed_time, 
             (display_html ? "</A>" : ""),
             perfd_time (elapsed_time), perfd_size (pagesize));
   if (check_critical_time == TRUE && elapsed_time > critical_time)
-    die (STATE_CRITICAL, "%s", msg);
+    np_die (STATE_CRITICAL, "%s", msg);
   if (check_warning_time == TRUE && elapsed_time > warning_time)
-    die (STATE_WARNING, "%s", msg);
+    np_die (STATE_WARNING, "%s", msg);
 
   /* Page and Header content checks go here */
   /* these checks should be last */
 
   if (strlen (string_expect)) {
-    if (strstr (page, string_expect)) {
-      printf (_("HTTP OK %s - %.3f second response time %s|%s %s\n"),
+    if (strstr (page, string_expect))
+      np_die (STATE_OK, _("%s - %.3f second response time %s|%s %s"),
               status_line, elapsed_time,
               (display_html ? "</A>" : ""),
               perfd_time (elapsed_time), perfd_size (pagesize));
-      exit (STATE_OK);
-    }
-    else {
-      printf (_("HTTP CRITICAL - string not found%s|%s %s\n"),
+    else
+      np_die (STATE_CRITICAL, _("string not found%s|%s %s"),
               (display_html ? "</A>" : ""),
               perfd_time (elapsed_time), perfd_size (pagesize));
-      exit (STATE_CRITICAL);
-    }
   }
 
   if (strlen (regexp)) {
     errcode = regexec (&preg, page, REGS, pmatch, 0);
-    if ((errcode == 0 && invert_regex == 0) || (errcode == REG_NOMATCH && invert_regex == 1)) {
-      printf (_("HTTP OK %s - %.3f second response time %s|%s %s\n"),
+    if ((errcode == 0 && invert_regex == 0) || (errcode == REG_NOMATCH && invert_regex == 1))
+      np_die (STATE_OK, _("%s - %.3f second response time %s|%s %s"),
               status_line, elapsed_time,
               (display_html ? "</A>" : ""),
               perfd_time (elapsed_time), perfd_size (pagesize));
-      exit (STATE_OK);
-    }
     else if ((errcode == REG_NOMATCH && invert_regex == 0) || (errcode == 0 && invert_regex == 1)) {
       if (invert_regex == 0) 
         msg = strdup(_("pattern not found"));
       else 
         msg = strdup(_("pattern found"));
-      printf (("%s - %s%s|%s %s\n"),
-        _("HTTP CRITICAL"),
+      np_die (STATE_CRITICAL, "%s%s|%s %s",
         msg,
         (display_html ? "</A>" : ""),
         perfd_time (elapsed_time), perfd_size (pagesize));
-      exit (STATE_CRITICAL);
     }
     else {
       regerror (errcode, &preg, errbuf, MAX_INPUT_BUFFER);
-      printf (_("HTTP CRITICAL - Execute Error: %s\n"), errbuf);
-      exit (STATE_CRITICAL);
+      np_die (STATE_CRITICAL, _("Execute Error: %s"), errbuf);
     }
   }
 
@@ -1042,20 +1016,18 @@ check_http (void)
   /* page_len = get_content_length(header); */
   page_len = pagesize;
   if ((max_page_len > 0) && (page_len > max_page_len)) {
-    printf (_("HTTP WARNING: page size %d too large%s|%s\n"),
+    np_die (STATE_WARNING, _("page size %d too large%s|%s"),
       page_len, (display_html ? "</A>" : ""), perfd_size (page_len) );
-    exit (STATE_WARNING);
   } else if ((min_page_len > 0) && (page_len < min_page_len)) {
-    printf (_("HTTP WARNING: page size %d too small%s|%s\n"),
+    np_die (STATE_WARNING, _("page size %d too small%s|%s"),
       page_len, (display_html ? "</A>" : ""), perfd_size (page_len) );
-    exit (STATE_WARNING);
   }
   /* We only get here if all tests have been passed */
-  asprintf (&msg, _("HTTP OK %s - %d bytes in %.3f seconds %s|%s %s\n"),
+  asprintf (&msg, _("%s - %d bytes in %.3f seconds %s|%s %s"),
             status_line, page_len, elapsed_time,
             (display_html ? "</A>" : ""),
             perfd_time (elapsed_time), perfd_size (page_len));
-  die (STATE_OK, "%s", msg);
+  np_die (STATE_OK, "%s", msg);
   return STATE_UNKNOWN;
 }
 
@@ -1085,11 +1057,11 @@ redir (char *pos, char *status_line)
 
   addr = malloc (MAX_IPV4_HOSTLENGTH + 1);
   if (addr == NULL)
-    die (STATE_UNKNOWN, _("HTTP UNKNOWN - Could not allocate addr\n"));
+    np_die (STATE_UNKNOWN, _("Could not allocate addr"));
   
   url = malloc (strcspn (pos, "\r\n"));
   if (url == NULL)
-    die (STATE_UNKNOWN, _("HTTP UNKNOWN - Could not allocate url\n"));
+    np_die (STATE_UNKNOWN, _("Could not allocate url"));
 
   while (pos) {
     sscanf (pos, "%[Ll]%*[Oo]%*[Cc]%*[Aa]%*[Tt]%*[Ii]%*[Oo]%*[Nn]:%n", xx, &i);
@@ -1097,8 +1069,8 @@ redir (char *pos, char *status_line)
       pos += (size_t) strcspn (pos, "\r\n");
       pos += (size_t) strspn (pos, "\r\n");
       if (strlen(pos) == 0) 
-        die (STATE_UNKNOWN,
-             _("HTTP UNKNOWN - Could not find redirect location - %s%s\n"),
+        np_die (STATE_UNKNOWN,
+             _("Could not find redirect location - %s%s"),
              status_line, (display_html ? "</A>" : ""));
       continue;
     }
@@ -1113,14 +1085,14 @@ redir (char *pos, char *status_line)
     for (; (i = strspn (pos, "\r\n")); pos += i) {
       pos += i;
       if (!(i = strspn (pos, " \t"))) {
-        die (STATE_UNKNOWN, _("HTTP UNKNOWN - Empty redirect location%s\n"),
+        np_die (STATE_UNKNOWN, _("Empty redirect location%s"),
              display_html ? "</A>" : "");
       }
     }
 
     url = realloc (url, strcspn (pos, "\r\n") + 1);
     if (url == NULL)
-      die (STATE_UNKNOWN, _("HTTP UNKNOWN - could not allocate url\n"));
+      np_die (STATE_UNKNOWN, _("could not allocate url"));
 
     /* URI_HTTP, URI_HOST, URI_PORT, URI_PATH */
     if (sscanf (pos, HD1, type, addr, &i, url) == 4)
@@ -1159,8 +1131,8 @@ redir (char *pos, char *status_line)
     }           
 
     else {
-      die (STATE_UNKNOWN,
-           _("HTTP UNKNOWN - Could not parse redirect location - %s%s\n"),
+      np_die (STATE_UNKNOWN,
+           _("Could not parse redirect location - %s%s"),
            pos, (display_html ? "</A>" : ""));
     }
 
@@ -1169,16 +1141,16 @@ redir (char *pos, char *status_line)
   } /* end while (pos) */
 
   if (++redir_depth > max_depth)
-    die (STATE_WARNING,
-         _("HTTP WARNING - maximum redirection depth %d exceeded - %s://%s:%d%s%s\n"),
+    np_die (STATE_WARNING,
+         _("maximum redirection depth %d exceeded - %s://%s:%d%s%s"),
          max_depth, type, addr, i, url, (display_html ? "</A>" : ""));
 
   if (server_port==i &&
       !strcmp(server_address, addr) &&
       (host_name && !strcmp(host_name, addr)) &&
       !strcmp(server_url, url))
-    die (STATE_WARNING,
-         _("HTTP WARNING - redirection creates an infinite loop - %s://%s:%d%s%s\n"),
+    np_die (STATE_WARNING,
+         _("redirection creates an infinite loop - %s://%s:%d%s%s"),
          type, addr, i, url, (display_html ? "</A>" : ""));
 
   strcpy (server_type, type);
@@ -1193,18 +1165,17 @@ redir (char *pos, char *status_line)
   if ((url[0] == '/'))
     server_url = strdup (url);
   else if (asprintf(&server_url, "/%s", url) == -1)
-    die (STATE_UNKNOWN, _("HTTP UNKNOWN - Could not allocate server_url%s\n"),
+    np_die (STATE_UNKNOWN, _("Could not allocate server_url%s"),
          display_html ? "</A>" : "");
   free(url);
 
   if ((server_port = i) > MAX_PORT)
-    die (STATE_UNKNOWN,
-         _("HTTP UNKNOWN - Redirection to port above %d - %s://%s:%d%s%s\n"),
+    np_die (STATE_UNKNOWN,
+         _("Redirection to port above %d - %s://%s:%d%s%s"),
          MAX_PORT, server_type, server_address, server_port, server_url,
          display_html ? "</A>" : "");
 
-  if (verbose)
-    printf (_("Redirection to %s://%s:%d%s\n"), server_type, server_address,
+  np_verbose (_("Redirection to %s://%s:%d%s"), server_type, server_address,
             server_port, server_url);
 
   check_http ();



More information about the Commits mailing list