diff options
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | plugins/check_dig.c | 16 | 
2 files changed, 14 insertions, 3 deletions
| @@ -15,6 +15,7 @@ This file documents the major additions and syntax changes between releases. | |||
| 15 | check_procs now accepts --ereg-argument-array for a regular expression match to the argument array | 15 | check_procs now accepts --ereg-argument-array for a regular expression match to the argument array | 
| 16 | Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems | 16 | Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems | 
| 17 | If applicable, Gettext linked dynamically instead of statically | 17 | If applicable, Gettext linked dynamically instead of statically | 
| 18 | check_dig can now pass arguments dig by using -A/--dig-arguments (#1874041/#1889453) | ||
| 18 | 19 | ||
| 19 | 1.4.11 13th December 2007 | 20 | 1.4.11 13th December 2007 | 
| 20 | Fixed check_http regression in 1.4.10 where following redirects to | 21 | Fixed check_http regression in 1.4.10 where following redirects to | 
| diff --git a/plugins/check_dig.c b/plugins/check_dig.c index 37a9a467..286efbeb 100644 --- a/plugins/check_dig.c +++ b/plugins/check_dig.c | |||
| @@ -57,6 +57,7 @@ char *query_address = NULL; | |||
| 57 | char *record_type = "A"; | 57 | char *record_type = "A"; | 
| 58 | char *expected_address = NULL; | 58 | char *expected_address = NULL; | 
| 59 | char *dns_server = NULL; | 59 | char *dns_server = NULL; | 
| 60 | char *dig_args = ""; | ||
| 60 | int verbose = FALSE; | 61 | int verbose = FALSE; | 
| 61 | int server_port = DEFAULT_PORT; | 62 | int server_port = DEFAULT_PORT; | 
| 62 | double warning_interval = UNDEFINED; | 63 | double warning_interval = UNDEFINED; | 
| @@ -87,8 +88,8 @@ main (int argc, char **argv) | |||
| 87 | usage_va(_("Could not parse arguments")); | 88 | usage_va(_("Could not parse arguments")); | 
| 88 | 89 | ||
| 89 | /* get the command to run */ | 90 | /* get the command to run */ | 
| 90 | asprintf (&command_line, "%s @%s -p %d %s -t %s", | 91 | asprintf (&command_line, "%s @%s -p %d %s -t %s %s", | 
| 91 | PATH_TO_DIG, dns_server, server_port, query_address, record_type); | 92 | PATH_TO_DIG, dns_server, server_port, query_address, record_type, dig_args); | 
| 92 | 93 | ||
| 93 | alarm (timeout_interval); | 94 | alarm (timeout_interval); | 
| 94 | gettimeofday (&tv, NULL); | 95 | gettimeofday (&tv, NULL); | 
| @@ -190,6 +191,7 @@ process_arguments (int argc, char **argv) | |||
| 190 | {"warning", required_argument, 0, 'w'}, | 191 | {"warning", required_argument, 0, 'w'}, | 
| 191 | {"critical", required_argument, 0, 'c'}, | 192 | {"critical", required_argument, 0, 'c'}, | 
| 192 | {"timeout", required_argument, 0, 't'}, | 193 | {"timeout", required_argument, 0, 't'}, | 
| 194 | {"dig-arguments", required_argument, 0, 'A'}, | ||
| 193 | {"verbose", no_argument, 0, 'v'}, | 195 | {"verbose", no_argument, 0, 'v'}, | 
| 194 | {"version", no_argument, 0, 'V'}, | 196 | {"version", no_argument, 0, 'V'}, | 
| 195 | {"help", no_argument, 0, 'h'}, | 197 | {"help", no_argument, 0, 'h'}, | 
| @@ -203,7 +205,7 @@ process_arguments (int argc, char **argv) | |||
| 203 | return ERROR; | 205 | return ERROR; | 
| 204 | 206 | ||
| 205 | while (1) { | 207 | while (1) { | 
| 206 | c = getopt_long (argc, argv, "hVvt:l:H:w:c:T:p:a:", longopts, &option); | 208 | c = getopt_long (argc, argv, "hVvt:l:H:w:c:T:p:a:A:", longopts, &option); | 
| 207 | 209 | ||
| 208 | if (c == -1 || c == EOF) | 210 | if (c == -1 || c == EOF) | 
| 209 | break; | 211 | break; | 
| @@ -254,6 +256,9 @@ process_arguments (int argc, char **argv) | |||
| 254 | usage_va(_("Timeout interval must be a positive integer - %s"), optarg); | 256 | usage_va(_("Timeout interval must be a positive integer - %s"), optarg); | 
| 255 | } | 257 | } | 
| 256 | break; | 258 | break; | 
| 259 | case 'A': /* dig arguments */ | ||
| 260 | dig_args = strdup(optarg); | ||
| 261 | break; | ||
| 257 | case 'v': /* verbose */ | 262 | case 'v': /* verbose */ | 
| 258 | verbose = TRUE; | 263 | verbose = TRUE; | 
| 259 | break; | 264 | break; | 
| @@ -320,9 +325,14 @@ print_help (void) | |||
| 320 | printf (" %s\n",_("record type to lookup (default: A)")); | 325 | printf (" %s\n",_("record type to lookup (default: A)")); | 
| 321 | printf (" %s\n","-a, --expected_address=STRING"); | 326 | printf (" %s\n","-a, --expected_address=STRING"); | 
| 322 | printf (" %s\n",_("an address expected to be in the answer section.if not set, uses whatever was in -l")); | 327 | printf (" %s\n",_("an address expected to be in the answer section.if not set, uses whatever was in -l")); | 
| 328 | printf (" %s\n","-A, --dig-arguments=STRING"); | ||
| 329 | printf (" %s\n",_("pass STRING as argument(s) to dig")); | ||
| 323 | printf (_(UT_WARN_CRIT)); | 330 | printf (_(UT_WARN_CRIT)); | 
| 324 | printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); | 331 | printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); | 
| 325 | printf (_(UT_VERBOSE)); | 332 | printf (_(UT_VERBOSE)); | 
| 333 | printf ("%s\n", _("Examples:")); | ||
| 334 | printf (" %s\n", "check_dig -H DNSSERVER -l www.example.com -A \"+tcp\""); | ||
| 335 | printf (" %s\n", "This will send a tcp query to DNSSERVER for www.example.com"); | ||
| 326 | printf (_(UT_SUPPORT)); | 336 | printf (_(UT_SUPPORT)); | 
| 327 | } | 337 | } | 
| 328 | 338 | ||
