diff -Naur bind-9.3.2b2/bin/dig/host.1 bind-9.3.2b2.oden/bin/dig/host.1 --- bind-9.3.2b2/bin/dig/host.1 2005-10-13 04:33:43.000000000 +0200 +++ bind-9.3.2b2.oden/bin/dig/host.1 2005-10-26 19:08:09.000000000 +0200 @@ -81,6 +81,9 @@ \fB\-v\fR enabled verbose output. .PP +The \fB-F\fR +options is used to force to don't go on the next server when the first one return a \fBSERVFAIL\fR. +.PP List mode is selected by the \fB\-l\fR option. This makes diff -Naur bind-9.3.2b2/bin/dig/dighost.c bind-9.3.2b2.oden/bin/dig/dighost.c --- bind-9.3.2b2/bin/dig/dighost.c 2005-10-14 03:38:40.000000000 +0200 +++ bind-9.3.2b2.oden/bin/dig/dighost.c 2005-10-26 19:06:41.000000000 +0200 @@ -685,7 +685,7 @@ looknew->identify = ISC_FALSE; looknew->identify_previous_line = ISC_FALSE; looknew->ignore = ISC_FALSE; - looknew->servfail_stops = ISC_TRUE; + looknew->servfail_stops = ISC_FALSE; looknew->besteffort = ISC_TRUE; looknew->dnssec = ISC_FALSE; #ifdef DIG_SIGCHASE diff -Naur bind-9.3.2b2/bin/dig/host.c bind-9.3.2b2.oden/bin/dig/host.c --- bind-9.3.2b2/bin/dig/host.c 2005-07-04 05:29:45.000000000 +0200 +++ bind-9.3.2b2.oden/bin/dig/host.c 2005-10-26 19:06:41.000000000 +0200 @@ -125,6 +125,7 @@ " -t specifies the query type\n" " -T enables TCP/IP mode\n" " -v enables verbose output\n" +" -F Don't get next server when the first one got a SERVFAIL\n" " -w specifies to wait forever for a reply\n" " -W specifies how long to wait for a reply\n" " -4 use IPv4 query transport only\n" @@ -538,7 +539,7 @@ lookup = make_empty_lookup(); - while ((c = isc_commandline_parse(argc, argv, "lvwrdt:c:aTCN:R:W:Dni46")) + while ((c = isc_commandline_parse(argc, argv, "Flvwrdt:c:aTCN:R:W:Dni46")) != EOF) { switch (c) { case 'l': @@ -547,6 +548,9 @@ lookup->rdtypeset = ISC_TRUE; fatalexit = 3; break; + case 'F': + lookup->servfail_stops = ISC_TRUE; + break; case 'v': case 'd': short_form = ISC_FALSE; diff -Naur bind-9.3.2b2/bin/dig/nslookup.c bind-9.3.2b2.oden/bin/dig/nslookup.c --- bind-9.3.2b2/bin/dig/nslookup.c 2005-07-12 07:47:42.000000000 +0200 +++ bind-9.3.2b2.oden/bin/dig/nslookup.c 2005-10-26 19:06:41.000000000 +0200 @@ -50,7 +50,7 @@ comments = ISC_TRUE, section_question = ISC_TRUE, section_answer = ISC_TRUE, section_authority = ISC_TRUE, section_additional = ISC_TRUE, recurse = ISC_TRUE, - aaonly = ISC_FALSE; + aaonly = ISC_FALSE, fail = ISC_FALSE; static isc_boolean_t in_use = ISC_FALSE; static char defclass[MXRD] = "IN"; static char deftype[MXRD] = "A"; @@ -629,6 +629,8 @@ usesearch = ISC_TRUE; } else if (strncasecmp(opt, "nosearch", 5) == 0) { usesearch = ISC_FALSE; + } else if (strncasecmp(opt, "fail",6) == 0) { + fail = ISC_TRUE; } else if (strncasecmp(opt, "sil", 3) == 0) { /* deprecation_msg = ISC_FALSE; */ } else { @@ -671,6 +673,7 @@ lookup->rdtype = rdtype; lookup->rdtypeset = ISC_TRUE; } + lookup->servfail_stops = fail; lookup->rdclass = rdclass; lookup->rdclassset = ISC_TRUE; lookup->trace = ISC_FALSE;