From 7c11e0873c3c4e67671494911f6e59636931d729 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 22 Jan 2007 04:05:37 +0000 Subject: Added "-o,--ssh-option=OPTION" which hands "-o OPTION" over to ssh(1) and "-q,--quiet" which tells ssh(1) to suppress warnings (Gerhard Lausser - 1472491) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1574 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/check_by_ssh.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'plugins') diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c index 1d39985f..d1cbf936 100644 --- a/plugins/check_by_ssh.c +++ b/plugins/check_by_ssh.c @@ -166,6 +166,8 @@ process_arguments (int argc, char **argv) {"proto2", no_argument, 0, '2'}, {"use-ipv4", no_argument, 0, '4'}, {"use-ipv6", no_argument, 0, '6'}, + {"ssh-option", required_argument, 0, 'o'}, + {"quiet", no_argument, 0, 'q'}, {0, 0, 0, 0} }; @@ -177,7 +179,7 @@ process_arguments (int argc, char **argv) strcpy (argv[c], "-t"); while (1) { - c = getopt_long (argc, argv, "Vvh1246ft:H:O:p:i:u:l:C:S:n:s:", longopts, + c = getopt_long (argc, argv, "Vvh1246fqt:H:O:p:i:u:l:C:S:n:s:o:", longopts, &option); if (c == -1 || c == EOF) @@ -253,6 +255,12 @@ process_arguments (int argc, char **argv) else skip = atoi (optarg); break; + case 'o': /* Extra options for the ssh command */ + asprintf (&comm, "%s -%c '%s'", comm, c, optarg); + break; + case 'q': /* Tell the ssh command to be quiet */ + asprintf (&comm, "%s -%c", comm, c); + break; default: /* help */ usage_va(_("Unknown argument - %s"), optarg); } @@ -344,6 +352,10 @@ print_help (void) printf (" %s\n", _("list of nagios service names, separated by ':' [optional]")); printf (" %s\n","-n, --name=NAME"); printf (" %s\n", _("short name of host in nagios configuration [optional]")); + printf (" %s\n","-o, --ssh-option=OPTION"); + printf (" %s\n", _("Call ssh with '-o OPTION' (may be used multiple times) [optional]")); + printf (" %s\n","-q, --quiet"); + printf (" %s\n", _("Tell ssh to suppress warning and diagnostic messages [optional]")); printf (_(UT_WARN_CRIT)); printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); printf (" %s\n", _("The most common mode of use is to refer to a local identity file with")); @@ -371,6 +383,6 @@ void print_usage (void) { printf (_("Usage:")); - printf(" %s [-f46] [-t timeout] [-i identity] [-l user] -H -C ",progname); - printf(" [-n name] [-s servicelist] [-O outputfile] [-p port]\n"); + printf(" %s [-fq46] [-t timeout] [-i identity] [-l user] -H -C ",progname); + printf(" [-n name] [-s servicelist] [-O outputfile] [-p port] [-o ssh-option]\n"); } -- cgit v1.2.3-74-g34f1