This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
[gitfiles] nss_dns: Do not replace root domain with empty string
- From: Florian Weimer <fw at sourceware dot org>
- To: glibc-cvs at sourceware dot org
- Date: 15 Apr 2019 18:32:05 -0000
- Subject: [gitfiles] nss_dns: Do not replace root domain with empty string
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e3f454bac0f968216699ca405c127c858f0657c7
commit e3f454bac0f968216699ca405c127c858f0657c7
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Apr 11 11:37:47 2019 +0200
nss_dns: Do not replace root domain with empty string
The purpose of the bp[0] == '.' check is unclear. Only the root domain
starts with '.'. The empty string is accepted as a domain name in many
places, denoting the root, but using it implicitly is confusing.
Diff:
---
ChangeLog | 6 ++++++
resolv/nss_dns/dns-host.c | 3 ---
resolv/nss_dns/dns-network.c | 3 ---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 1d0ba71..1cb1255 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2019-04-11 Florian Weimer <fweimer@redhat.com>
+ * resolv/nss_dns/dns-network.c (getanswer_r): Do not replace root
+ domain with empty string.
+ * resolv/nss_dns/dns-host.c (getanswer_r): Likewise.
+
+2019-04-11 Florian Weimer <fweimer@redhat.com>
+
* include/alloc_buffer.h (alloc_buffer_alloc_bytes): Update
comment.
(alloc_buffer_next): Change return type to non-const. Update
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index a18b8a6..9c15f25 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -706,9 +706,6 @@ getanswer_r (struct resolv_context *ctx,
n = -1;
}
- if (n > 0 && bp[0] == '.')
- bp[0] = '\0';
-
if (__glibc_unlikely (n < 0))
{
*errnop = errno;
diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
index 4b81b1b..21688c1 100644
--- a/resolv/nss_dns/dns-network.c
+++ b/resolv/nss_dns/dns-network.c
@@ -345,9 +345,6 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result,
n = -1;
}
- if (n > 0 && bp[0] == '.')
- bp[0] = '\0';
-
if (n < 0 || res_dnok (bp) == 0)
break;
cp += n;