It's a bit embarassing that the issue has lasted this long.
Overall the DNS64 module is slightly hacky/prototype-ish.
- respect disablement of QNAME case randomization even after TCP issues
- cache: fix wrong TTL in some cases, typically 32768
- reduce excessive caching of some uncommon failed answers (!1832)
+- dns64: fix CNAME problems again (#797, !1862)
Knot Resolver 5.7.6 (2025-07-17)
/* Copy transitive flags from original query to CNAME followup. */
next->flags.TRACE = query->flags.TRACE;
next->flags.ALWAYS_CUT = query->flags.ALWAYS_CUT;
+ next->flags.DNS64_MARK = query->flags.DNS64_MARK;
/* Original query might have turned minimization off, revert. */
next->flags.NO_MINIMIZE = req->options.NO_MINIMIZE;
qry.uid,
req.pool)
end
+ -- Also mark CNAMEs to be included.
+ if orig.qry_uid == qry.uid and orig.rr.type == kres.type.CNAME then
+ orig.to_wire = true
+ end
end
ffi.C.kr_ranked_rrarray_finalize(req.answ_selected, qry.uid, req.pool)
req:set_extended_error(kres.extended_error.FORGED, "BHD4: DNS64 synthesis")