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");
}