X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Frouters%2Fdnslookup.c;h=2a2dd4661fed14c521d42044242c499f6afad45a;hb=78598e6a6a8cda8d1b50685188682749929df614;hp=6ab08d7baa0a043aaab9e1576460b2ac14dc22cd;hpb=66387a737208e277990b0cbfe58db3db419f34b2;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/routers/dnslookup.c b/src/src/routers/dnslookup.c index 6ab08d7ba..2a2dd4661 100644 --- a/src/src/routers/dnslookup.c +++ b/src/src/routers/dnslookup.c @@ -183,7 +183,7 @@ DEBUG(D_route) if (ob->check_srv) { if ( !(srv_service = expand_string(ob->check_srv)) - && !expand_string_forcedfail) + && !f.expand_string_forcedfail) { addr->message = string_sprintf("%s router: failed to expand \"%s\": %s", rblock->name, ob->check_srv, expand_string_message); @@ -266,12 +266,12 @@ for (;;) if ( ob->ipv4_only && expand_check_condition(ob->ipv4_only, rblock->name, US"router")) flags = flags & ~HOST_FIND_BY_AAAA | HOST_FIND_IPV4_ONLY; - else if (search_find_defer) + else if (f.search_find_defer) return DEFER; if ( ob->ipv4_prefer && expand_check_condition(ob->ipv4_prefer, rblock->name, US"router")) flags |= HOST_FIND_IPV4_FIRST; - else if (search_find_defer) + else if (f.search_find_defer) return DEFER; /* Set up the rest of the initial host item. Others may get chained on if @@ -289,7 +289,7 @@ for (;;) /* Unfortunately, we cannot set the mx_only option in advance, because the DNS lookup may extend an unqualified name. Therefore, we must do the test - stoubsequently. We use the same logic as that for widen_domains above to avoid + subsequently. We use the same logic as that for widen_domains above to avoid requesting a header rewrite that cannot work. */ if (verify != v_sender || !ob->rewrite_headers || addr->parent) @@ -300,7 +300,9 @@ for (;;) rc = host_find_bydns(&h, CUS rblock->ignore_target_hosts, flags, srv_service, ob->srv_fail_domains, ob->mx_fail_domains, - &rblock->dnssec, &fully_qualified_name, &removed); + &rblock->dnssec, + &fully_qualified_name, &removed); + if (removed) setflag(addr, af_local_host_removed); /* If host found with only address records, test for the domain's being in @@ -397,7 +399,7 @@ for (;;) /* If there's a syntax error, do not continue with any widening, and note the error. */ - if (host_find_failed_syntax) + if (f.host_find_failed_syntax) { addr->message = string_sprintf("mail domain \"%s\" is syntactically " "invalid", h.name); @@ -457,7 +459,7 @@ else if (ob->check_secondary_mx && !testflag(addr, af_local_host_removed)) rc = rf_get_errors_address(addr, rblock, verify, &addr->prop.errors_address); if (rc != OK) return rc; -/* Set up the additional and removeable headers for this address. */ +/* Set up the additional and removable headers for this address. */ rc = rf_get_munge_headers(addr, rblock, &addr->prop.extra_headers, &addr->prop.remove_headers); @@ -466,7 +468,7 @@ if (rc != OK) return rc; /* Get store in which to preserve the original host item, chained on to the address. */ -addr->host_list = store_get(sizeof(host_item)); +addr->host_list = store_get(sizeof(host_item), FALSE); addr->host_list[0] = h; /* Fill in the transport and queue the address for delivery. */