+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
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;
debug("main parsing %s", rv[0]);
if (strncmp(rv[0], "%", 1) == 0)
break;
- if (strncmp(rv[0], "@", 1) == 0) {
- addresscount = getaddresses(lookup, &rv[0][1], NULL);
+ if (rv[0][0] == '@') {
+
+ 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);