Unbound 1.19.2 on Ubuntu 24.04.1 LTS, by not considering cached
failures when trying to reply with expired data.
qstate->serve_expired_data->get_cached_answer));
msg = (*qstate->serve_expired_data->get_cached_answer)(qstate,
lookup_qinfo, &is_expired);
- if(!msg)
+ if(!msg || (FLAGS_GET_RCODE(msg->rep->flags) != LDNS_RCODE_NOERROR
+ && FLAGS_GET_RCODE(msg->rep->flags) != LDNS_RCODE_NXDOMAIN
+ && FLAGS_GET_RCODE(msg->rep->flags) != LDNS_RCODE_YXDOMAIN)) {
+ /* We don't care for cached failure answers at this
+ * stage. */
return;
+ }
/* Reset these in case we pass a second time from here. */
encode_rep = msg->rep;
memset(&actinfo, 0, sizeof(actinfo));