Просмотр исходного кода

Fix bug #1629008: check_ping fails to handle Packet filtered error

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1563 f882894a-f735-0410-b71e-b25c423dba1c
Thomas Guyot-Sionnest 19 лет назад
Родитель
Сommit
142b9da7c0
1 измененных файлов с 14 добавлено и 2 удалено
  1. 14 2
      plugins/check_ping.c

+ 14 - 2
plugins/check_ping.c

@@ -503,10 +503,22 @@ run_ping (const char *cmd, const char *addr)
 int
 error_scan (char buf[MAX_INPUT_BUFFER], const char *addr)
 {
-	if (strstr (buf, "Network is unreachable"))
-		die (STATE_CRITICAL, _("CRITICAL - Network unreachable (%s)"), addr);
+	if (strstr (buf, "Network is unreachable") ||
+		strstr (buf, "Destination Net Unreachable")
+		)
+		die (STATE_CRITICAL, _("CRITICAL - Network Unreachable (%s)"), addr);
 	else if (strstr (buf, "Destination Host Unreachable"))
 		die (STATE_CRITICAL, _("CRITICAL - Host Unreachable (%s)"), addr);
+	else if (strstr (buf, "Destination Port Unreachable"))
+		die (STATE_CRITICAL, _("CRITICAL - Bogus ICMP: Port Unreachable (%s)"), addr);
+	else if (strstr (buf, "Destination Protocol Unreachable"))
+		die (STATE_CRITICAL, _("CRITICAL - Bogus ICMP: Protocol Unreachable (%s)"), addr);
+	else if (strstr (buf, "Destination Net Prohibited"))
+		die (STATE_CRITICAL, _("CRITICAL - Network Prohibited (%s)"), addr);
+	else if (strstr (buf, "Destination Host Prohibited"))
+		die (STATE_CRITICAL, _("CRITICAL - Host Prohibited (%s)"), addr);
+	else if (strstr (buf, "Packet filtered"))
+		die (STATE_CRITICAL, _("CRITICAL - Packet Filtered (%s)"), addr);
 	else if (strstr (buf, "unknown host" ))
 		die (STATE_CRITICAL, _("CRITICAL - Host not found (%s)"), addr);
 	else if (strstr (buf, "Time to live exceeded"))