diff -Naur bind-9.4.0rc1/bin/dig/dighost.c bind-9.4.0rc1.oden/bin/dig/dighost.c --- bind-9.4.0rc1/bin/dig/dighost.c 2006-12-07 07:08:02.000000000 +0100 +++ bind-9.4.0rc1.oden/bin/dig/dighost.c 2007-01-10 17:19:02.000000000 +0100 @@ -718,7 +718,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.4.0rc1/bin/dig/host.1 bind-9.4.0rc1.oden/bin/dig/host.1 --- bind-9.4.0rc1/bin/dig/host.1 2006-06-29 15:03:01.000000000 +0200 +++ bind-9.4.0rc1.oden/bin/dig/host.1 2007-01-10 17:19:02.000000000 +0100 @@ -84,6 +84,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.4.0rc1/bin/dig/host.c bind-9.4.0rc1.oden/bin/dig/host.c --- bind-9.4.0rc1/bin/dig/host.c 2006-05-23 06:40:42.000000000 +0200 +++ bind-9.4.0rc1.oden/bin/dig/host.c 2007-01-10 17:21:30.000000000 +0100 @@ -130,6 +130,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" @@ -585,6 +586,7 @@ case 'c': break; case 'd': break; case 'i': break; + case 'F': break; case 'l': break; case 'n': break; case 'r': break; @@ -633,6 +635,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.4.0rc1/bin/dig/nslookup.c bind-9.4.0rc1.oden/bin/dig/nslookup.c --- bind-9.4.0rc1/bin/dig/nslookup.c 2006-12-07 07:08:02.000000000 +0100 +++ bind-9.4.0rc1.oden/bin/dig/nslookup.c 2007-01-10 17:24:07.000000000 +0100 @@ -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, nofail = ISC_TRUE; + aaonly = ISC_FALSE, nofail = ISC_TRUE, fail = ISC_FALSE; static isc_boolean_t in_use = ISC_FALSE; static char defclass[MXRD] = "IN"; @@ -632,6 +632,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 if (strncasecmp(opt, "fail", 3) == 0) { @@ -678,6 +680,7 @@ lookup->rdtype = rdtype; lookup->rdtypeset = ISC_TRUE; } + lookup->servfail_stops = fail; lookup->rdclass = rdclass; lookup->rdclassset = ISC_TRUE; lookup->trace = ISC_FALSE;