[monitoring-plugins] check_dig: Fix to work with dig and drill tool

Jan Wagner git at monitoring-plugins.org
Wed Jul 30 15:50:08 CEST 2014

    Module: monitoring-plugins
    Branch: master
    Commit: 8c623b1a432524950050ef6f2d273a87e013dacf
    Author: Alexander Wittig <abgandar at gmail.com>
 Committer: Jan Wagner <waja at cyconet.org>
      Date: Mon Dec 16 13:15:31 2013 +0100
       URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=8c623b1

check_dig: Fix to work with dig and drill tool

FreeBSD starting with version 10 is shipped with ldns instead of bind as
resolver. Consequently the dig tool in base is replaced by drill. While dig can
still be installed as a third party application, it would be nice to make do
with the tools available in the system already.
This patch rearranges the command line used to invoke dig slightly so that it
can be used with both dig and drill (tested with dig 9.8.3-P1 and 9.9.4 as well
as drill 1.6.16). It would be really neat if the configure script could be
changed to automatically pick up drill when dig is not available (or the other
way around), but my autotools-foo is not good enough for that.
This part of the patch is an extended version of the locally maintained patch
currently deployed in the FreeBSD ports tree by Dmitry Sivachenko.


 plugins/check_dig.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plugins/check_dig.c b/plugins/check_dig.c
index d9481f2..8d996b0 100644
--- a/plugins/check_dig.c
+++ b/plugins/check_dig.c
@@ -94,8 +94,8 @@ main (int argc, char **argv)
   timeout_interval_dig = timeout_interval / number_tries + number_tries;
   /* get the command to run */
-  xasprintf (&command_line, "%s @%s -p %d %s -t %s %s %s +tries=%d +time=%d",
-            PATH_TO_DIG, dns_server, server_port, query_address, record_type, dig_args, query_transport, number_tries, timeout_interval_dig);
+  xasprintf (&command_line, "%s %s %s -p %d @%s %s %s +tries=%d +time=%d",
+            PATH_TO_DIG, dig_args, query_transport, server_port, dns_server, query_address, record_type, number_tries, timeout_interval_dig);
   alarm (timeout_interval);
   gettimeofday (&tv, NULL);

More information about the Commits mailing list