From 0b6423f9c99d9edf8c96fefd0f6c453859395aa1 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 30 Sep 2013 00:03:24 +0200 Subject: Import Nagios Plugins site Import the Nagios Plugins web site, Cronjobs, infrastructure scripts, and configuration files. --- .../37563-nagiosplug-check_ssh-20021213.diff | 126 +++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 web/attachments/37563-nagiosplug-check_ssh-20021213.diff (limited to 'web/attachments/37563-nagiosplug-check_ssh-20021213.diff') diff --git a/web/attachments/37563-nagiosplug-check_ssh-20021213.diff b/web/attachments/37563-nagiosplug-check_ssh-20021213.diff new file mode 100644 index 0000000..091b5bf --- /dev/null +++ b/web/attachments/37563-nagiosplug-check_ssh-20021213.diff @@ -0,0 +1,126 @@ +Index: plugins/check_ssh.c +=================================================================== +RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_ssh.c,v +retrieving revision 1.3 +diff -u -r1.3 check_ssh.c +--- plugins/check_ssh.c 30 Oct 2002 18:44:43 -0000 1.3 ++++ plugins/check_ssh.c 14 Dec 2002 04:31:32 -0000 +@@ -34,7 +34,6 @@ + void print_help (void); + void print_usage (void); + +-char *ssh_resolve (char *hostname); + int ssh_connect (char *haddr, short hport); + + int +@@ -49,7 +48,7 @@ + alarm (socket_timeout); + + /* ssh_connect exits if error is found */ +- ssh_connect (ssh_resolve (server_name), port); ++ ssh_connect (server_name, port); + + alarm (0); + +@@ -109,6 +108,8 @@ + socket_timeout = atoi (optarg); + break; + case 'H': /* host */ ++ if (is_host (optarg) == FALSE) ++ usage ("Invalid host name/addresss\n"); + server_name = optarg; + break; + case 'p': /* port */ +@@ -125,7 +126,8 @@ + + c = optind; + if (server_name == NULL && argv[c]) { +- server_name = argv[c++]; ++ if (is_host (argv[c++])) ++ server_name = argv[c++]; + } + else if (port == -1 && argv[c]) { + if (is_intpos (argv[c])) { +@@ -153,26 +155,6 @@ + + /************************************************************************ + * +-* Resolve hostname into IP address +-* +-*-----------------------------------------------------------------------*/ +- +-char * +-ssh_resolve (char *hostname) +-{ +- struct hostent *host; +- +- host = gethostbyname (hostname); +- if (!host) { +- herror (hostname); +- exit (STATE_CRITICAL); +- } +- return (host->h_addr); +-} +- +- +-/************************************************************************ +-* + * Try to connect to SSH server at specified server and port + * + *-----------------------------------------------------------------------*/ +@@ -180,39 +162,24 @@ + int + ssh_connect (char *haddr, short hport) + { +- int s; +- struct sockaddr_in addr; +- int addrlen; +- int len; ++ int result; ++ int sock; + char *output = NULL; + char *buffer = NULL; + char *ssh_proto = NULL; + char *ssh_server = NULL; + char revision[20]; + +- sscanf ("$Revision: 1.3 $", "$Revision: %[0123456789.]", revision); ++ sscanf ("$Revision: 1.3 $", "$Revision: %[0-9.]", revision); + +- addrlen = sizeof (addr); +- memset (&addr, 0, addrlen); +- addr.sin_port = htons (hport); +- addr.sin_family = AF_INET; +- bcopy (haddr, (void *) &addr.sin_addr.s_addr, 4); +- +- s = socket (AF_INET, SOCK_STREAM, 0); +- if (!s) { +- printf ("socket(): %s for %s:%d\n", strerror (errno), server_name, hport); +- exit (STATE_CRITICAL); +- } ++ result = my_tcp_connect (haddr, hport, &sock); + +- if (connect (s, (struct sockaddr *) &addr, addrlen)) { +- printf ("connect(): %s for %s:%d\n", strerror (errno), server_name, +- hport); +- exit (STATE_CRITICAL); +- } ++ if (result != STATE_OK) ++ return result; + + output = (char *) malloc (BUFF_SZ + 1); + memset (output, 0, BUFF_SZ + 1); +- recv (s, output, BUFF_SZ, 0); ++ recv (sock, output, BUFF_SZ, 0); + if (strncmp (output, "SSH", 3)) { + printf ("Server answer: %s", output); + exit (STATE_CRITICAL); +@@ -228,7 +195,7 @@ + ("SSH ok - %s (protocol %s)\n", + ssh_server, ssh_proto); + asprintf (&buffer, "SSH-%s-check_ssh_%s\r\n", ssh_proto, revision); +- send (s, buffer, strlen (buffer), MSG_DONTWAIT); ++ send (sock, buffer, strlen (buffer), MSG_DONTWAIT); + if (verbose) + printf ("%s\n", buffer); + exit (STATE_OK); -- cgit v1.2.3-74-g34f1