3919. [bug] dig: continue to next line if a address lookup fails

in batch mode. [RT #36755]

(cherry picked from commit adb503242bc427972afb9bf012e8e2af30852b5a)
This commit is contained in:
Mark Andrews 2014-08-22 15:32:47 +10:00
parent d426add646
commit 3aa998eeb7
2 changed files with 23 additions and 2 deletions

View file

@ -1,3 +1,6 @@
3919. [bug] dig: continue to next line if a address lookup fails
in batch mode. [RT #36755]
3918. [doc] Update check-spf documentation. [RT #36910]
3917. [bug] dig, nslookup and host now continue on names that are

View file

@ -1605,7 +1605,8 @@ preparse_args(int argc, char **argv) {
static void
parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
int argc, char **argv) {
int argc, char **argv)
{
isc_result_t result;
isc_textregion_t tr;
isc_boolean_t firstarg = ISC_TRUE;
@ -1699,7 +1700,24 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (strncmp(rv[0], "%", 1) == 0)
break;
if (rv[0][0] == '@') {
addresscount = getaddresses(lookup, &rv[0][1], NULL);
if (is_batchfile && !config_only) {
addresscount = getaddresses(lookup, &rv[0][1],
&result);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "couldn't get address "
"for '%s': %s: skipping "
"lookup\n", &rv[0][1],
isc_result_totext(result));
if (ISC_LINK_LINKED(lookup, link))
ISC_LIST_DEQUEUE(lookup_list,
lookup, link);
destroy_lookup(lookup);
return;
}
} else
addresscount = getaddresses(lookup, &rv[0][1],
NULL);
} else if (rv[0][0] == '+') {
plus_option(&rv[0][1], is_batchfile,
lookup);