about summary refs log tree commit diff
path: root/resolv/res_send.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-04-13 13:22:51 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-04-13 13:22:51 +0200
commit44500cbb25bc6e76723304b9ff39f875c04309f9 (patch)
tree924aa24c754a523da4c0f381f9f269ddc5c327c9 /resolv/res_send.c
parente14a27723cc3a154d67f3f26e719d08c0ba9ad25 (diff)
downloadglibc-44500cbb25bc6e76723304b9ff39f875c04309f9.tar.gz
glibc-44500cbb25bc6e76723304b9ff39f875c04309f9.tar.xz
glibc-44500cbb25bc6e76723304b9ff39f875c04309f9.zip
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.
Diffstat (limited to 'resolv/res_send.c')
-rw-r--r--resolv/res_send.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 995e1be730..ffb9a6af7b 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -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,