X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_dns.c;h=19649f50045bbfdde8c1a8f27239bc4b2dea11b6;hb=782bc207d5697f539beb1fd3359ce81d22e26a54;hp=714ecab077530ad01e748112cc6d36a213631a35;hpb=2a68978c564e53cddc90882ee7776a43839dfcff;p=nagiosplug.git diff --git a/plugins/check_dns.c b/plugins/check_dns.c index 714ecab..19649f5 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c @@ -48,7 +48,7 @@ #include "popen.h" #include "utils.h" -#define PROGNAME "check_dns" +const char *progname = "check_dns"; #define REVISION "$Revision$" #define COPYRIGHT "2000-2002" @@ -132,7 +132,11 @@ main (int argc, char **argv) printf ("%s\n", input_buffer); if ((temp_buffer = index (input_buffer, ':'))) { - address = strscpy (address, temp_buffer + 2); + temp_buffer++; + /* Strip leading spaces */ + for (; *temp_buffer != '\0' && *temp_buffer == ' '; temp_buffer++) + /* NOOP */; + address = strscpy (address, temp_buffer); strip (address); result = STATE_OK; } @@ -292,14 +296,14 @@ process_arguments (int argc, char **argv) switch (c) { case '?': /* args not parsable */ - printf ("%s: Unknown argument: %s\n\n", PROGNAME, optarg); + printf ("%s: Unknown argument: %s\n\n", progname, optarg); print_usage (); exit (STATE_UNKNOWN); case 'h': /* help */ print_help (); exit (STATE_OK); case 'V': /* version */ - print_revision (PROGNAME, REVISION); + print_revision (progname, REVISION); exit (STATE_OK); case 'v': /* version */ verbose = TRUE; @@ -352,22 +356,22 @@ process_arguments (int argc, char **argv) } c = optind; - if (query_address[0] == 0) { - if (is_host (argv[c]) == FALSE) { + if (strlen(query_address)==0 && c= ADDRESS_LENGTH) + if (strlen(argv[c])>=ADDRESS_LENGTH) terminate (STATE_UNKNOWN, "Input buffer overflow\n"); strcpy (query_address, argv[c++]); } - if (dns_server[0] == 0) { - if (is_host (argv[c]) == FALSE) { + if (strlen(dns_server)==0 && c= ADDRESS_LENGTH) + if (strlen(argv[c]) >= ADDRESS_LENGTH) terminate (STATE_UNKNOWN, "Input buffer overflow\n"); strcpy (dns_server, argv[c++]); } @@ -388,13 +392,13 @@ void print_usage (void) { printf ("Usage: %s -H host [-s server] [-a expected-address] [-t timeout]\n" " %s --help\n" - " %s --version\n", PROGNAME, PROGNAME, PROGNAME); + " %s --version\n", progname, progname, progname); } void print_help (void) { - print_revision (PROGNAME, REVISION); + print_revision (progname, REVISION); printf ("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n\n"); print_usage (); printf