1
0
mirror of https://gitlab.isc.org/isc-projects/bind9.git synced 2025-04-18 09:44:09 +03:00

Extract and send server cookie with BADVERS retry

A BADVERS response can also include EDNS SERVER COOKIE.  Extract
that from the OPT record and use it when resending the request.
This commit is contained in:
Mark Andrews 2025-03-27 16:37:02 +11:00
parent 0d9cab1555
commit 44140cad3b

View File

@ -4269,6 +4269,12 @@ recv_done(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region,
dighost_comments(l, "BADVERS, retrying with EDNS version %u.",
(unsigned int)newedns);
l->edns = newedns;
/*
* Extract the server cookie so it can be sent in the retry.
*/
if (l->cookie == NULL && l->sendcookie) {
process_opt(l, msg);
}
n = requeue_lookup(l, true);
if (l->trace && l->trace_root) {
n->rdtype = l->qrdtype;