Two exits from fctx_try() landed at DNS_R_SERVFAIL without attaching
DNS_EDE_NOREACHABLEAUTH: when fctx_getaddresses() returned a non-success,
non-wait status, and when every candidate addrinfo was unusable
(over-quota or filtered) after a restart.
With the new TCP fallback actually firing, those paths are now reached
by serve-stale and similar scenarios in which the auth is unreachable.
Attach the EDE so SERVFAIL responses keep carrying the same operator
signal that the timeout-based exit paths already produce.
Co-authored-by: Evan Hunt <each@isc.org>
Assisted-by: Claude:claude-opus-4-7
FCTX_ATTR_SET(fctx, FCTX_ATTR_ADDRWAIT);
return;
default:
+ dns_ede_add(&fctx->edectx, DNS_EDE_NOREACHABLEAUTH,
+ NULL);
goto done;
}
*/
if (addrinfo == NULL) {
result = DNS_R_SERVFAIL;
+ dns_ede_add(&fctx->edectx, DNS_EDE_NOREACHABLEAUTH,
+ NULL);
goto done;
}
}