diff --git a/plugins/check_dns.c b/plugins/check_dns.c
index f9cf28890ed2855548cac095371f1438953e2cc4..19649f50045bbfdde8c1a8f27239bc4b2dea11b6 100644 (file)
--- a/plugins/check_dns.c
+++ b/plugins/check_dns.c
#include "popen.h"
#include "utils.h"
-#define PROGNAME "check_dns"
+const char *progname = "check_dns";
#define REVISION "$Revision$"
#define COPYRIGHT "2000-2002"
}
/* get the command to run */
- sprintf (&command_line, "%s %s %s", NSLOOKUP_COMMAND, query_address, dns_server);
+ asprintf (&command_line, "%s %s %s", NSLOOKUP_COMMAND, query_address, dns_server);
alarm (timeout_interval);
time (&start_time);
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;
}
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;
}
c = optind;
- if (query_address[0] == 0) {
- if (is_host (argv[c]) == FALSE) {
+ if (strlen(query_address)==0 && c<argc) {
+ if (is_host(argv[c])==FALSE) {
printf ("Invalid name/address: %s\n\n", argv[c]);
return ERROR;
}
- if (strlen (argv[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<argc) {
+ if (is_host(argv[c]) == FALSE) {
printf ("Invalid name/address: %s\n\n", argv[c]);
return ERROR;
}
- if (strlen (argv[c]) >= ADDRESS_LENGTH)
+ if (strlen(argv[c]) >= ADDRESS_LENGTH)
terminate (STATE_UNKNOWN, "Input buffer overflow\n");
strcpy (dns_server, argv[c++]);
}
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