X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_dig.c;h=45189b000d222ce7c4ca0a7186103bafaabaddfa;hb=25d1ee331dbe4977a4a1a756c67f32bd51d9b070;hp=286efbebe5a7b33e74c2a834f1262b75fb95cb00;hpb=3d4ca92a6b6a99b6c039a5daa2742bf29380dec4;p=nagiosplug.git diff --git a/plugins/check_dig.c b/plugins/check_dig.c index 286efbe..45189b0 100644 --- a/plugins/check_dig.c +++ b/plugins/check_dig.c @@ -3,9 +3,7 @@ * Nagios check_dig plugin * * License: GPL -* Copyright (c) 2002-2007 Nagios Plugins Development Team -* -* Last Modified: $Date$ +* Copyright (c) 2002-2008 Nagios Plugins Development Team * * Description: * @@ -25,7 +23,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . * -* $Id$ * *****************************************************************************/ @@ -36,8 +33,7 @@ * because on some architectures those strings are in non-writable memory */ const char *progname = "check_dig"; -const char *revision = "$Revision$"; -const char *copyright = "2002-2007"; +const char *copyright = "2002-2008"; const char *email = "nagiosplug-devel@lists.sourceforge.net"; #include "common.h" @@ -84,6 +80,9 @@ main (int argc, char **argv) if (signal (SIGALRM, popen_timeout_alarm_handler) == SIG_ERR) usage_va(_("Cannot catch SIGALRM")); + /* Parse extra opts if any */ + argv=np_extra_opts (&argc, argv, progname); + if (process_arguments (argc, argv) == ERROR) usage_va(_("Could not parse arguments")); @@ -140,8 +139,10 @@ main (int argc, char **argv) } } - if (result == STATE_UNKNOWN) + if (result == STATE_UNKNOWN) { msg = (char *)_("No ANSWER SECTION found"); + result = STATE_CRITICAL; + } /* If we get anything on STDERR, at least set warning */ if(chld_err.buflen > 0) { @@ -215,7 +216,7 @@ process_arguments (int argc, char **argv) print_help (); exit (STATE_OK); case 'V': /* version */ - print_revision (progname, revision); + print_revision (progname, NP_VERSION); exit (STATE_OK); case 'H': /* hostname */ host_or_die(optarg); @@ -292,7 +293,10 @@ process_arguments (int argc, char **argv) int validate_arguments (void) { - return OK; + if (query_address != NULL) + return OK; + else + return ERROR; } @@ -304,7 +308,7 @@ print_help (void) asprintf (&myport, "%d", DEFAULT_PORT); - print_revision (progname, revision); + print_revision (progname, NP_VERSION); printf ("Copyright (c) 2000 Karl DeBisschop \n"); printf (COPYRIGHT, copyright, email); @@ -315,25 +319,37 @@ print_help (void) print_usage (); - printf (_(UT_HELP_VRSN)); + printf (UT_HELP_VRSN); - printf (_(UT_HOST_PORT), 'p', myport); + printf (UT_EXTRA_OPTS); - printf (" %s\n","-l, --lookup=STRING"); - printf (" %s\n",_("machine name to lookup")); + printf (UT_HOST_PORT, 'p', myport); + + printf (" %s\n","-l, --query_address=STRING"); + printf (" %s\n",_("Machine name to lookup")); printf (" %s\n","-T, --record_type=STRING"); - printf (" %s\n",_("record type to lookup (default: A)")); + printf (" %s\n",_("Record type to lookup (default: A)")); printf (" %s\n","-a, --expected_address=STRING"); - printf (" %s\n",_("an address expected to be in the answer section.if not set, uses whatever was in -l")); + printf (" %s\n",_("An address expected to be in the answer section. If not set, uses whatever")); + printf (" %s\n",_("was in -l")); printf (" %s\n","-A, --dig-arguments=STRING"); - printf (" %s\n",_("pass STRING as argument(s) to dig")); - printf (_(UT_WARN_CRIT)); - printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); - printf (_(UT_VERBOSE)); + printf (" %s\n",_("Pass STRING as argument(s) to dig")); + printf (UT_WARN_CRIT); + printf (UT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT); + printf (UT_VERBOSE); + + printf ("\n"); printf ("%s\n", _("Examples:")); printf (" %s\n", "check_dig -H DNSSERVER -l www.example.com -A \"+tcp\""); printf (" %s\n", "This will send a tcp query to DNSSERVER for www.example.com"); - printf (_(UT_SUPPORT)); + +#ifdef NP_EXTRA_OPTS + printf ("\n"); + printf ("%s\n", _("Notes:")); + printf (UT_EXTRA_OPTS_NOTES); +#endif + + printf (UT_SUPPORT); } @@ -342,7 +358,7 @@ void print_usage (void) { printf (_("Usage:")); - printf ("%s -H host -l lookup [-p ] [-T ]", progname); - printf (" [-w ] [-c ] [-t ]"); - printf (" [-a ] [-v]\n"); + printf ("%s -l [-H ] [-p ]\n", progname); + printf (" [-T ] [-w ] [-c ]\n"); + printf (" [-t ] [-a ] [-v]\n"); }