Преглед изворни кода

Issue 613 (ICMP BAD CHECKSUM)

Mauno Erhardt пре 4 година
родитељ
комит
69597707ca
1 измењених фајлова са 10 додато и 0 уклоњено
  1. 10 0
      plugins/check_ping.c

+ 10 - 0
plugins/check_ping.c

@@ -38,6 +38,7 @@ const char *email = "devel@nagios-plugins.org";
 #include "utils.h"
 
 #define WARN_DUPLICATES "DUPLICATES FOUND! "
+#define WARN_ICMP_CHECKSUM "BAD CHECKSUM! "
 #define UNKNOWN_TRIP_TIME -1.0	/* -1 seconds */
 
 enum {
@@ -567,6 +568,15 @@ error_scan (char buf[MAX_INPUT_BUFFER], const char *addr)
 		return (STATE_WARNING);
 	}
 
+	if strstr (buf, "BAD CHECKSUM") {
+		if (warn_text == NULL)
+			warn_text = strdup (_(WARN_ICMP_CHECKSUM));
+		else if (! strstr (warn_text, _(WARN_ICMP_CHECKSUM)) &&
+		         xasprintf (&warn_text, "%s %s", warn_text, _(WARN_ICMP_CHECKSUM)) == -1)
+			die (STATE_UNKNOWN, _("Unable to realloc warn_text\n"));
+		return (STATE_WARNING);
+	}
+
 	return (STATE_OK);
 }