git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DNS: return explicit error code to caller on dnssec failure, for better logging
[exim.git]
/
src
/
src
/
transports
/
smtp.c
diff --git
a/src/src/transports/smtp.c
b/src/src/transports/smtp.c
index cbd09c00c3069739ef85ddec2cedf156b052ad50..02d1e671edfa2a376ca242498a189892e04c8aae 100644
(file)
--- a/
src/src/transports/smtp.c
+++ b/
src/src/transports/smtp.c
@@
-3718,7
+3718,7
@@
for (cutoff_retry = 0;
commonly points to a configuration error, but the best action is still
to carry on for the next host. */
commonly points to a configuration error, but the best action is still
to carry on for the next host. */
- if (rc == HOST_FIND_AGAIN || rc == HOST_FIND_FAILED)
+ if (rc == HOST_FIND_AGAIN || rc == HOST_FIND_
SECURITY || rc == HOST_FIND_
FAILED)
{
retry_add_item(addrlist, string_sprintf("R:%s", host->name), 0);
expired = FALSE;
{
retry_add_item(addrlist, string_sprintf("R:%s", host->name), 0);
expired = FALSE;
@@
-3731,8
+3731,11
@@
for (cutoff_retry = 0;
{
if (addr->transport_return != DEFER) continue;
addr->basic_errno = ERRNO_UNKNOWNHOST;
{
if (addr->transport_return != DEFER) continue;
addr->basic_errno = ERRNO_UNKNOWNHOST;
- addr->message =
- string_sprintf("failed to lookup IP address for %s", host->name);
+ addr->message = string_sprintf(
+ rc == HOST_FIND_SECURITY
+ ? "lookup of IP address for %s was insecure"
+ : "failed to lookup IP address for %s",
+ host->name);
}
continue;
}
}
continue;
}
@@
-3871,6
+3874,7
@@
for (cutoff_retry = 0;
{
case hwhy_retry: hosts_retry++; break;
case hwhy_failed: hosts_fail++; break;
{
case hwhy_retry: hosts_retry++; break;
case hwhy_failed: hosts_fail++; break;
+ case hwhy_insecure:
case hwhy_deferred: hosts_defer++; break;
}
case hwhy_deferred: hosts_defer++; break;
}