summaryrefslogtreecommitdiffstats
path: root/plugins/check_tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_tcp.c')
-rw-r--r--plugins/check_tcp.c142
1 files changed, 68 insertions, 74 deletions
diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c
index 158475e..4da2ea5 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. 19const char *progname = "check_tcp";
20 * 20const char *revision = "$Revision$";
21 * $Id$ 21const char *copyright = "2002-2003";
22 * 22const char *authors = "Nagios Plugin Development Team";
23 *****************************************************************************/ 23const char *email = "nagiosplug-devel@lists.sourceforge.net";
24 24
25#define REVISION "$Revision$" 25const char *summary = "\
26#define DESCRIPTION "Check a TCP port" 26This plugin tests %s connections with the specified host.\n";
27#define AUTHOR "Ethan Galstad" 27
28#define EMAIL "nagios@nagios.org" 28const 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
32const 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);
68void print_help (void); 94void print_help (void);
69int my_recv (void); 95int my_recv (void);
70 96
71char *progname = "check_tcp";
72char *SERVICE = NULL; 97char *SERVICE = NULL;
73char *SEND = NULL; 98char *SEND = NULL;
74char *EXPECT = NULL; 99char *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
474void 495void
475print_usage (void) 496print_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
486void 508void
487print_help (void) 509print_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
524int 518int
525connect_SSL (void) 519connect_SSL (void)