diff options
author | Jeremy T. Bouse <undrgrid@users.sourceforge.net> | 2003-05-07 18:01:32 +0000 |
---|---|---|
committer | Jeremy T. Bouse <undrgrid@users.sourceforge.net> | 2003-05-07 18:01:32 +0000 |
commit | 6882b543648b994a1707a96a9116ae52fe72b57a (patch) | |
tree | 1606ebbfd7f7f5caca49f97d52b88d55150426ca | |
parent | 9d7f91d6dcb42f75b4c44e30673fdc2e579704e9 (diff) | |
download | monitoring-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.c | 20 |
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); |