diff options
Diffstat (limited to 'plugins/check_tcp.c')
-rw-r--r-- | plugins/check_tcp.c | 142 |
1 files changed, 68 insertions, 74 deletions
diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index 158475e9..4da2ea52 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c | |||
@@ -1,32 +1,58 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * | 2 | * |
3 | * This file is part of the Nagios Plugins. | 3 | * This program is free software; you can redistribute it and/or modify |
4 | * | 4 | * it under the terms of the GNU General Public License as published by |
5 | * Copyright (c) 1999 Ethan Galstad <nagios@nagios.org> | 5 | * the Free Software Foundation; either version 2 of the License, or |
6 | * | 6 | * (at your option) any later version. |
7 | * The Nagios Plugins are free software; you can redistribute them | 7 | * |
8 | * and/or modify them under the terms of the GNU General Public | 8 | * This program is distributed in the hope that it will be useful, |
9 | * License as published by the Free Software Foundation; either | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 | * version 2 of the License, or (at your option) any later version. | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 | * | 11 | * GNU General Public License for more details. |
12 | * This program is distributed in the hope that it will be useful, but | 12 | * |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | * You should have received a copy of the GNU General Public License |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 | * along with this program; if not, write to the Free Software |
15 | * General Public License for more details. | 15 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
16 | * | 16 | * |
17 | * You should have received a copy of the GNU General Public License | 17 | *****************************************************************************/ |
18 | * along with this program; if not, write to the Free Software | 18 | |
19 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 19 | const char *progname = "check_tcp"; |
20 | * | 20 | const char *revision = "$Revision$"; |
21 | * $Id$ | 21 | const char *copyright = "2002-2003"; |
22 | * | 22 | const char *authors = "Nagios Plugin Development Team"; |
23 | *****************************************************************************/ | 23 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; |
24 | 24 | ||
25 | #define REVISION "$Revision$" | 25 | const char *summary = "\ |
26 | #define DESCRIPTION "Check a TCP port" | 26 | This plugin tests %s connections with the specified host.\n"; |
27 | #define AUTHOR "Ethan Galstad" | 27 | |
28 | #define EMAIL "nagios@nagios.org" | 28 | const char *option_summary = "\ |
29 | #define COPYRIGHTDATE "2002" | 29 | -H host -p port [-w warn_time] [-c crit_time] [-s send]\n\ |
30 | [-e expect] [-W wait] [-t to_sec] [-v]\n"; | ||
31 | |||
32 | const char *options = "\ | ||
33 | -H, --hostname=ADDRESS\n\ | ||
34 | Host name argument for servers using host headers (use numeric\n\ | ||
35 | address if possible to bypass DNS lookup).\n\ | ||
36 | -p, --port=INTEGER\n\ | ||
37 | Port number\n\ | ||
38 | -s, --send=STRING\n\ | ||
39 | String to send to the server\n\ | ||
40 | -e, --expect=STRING\n\ | ||
41 | String to expect in server response\n\ | ||
42 | -W, --wait=INTEGER\n\ | ||
43 | Seconds to wait between sending string and polling for response\n\ | ||
44 | -w, --warning=DOUBLE\n\ | ||
45 | Response time to result in warning status (seconds)\n\ | ||
46 | -c, --critical=DOUBLE\n\ | ||
47 | Response time to result in critical status (seconds)\n\ | ||
48 | -t, --timeout=INTEGER\n\ | ||
49 | Seconds before connection times out (default: %d)\n\ | ||
50 | -v\n\ | ||
51 | Show details for command-line debugging (do not use with nagios server)\n\ | ||
52 | -h, --help\n\ | ||
53 | Print detailed help screen\n\ | ||
54 | -V, --version\n\ | ||
55 | Print version information"; | ||
30 | 56 | ||
31 | #include "config.h" | 57 | #include "config.h" |
32 | #include "common.h" | 58 | #include "common.h" |
@@ -68,7 +94,6 @@ void print_usage (void); | |||
68 | void print_help (void); | 94 | void print_help (void); |
69 | int my_recv (void); | 95 | int my_recv (void); |
70 | 96 | ||
71 | char *progname = "check_tcp"; | ||
72 | char *SERVICE = NULL; | 97 | char *SERVICE = NULL; |
73 | char *SEND = NULL; | 98 | char *SEND = NULL; |
74 | char *EXPECT = NULL; | 99 | char *EXPECT = NULL; |
@@ -467,59 +492,28 @@ process_arguments (int argc, char **argv) | |||
467 | return OK; | 492 | return OK; |
468 | } | 493 | } |
469 | 494 | ||
470 | |||
471 | |||
472 | |||
473 | |||
474 | void | 495 | void |
475 | print_usage (void) | 496 | print_help (void) |
476 | { | 497 | { |
477 | printf | 498 | print_revision (progname, revision); |
478 | ("Usage: %s -H host -p port [-w warn_time] [-c crit_time] [-s send]\n" | 499 | printf ("Copyright (c) %s %s\n\t<%s>\n\n", |
479 | " [-e expect] [-W wait] [-t to_sec] [-v]\n", progname); | 500 | copyright, authors, email); |
501 | printf (summary, SERVICE); | ||
502 | print_usage (); | ||
503 | printf ("\nOptions:\n"); | ||
504 | printf (options, DEFAULT_SOCKET_TIMEOUT); | ||
505 | support (); | ||
480 | } | 506 | } |
481 | 507 | ||
482 | |||
483 | |||
484 | |||
485 | |||
486 | void | 508 | void |
487 | print_help (void) | 509 | print_usage (void) |
488 | { | 510 | { |
489 | print_revision (progname, "$Revision$"); | 511 | printf |
490 | printf | 512 | ("Usage: %s %s\n" |
491 | ("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n\n" | 513 | " %s (-h|--help)\n" |
492 | "This plugin tests %s connections with the specified host.\n\n", | 514 | " %s (-V|--version)\n", progname, option_summary, progname, progname); |
493 | SERVICE); | ||
494 | print_usage (); | ||
495 | printf | ||
496 | ("Options:\n" | ||
497 | " -H, --hostname=ADDRESS\n" | ||
498 | " Host name argument for servers using host headers (use numeric\n" | ||
499 | " address if possible to bypass DNS lookup).\n" | ||
500 | " -p, --port=INTEGER\n" | ||
501 | " Port number\n" | ||
502 | " -s, --send=STRING\n" | ||
503 | " String to send to the server\n" | ||
504 | " -e, --expect=STRING\n" | ||
505 | " String to expect in server response" | ||
506 | " -W, --wait=INTEGER\n" | ||
507 | " Seconds to wait between sending string and polling for response\n" | ||
508 | " -w, --warning=DOUBLE\n" | ||
509 | " Response time to result in warning status (seconds)\n" | ||
510 | " -c, --critical=DOUBLE\n" | ||
511 | " Response time to result in critical status (seconds)\n" | ||
512 | " -t, --timeout=INTEGER\n" | ||
513 | " Seconds before connection times out (default: %d)\n" | ||
514 | " -v" | ||
515 | " Show details for command-line debugging (do not use with nagios server)\n" | ||
516 | " -h, --help\n" | ||
517 | " Print detailed help screen\n" | ||
518 | " -V, --version\n" | ||
519 | " Print version information\n", DEFAULT_SOCKET_TIMEOUT); | ||
520 | } | 515 | } |
521 | 516 | ||
522 | |||
523 | #ifdef HAVE_SSL | 517 | #ifdef HAVE_SSL |
524 | int | 518 | int |
525 | connect_SSL (void) | 519 | connect_SSL (void) |