summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_dns.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/plugins/check_dns.c b/plugins/check_dns.c
index fd798a60..2503293b 100644
--- a/plugins/check_dns.c
+++ b/plugins/check_dns.c
@@ -154,6 +154,7 @@ main (int argc, char **argv)
154 result = error_scan (input_buffer); 154 result = error_scan (input_buffer);
155 if (result != STATE_OK) { 155 if (result != STATE_OK) {
156 output = strscpy (output, 1 + index (input_buffer, ':')); 156 output = strscpy (output, 1 + index (input_buffer, ':'));
157 strip (output);
157 break; 158 break;
158 } 159 }
159 160
@@ -164,6 +165,7 @@ main (int argc, char **argv)
164 if (error_scan (input_buffer) != STATE_OK) { 165 if (error_scan (input_buffer) != STATE_OK) {
165 result = max_state (result, error_scan (input_buffer)); 166 result = max_state (result, error_scan (input_buffer));
166 output = strscpy (output, 1 + index (input_buffer, ':')); 167 output = strscpy (output, 1 + index (input_buffer, ':'));
168 strip (output);
167 } 169 }
168 } 170 }
169 171
@@ -191,7 +193,7 @@ main (int argc, char **argv)
191 else 193 else
192 multi_address = TRUE; 194 multi_address = TRUE;
193 195
194 printf ("DNS ok - %-7.3f seconds response time, address%s %s|time=%-7.3f\n", 196 printf ("DNS ok - %-5.3f seconds response time, address%s %s|time=%-5.3f\n",
195 elapsed_time, (multi_address==TRUE ? "es are" : " is"), address, elapsed_time); 197 elapsed_time, (multi_address==TRUE ? "es are" : " is"), address, elapsed_time);
196 } 198 }
197 else if (result == STATE_WARNING) 199 else if (result == STATE_WARNING)
@@ -315,16 +317,13 @@ process_arguments (int argc, char **argv)
315 timeout_interval = atoi (optarg); 317 timeout_interval = atoi (optarg);
316 break; 318 break;
317 case 'H': /* hostname */ 319 case 'H': /* hostname */
318 if (is_host (optarg) == FALSE) {
319 printf ("Invalid host name/address\n\n");
320 print_usage ();
321 exit (STATE_UNKNOWN);
322 }
323 if (strlen (optarg) >= ADDRESS_LENGTH) 320 if (strlen (optarg) >= ADDRESS_LENGTH)
324 terminate (STATE_UNKNOWN, "Input buffer overflow\n"); 321 terminate (STATE_UNKNOWN, "Input buffer overflow\n");
325 strcpy (query_address, optarg); 322 strcpy (query_address, optarg);
326 break; 323 break;
327 case 's': /* server name */ 324 case 's': /* server name */
325 /* TODO: this is_host check is probably unnecessary. Better to confirm nslookup
326 response matches */
328 if (is_host (optarg) == FALSE) { 327 if (is_host (optarg) == FALSE) {
329 printf ("Invalid server name/address\n\n"); 328 printf ("Invalid server name/address\n\n");
330 print_usage (); 329 print_usage ();
@@ -335,6 +334,7 @@ process_arguments (int argc, char **argv)
335 strcpy (dns_server, optarg); 334 strcpy (dns_server, optarg);
336 break; 335 break;
337 case 'r': /* reverse server name */ 336 case 'r': /* reverse server name */
337 /* TODO: Is this is_host necessary? */
338 if (is_host (optarg) == FALSE) { 338 if (is_host (optarg) == FALSE) {
339 printf ("Invalid host name/address\n\n"); 339 printf ("Invalid host name/address\n\n");
340 print_usage (); 340 print_usage ();
@@ -345,11 +345,6 @@ process_arguments (int argc, char **argv)
345 strcpy (ptr_server, optarg); 345 strcpy (ptr_server, optarg);
346 break; 346 break;
347 case 'a': /* expected address */ 347 case 'a': /* expected address */
348 if (is_addr (optarg) == FALSE) {
349 printf ("Invalid expected address\n\n");
350 print_usage ();
351 exit (STATE_UNKNOWN);
352 }
353 if (strlen (optarg) >= ADDRESS_LENGTH) 348 if (strlen (optarg) >= ADDRESS_LENGTH)
354 terminate (STATE_UNKNOWN, "Input buffer overflow\n"); 349 terminate (STATE_UNKNOWN, "Input buffer overflow\n");
355 strcpy (expected_address, optarg); 350 strcpy (expected_address, optarg);
@@ -360,16 +355,13 @@ process_arguments (int argc, char **argv)
360 355
361 c = optind; 356 c = optind;
362 if (strlen(query_address)==0 && c<argc) { 357 if (strlen(query_address)==0 && c<argc) {
363 if (is_host(argv[c])==FALSE) {
364 printf ("Invalid name/address: %s\n\n", argv[c]);
365 return ERROR;
366 }
367 if (strlen(argv[c])>=ADDRESS_LENGTH) 358 if (strlen(argv[c])>=ADDRESS_LENGTH)
368 terminate (STATE_UNKNOWN, "Input buffer overflow\n"); 359 terminate (STATE_UNKNOWN, "Input buffer overflow\n");
369 strcpy (query_address, argv[c++]); 360 strcpy (query_address, argv[c++]);
370 } 361 }
371 362
372 if (strlen(dns_server)==0 && c<argc) { 363 if (strlen(dns_server)==0 && c<argc) {
364 /* TODO: See -s option */
373 if (is_host(argv[c]) == FALSE) { 365 if (is_host(argv[c]) == FALSE) {
374 printf ("Invalid name/address: %s\n\n", argv[c]); 366 printf ("Invalid name/address: %s\n\n", argv[c]);
375 return ERROR; 367 return ERROR;