diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_by_ssh.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c index a81b333f..5aee5343 100644 --- a/plugins/check_by_ssh.c +++ b/plugins/check_by_ssh.c | |||
| @@ -240,7 +240,7 @@ call_getopt (int argc, char **argv) | |||
| 240 | {"fork", no_argument, 0, 'f'}, | 240 | {"fork", no_argument, 0, 'f'}, |
| 241 | {"timeout", required_argument, 0, 't'}, | 241 | {"timeout", required_argument, 0, 't'}, |
| 242 | {"host", required_argument, 0, 'H'}, | 242 | {"host", required_argument, 0, 'H'}, |
| 243 | {"port", required_argument,0,'P'}, | 243 | {"port", required_argument,0,'p'}, |
| 244 | {"output", required_argument, 0, 'O'}, | 244 | {"output", required_argument, 0, 'O'}, |
| 245 | {"name", required_argument, 0, 'n'}, | 245 | {"name", required_argument, 0, 'n'}, |
| 246 | {"services", required_argument, 0, 's'}, | 246 | {"services", required_argument, 0, 's'}, |
| @@ -248,6 +248,8 @@ call_getopt (int argc, char **argv) | |||
| 248 | {"user", required_argument, 0, 'u'}, | 248 | {"user", required_argument, 0, 'u'}, |
| 249 | {"logname", required_argument, 0, 'l'}, | 249 | {"logname", required_argument, 0, 'l'}, |
| 250 | {"command", required_argument, 0, 'C'}, | 250 | {"command", required_argument, 0, 'C'}, |
| 251 | {"use-ipv4", no_argument, 0, '4'}, | ||
| 252 | {"use-ipv6", no_argument, 0, '6'}, | ||
| 251 | {0, 0, 0, 0} | 253 | {0, 0, 0, 0} |
| 252 | }; | 254 | }; |
| 253 | #endif | 255 | #endif |
| @@ -255,10 +257,10 @@ call_getopt (int argc, char **argv) | |||
| 255 | while (1) { | 257 | while (1) { |
| 256 | #ifdef HAVE_GETOPT_H | 258 | #ifdef HAVE_GETOPT_H |
| 257 | c = | 259 | c = |
| 258 | getopt_long (argc, argv, "+?Vvhft:H:O:P:p:i:u:l:C:n:s:", long_options, | 260 | getopt_long (argc, argv, "+?Vvhft46:H:O:p:i:u:l:C:n:s:", long_options, |
| 259 | &option_index); | 261 | &option_index); |
| 260 | #else | 262 | #else |
| 261 | c = getopt (argc, argv, "+?Vvhft:H:O:P:p:i:u:l:C:n:s:"); | 263 | c = getopt (argc, argv, "+?Vvhft46:H:O:p:i:u:l:C:n:s:"); |
| 262 | #endif | 264 | #endif |
| 263 | 265 | ||
| 264 | if (c == -1 || c == EOF) | 266 | if (c == -1 || c == EOF) |
| @@ -304,7 +306,6 @@ call_getopt (int argc, char **argv) | |||
| 304 | usage2 ("invalid host name", optarg); | 306 | usage2 ("invalid host name", optarg); |
| 305 | hostname = optarg; | 307 | hostname = optarg; |
| 306 | break; | 308 | break; |
| 307 | case 'P': /* port number */ | ||
| 308 | case 'p': /* port number */ | 309 | case 'p': /* port number */ |
| 309 | if (!is_integer (optarg)) | 310 | if (!is_integer (optarg)) |
| 310 | usage2 ("port must be an integer", optarg); | 311 | usage2 ("port must be an integer", optarg); |
| @@ -326,6 +327,12 @@ call_getopt (int argc, char **argv) | |||
| 326 | case 'i': /* identity */ | 327 | case 'i': /* identity */ |
| 327 | comm = ssprintf (comm, "%s -%c %s", comm, c, optarg); | 328 | comm = ssprintf (comm, "%s -%c %s", comm, c, optarg); |
| 328 | break; | 329 | break; |
| 330 | case '4': /* IPv4 */ | ||
| 331 | comm = ssprintf (comm, "%s -4", comm); | ||
| 332 | break; | ||
| 333 | case '6': /* IPv6 */ | ||
| 334 | comm = ssprintf (comm, "%s -4", comm); | ||
| 335 | break; | ||
| 329 | case 'C': /* Command for remote machine */ | 336 | case 'C': /* Command for remote machine */ |
| 330 | commands++; | 337 | commands++; |
| 331 | if (commands > 1) | 338 | if (commands > 1) |
| @@ -372,7 +379,9 @@ print_help (char *cmd) | |||
| 372 | "-f tells ssh to fork rather than create a tty\n" | 379 | "-f tells ssh to fork rather than create a tty\n" |
| 373 | "-t, --timeout=INTEGER\n" | 380 | "-t, --timeout=INTEGER\n" |
| 374 | " specify timeout (default: %d seconds) [optional]\n" | 381 | " specify timeout (default: %d seconds) [optional]\n" |
| 375 | "-l, --logname=USERNAME\n" | 382 | "-p, --port=PORT\n" |
| 383 | " port to connect to on remote system [optional]\n" | ||
| 384 | "-l, --logname=USERNAME\n" | ||
| 376 | " SSH user name on remote host [optional]\n" | 385 | " SSH user name on remote host [optional]\n" |
| 377 | "-i, --identity=KEYFILE\n" | 386 | "-i, --identity=KEYFILE\n" |
| 378 | " identity of an authorized key [optional]\n" | 387 | " identity of an authorized key [optional]\n" |
| @@ -382,6 +391,10 @@ print_help (char *cmd) | |||
| 382 | " list of nagios service names, separated by ':' [optional]\n" | 391 | " list of nagios service names, separated by ':' [optional]\n" |
| 383 | "-n, --name=NAME\n" | 392 | "-n, --name=NAME\n" |
| 384 | " short name of host in nagios configuration [optional]\n" | 393 | " short name of host in nagios configuration [optional]\n" |
| 394 | "-4, --use-ipv4\n" | ||
| 395 | " tell ssh to use IPv4\n" | ||
| 396 | "-6, --use-ipv6\n" | ||
| 397 | " tell ssh to use IPv6\n" | ||
| 385 | "\n" | 398 | "\n" |
| 386 | "The most common mode of use is to refer to a local identity file with\n" | 399 | "The most common mode of use is to refer to a local identity file with\n" |
| 387 | "the '-i' option. In this mode, the identity pair should have a null\n" | 400 | "the '-i' option. In this mode, the identity pair should have a null\n" |
| @@ -405,8 +418,8 @@ print_usage (void) | |||
| 405 | { | 418 | { |
| 406 | printf | 419 | printf |
| 407 | ("Usage:\n" | 420 | ("Usage:\n" |
| 408 | "check_by_ssh [-f] [-t timeout] [-i identity] [-l user] -H <host> <command>\n" | 421 | "check_by_ssh [-f46] [-t timeout] [-i identity] [-l user] -H <host> -C <command>\n" |
| 409 | " [-n name] [-s servicelist] [-O outputfile] [-P port]\n" | 422 | " [-n name] [-s servicelist] [-O outputfile] [-p port]\n" |
| 410 | "check_by_ssh -V prints version info\n" | 423 | "check_by_ssh -V prints version info\n" |
| 411 | "check_by_ssh -h prints more detailed help\n"); | 424 | "check_by_ssh -h prints more detailed help\n"); |
| 412 | } | 425 | } |
