Code

Fixed bug with malloc of wrong size
[nagiosplug.git] / plugins / check_udp.c
index 05ade04e1d8fde2c1726020bc403aa91ac379942..e7d5280cba0c64fc3387266aac43d2e64dc2b095 100644 (file)
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
+ $Id$
 *****************************************************************************/
 
 const char *progname = "check_udp";
 const char *revision = "$Revision$";
-const char *copyright = "1999-2002";
+const char *copyright = "1999-2004";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
 #include "common.h"
@@ -42,7 +44,7 @@ char *server_send;
 int
 main (int argc, char **argv)
 {
-       int result;
+       int result = STATE_UNKNOWN;
        char recv_buffer[MAX_INPUT_BUFFER];
 
        setlocale (LC_ALL, "");
@@ -50,7 +52,7 @@ main (int argc, char **argv)
        textdomain (PACKAGE);
 
        if (process_arguments (argc, argv) == ERROR)
-               usage ("\n");
+               usage4 (_("Could not parse arguments"));
 
        /* initialize alarm signal handling */
        signal (SIGALRM, socket_timeout_alarm_handler);
@@ -61,10 +63,11 @@ main (int argc, char **argv)
        time (&start_time);
        result = process_udp_request (server_address, server_port, server_send,
                        recv_buffer, MAX_INPUT_BUFFER - 1);
+                       
        time (&end_time);
 
        if (result != STATE_OK) {
-               printf ("No response from host on port %d\n", server_port);
+               printf (_("No response from host on port %d\n"), server_port);
                result = STATE_CRITICAL;
        }
 
@@ -73,7 +76,7 @@ main (int argc, char **argv)
                /* check to see if we got the response we wanted */
                if (server_expect) {
                        if (!strstr (recv_buffer, server_expect)) {
-                               printf ("Invalid response received from host on port %d\n",
+                               printf (_("Invalid response received from host on port %d\n"),
                                                                server_port);
                                result = STATE_CRITICAL;
                        }
@@ -102,7 +105,6 @@ main (int argc, char **argv)
 
 
 
-
 /* process command-line arguments */
 int
 process_arguments (int argc, char **argv)
@@ -144,9 +146,7 @@ process_arguments (int argc, char **argv)
 
                switch (c) {
                case '?':                                                                       /* print short usage statement if args not parsable */
-                       printf (_("%s: Unknown argument: %s\n\n"), progname, optarg);
-                       print_usage ();
-                       exit (STATE_UNKNOWN);
+                       usage2 (_("Unknown argument"), optarg);
                case 'h':                                                                       /* help */
                        print_help ();
                        exit (STATE_OK);
@@ -158,19 +158,19 @@ process_arguments (int argc, char **argv)
                        break;
                case 'H':                                                                       /* hostname */
                        if (is_host (optarg) == FALSE)
-                               usage2 (_("Invalid host name/address"), optarg);
+                               usage2 (_("Invalid hostname/address"), optarg);
                        server_address = optarg;
                        break;
                case 'c':                                                                       /* critical */
                        if (!is_intnonneg (optarg))
-                               usage (_("Critical threshold must be a nonnegative integer\n"));
+                               usage4 (_("Critical threshold must be a positive integer"));
                        else
                                critical_time = atoi (optarg);
                        check_critical_time = TRUE;
                        break;
                case 'w':                                                                       /* warning */
                        if (!is_intnonneg (optarg))
-                               usage (_("Warning threshold must be a nonnegative integer\n"));
+                               usage4 (_("Warning threshold must be a positive integer"));
                        else
                                warning_time = atoi (optarg);
                        check_warning_time = TRUE;
@@ -183,7 +183,7 @@ process_arguments (int argc, char **argv)
                        break;
                case 'p':                                                                       /* port */
                        if (!is_intnonneg (optarg))
-                               usage (_("Server port must be a nonnegative integer\n"));
+                               usage4 (_("Port must be a positive integer"));
                        else
                                server_port = atoi (optarg);
                        break;
@@ -199,12 +199,12 @@ process_arguments (int argc, char **argv)
        c = optind;
        if (server_address == NULL && c < argc && argv[c]) {
                if (is_host (argv[c]) == FALSE)
-                       usage2 (_("Invalid host name/address"), optarg);
+                       usage2 (_("Invalid hostname/address"), optarg);
                server_address = argv[c++];
        }
 
        if (server_address == NULL)
-               usage (_("Host name was not supplied\n"));
+               usage4 (_("Hostname was not supplied"));
 
        if (server_send == NULL)
                server_send = strdup("");
@@ -214,9 +214,6 @@ process_arguments (int argc, char **argv)
 
 
 
-
-
-\f
 void
 print_help (void)
 {
@@ -226,7 +223,7 @@ print_help (void)
        printf (COPYRIGHT, copyright, email);
 
        printf (_("\
-This plugin tests an UDP connection with the specified host.\n\n"));
+       This plugin tests an UDP connection with the specified host.\n\n"));
 
        print_usage ();
 
@@ -255,16 +252,13 @@ STATE_CRITICAL, other errors return STATE_UNKNOWN.\n\n"));
 }
 
 
-
-
 /* Original Command line: 
    check_udp <host_address> [-p port] [-s send] [-e expect] \
    [-wt warn_time] [-ct crit_time] [-to to_sec] */
 void
 print_usage (void)
 {
-       printf (_("\
+       printf ("\
 Usage: %s -H <host_address> [-p port] [-w warn_time] [-c crit_time]\n\
-    [-e expect] [-s send] [-t to_sec] [-v]\n"), progname);
-       printf (_(UT_HLP_VRS), progname, progname);
+                  [-e expect] [-s send] [-t to_sec] [-v]\n", progname);
 }