Explorar el Código

check_snmp don't warn anymore if something is printed on stderr

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1721 f882894a-f735-0410-b71e-b25c423dba1c
Thomas Guyot-Sionnest hace 18 años
padre
commit
063d2541ef
Se han modificado 2 ficheros con 10 adiciones y 2 borrados
  1. 1 0
      NEWS
  2. 9 2
      plugins/check_snmp.c

+ 1 - 0
NEWS

@@ -8,6 +8,7 @@ This file documents the major additions and syntax changes between releases.
 	check_load can optionally divide by number of cpus
 	Fix check_time returning wrong OK when time is before the epoch on some arch
 	Make check_http output more consistent
+	check_snmp don't warn anymore if something is printed on stderr
 
 1.4.8 11th April 2007
 	Respects --without-world-permissions for setuid plugins

+ 9 - 2
plugins/check_snmp.c

@@ -204,10 +204,12 @@ main (int argc, char **argv)
 		exit (STATE_UNKNOWN);
 	}
 
+#if 0		/* Removed May 29, 2007 */
 	child_stderr = fdopen (child_stderr_array[fileno (child_process)], "r");
 	if (child_stderr == NULL) {
 		printf (_("Could not open stderr for %s\n"), command_line);
 	}
+#endif
 
 	while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process))
 		asprintf (&output, "%s%s", output, input_buffer);
@@ -369,16 +371,21 @@ main (int argc, char **argv)
 			label,
 			command_line);
 
+#if 0		/* Removed May 29, 2007 */
 	/* WARNING if output found on stderr */
 	if (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr))
 		result = max_state (result, STATE_WARNING);
 
 	/* close stderr */
 	(void) fclose (child_stderr);
+#endif
 
 	/* close the pipe */
-	if (spclose (child_process))
-		result = max_state (result, STATE_WARNING);
+	if (spclose (child_process)) {
+		if (result == STATE_OK)
+			result = STATE_UNKNOWN;
+		asprintf (&outbuff, "%s (%s)", outbuff, _("snmpget returned an error status"));
+	}
 
 /* 	if (nunits == 1 || i == 1) */
 /* 		printf ("%s %s -%s %s\n", label, state_text (result), outbuff, units); */