about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-04-28 11:43:41 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-04-28 12:53:51 +0200
commit18b36f5dcfcb75096f804d2cf6b74bc6f27f9ad1 (patch)
treef6d2ba2e527dbb12b8add29c820a5c0f1837e158
parent74a69831556c91ef9c410a38f1e2bd37c305322f (diff)
downloadglibc-18b36f5dcfcb75096f804d2cf6b74bc6f27f9ad1.tar.gz
glibc-18b36f5dcfcb75096f804d2cf6b74bc6f27f9ad1.tar.xz
glibc-18b36f5dcfcb75096f804d2cf6b74bc6f27f9ad1.zip
resolv: Remove RFC1535 conditionals
-rw-r--r--ChangeLog8
-rw-r--r--resolv/README4
-rw-r--r--resolv/res_init.c27
3 files changed, 8 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index 47ef7a0901..26147f54e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2016-04-28  Florian Weimer  <fweimer@redhat.com>
 
+	* resolv/res_init.c (RFC1535): Do not define.  Remove
+	RFC1535 preprocessor conditionals.
+	* resolv/README: Update.  Do not claim strict RFC 1535 compliance
+	because there configuration options which make the resolver
+	behavior different.
+
+2016-04-28  Florian Weimer  <fweimer@redhat.com>
+
 	* resolv/gethnamaddr.c (RESOLVSORT): Do not define.  Remove
 	RESOLVSORT preprocessor conditionals.
 	* resolv/nss_dns/dns-host.c: Likewise.
diff --git a/resolv/README b/resolv/README
index 1296e1c5bd..17aa631c92 100644
--- a/resolv/README
+++ b/resolv/README
@@ -18,10 +18,6 @@ Differences
 The resolver in the GNU C Library still differs from what's in BIND
 8.2.3-T5B:
 
-* The resolver in glibc strictly adheres to the recommendations in RFC
-  1535.  BIND 8.2.3-T5B seems to relax those rules a bit (see the code
-  that's wrapped in `#ifndef RFC1535').
-
 * The RES_DEBUG option (`options debug' in /etc/resolv.conf) has been
   disabled.
 
diff --git a/resolv/res_init.c b/resolv/res_init.c
index da1f79e7c0..407e6091e7 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -85,7 +85,6 @@
 #include <not-cancel.h>
 
 /* Options.  Should all be left alone. */
-#define RFC1535
 /* #undef DEBUG */
 
 static void res_setoptions (res_state, const char *, const char *)
@@ -133,9 +132,6 @@ __res_vinit(res_state statp, int preinit) {
 	int havesearch = 0;
 	int nsort = 0;
 	char *net;
-#ifndef RFC1535
-	int dots;
-#endif
 	statp->_u._ext.initstamp = __res_initstamp;
 
 	if (!preinit) {
@@ -394,29 +390,6 @@ __res_vinit(res_state statp, int preinit) {
 		*pp++ = statp->defdname;
 		*pp = NULL;
 
-#ifndef RFC1535
-		dots = 0;
-		for (cp = statp->defdname; *cp; cp++)
-			dots += (*cp == '.');
-
-		cp = statp->defdname;
-		while (pp < statp->dnsrch + MAXDFLSRCH) {
-			if (dots < LOCALDOMAINPARTS)
-				break;
-			cp = __rawmemchr(cp, '.') + 1;    /* we know there is one */
-			*pp++ = cp;
-			dots--;
-		}
-		*pp = NULL;
-#ifdef DEBUG
-		if (statp->options & RES_DEBUG) {
-			printf(";; res_init()... default dnsrch list:\n");
-			for (pp = statp->dnsrch; *pp; pp++)
-				printf(";;\t%s\n", *pp);
-			printf(";;\t..END..\n");
-		}
-#endif
-#endif /* !RFC1535 */
 	}
 
 	if ((cp = getenv("RES_OPTIONS")) != NULL)