aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jeremy T. Bouse <undrgrid@users.sourceforge.net> 2003-05-07 18:01:32 +0000
committerGravatar Jeremy T. Bouse <undrgrid@users.sourceforge.net> 2003-05-07 18:01:32 +0000
commit6882b543648b994a1707a96a9116ae52fe72b57a (patch)
tree1606ebbfd7f7f5caca49f97d52b88d55150426ca
parent9d7f91d6dcb42f75b4c44e30673fdc2e579704e9 (diff)
downloadmonitoring-plugins-6882b543648b994a1707a96a9116ae52fe72b57a.tar.gz
Modified check_ping to handle IPv6 as well as IPv4 ICMP checks using the
PING6_COMMAND determined during the configure script execution. As USE_IPV6 may be defined and PING6_COMMAND is not defined if there is not IPv6 TCP stack available when configure is run I condition it off PING6_COMMAND existing to remove build errors for being undefined. git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@500 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r--plugins/check_ping.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/check_ping.c b/plugins/check_ping.c
index 2526a74f..54402ae3 100644
--- a/plugins/check_ping.c
+++ b/plugins/check_ping.c
@@ -104,11 +104,25 @@ main (int argc, char **argv)
for (i = 0 ; i < n_addresses ; i++) {
/* does the host address of number of packets argument come first? */
-#ifdef PING_PACKETS_FIRST
+#ifdef PING6_COMMAND
+# ifdef PING_PACKETS_FIRST
+ if (is_inet6_addr(addresses[i]))
+ asprintf (&command_line, PING6_COMMAND, max_packets, addresses[i]);
+ else
+ asprintf (&command_line, PING_COMMAND, max_packets, addresses[i]);
+# else
+ if (is_inet6_addr(addresses[i]))
+ asprintf (&command_line, PING6_COMMAND, addresses[i], max_packets);
+ else
+ asprintf (&command_line, PING_COMMAND, addresses[i], max_packets);
+# endif
+#else /* USE_IPV6 */
+# ifdef PING_PACKETS_FIRST
asprintf (&command_line, PING_COMMAND, max_packets, addresses[i]);
-#else
+# else
asprintf (&command_line, PING_COMMAND, addresses[i], max_packets);
-#endif
+# endif
+#endif /* USE_IPV6 */
if (verbose)
printf ("%s ==> ", command_line);