mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
resolv: Remove EDNS fallback [BZ #21369]
EDNS is disabled by default (so there is interoperability issue), and the fallback code is problematic because it prevents an application from obtaining DNSSEC data after a FORMERR response.
This commit is contained in:
@@ -1321,26 +1321,6 @@ send_dg(res_state statp,
|
||||
? *thisanssizp : *thisresplenp);
|
||||
goto wait;
|
||||
}
|
||||
#ifdef RES_USE_EDNS0
|
||||
if (anhp->rcode == FORMERR
|
||||
&& (statp->options & RES_USE_EDNS0) != 0U) {
|
||||
/*
|
||||
* Do not retry if the server does not understand
|
||||
* EDNS0. The case has to be captured here, as
|
||||
* FORMERR packet do not carry query section, hence
|
||||
* res_queriesmatch() returns 0.
|
||||
*/
|
||||
DprintQ(statp->options & RES_DEBUG,
|
||||
(stdout,
|
||||
"server rejected query with EDNS0:\n"),
|
||||
*thisansp,
|
||||
(*thisresplenp > *thisanssizp)
|
||||
? *thisanssizp : *thisresplenp);
|
||||
/* record the error */
|
||||
statp->_flags |= RES_F_EDNS0ERR;
|
||||
return close_and_return_error (statp, resplen2);
|
||||
}
|
||||
#endif
|
||||
if (!(statp->options & RES_INSECURE2)
|
||||
&& (recvresp1 || !res_queriesmatch(buf, buf + buflen,
|
||||
*thisansp,
|
||||
|
Reference in New Issue
Block a user