This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] nss_dns: Do not replace root domain with empty string


On 4/8/19 11:07 AM, Florian Weimer wrote:
* Carlos O'Donell:

On 4/8/19 7:18 AM, Florian Weimer wrote:
The purpose of the bp[0] == '.' check is unclear.  Only the root domain
starts with '.'.  An empty string is not a valid domain name, so the
subsequent res_dnok check fails.

Was the intent to *cause* a failure if a root domain was unpacked?

Are you certain res_dnok() fails with the empty string? It looks to me
like ns_name_pton() might work, and so would printable_string(), but
the result is obviously garbage, and may fail later.

Logically the code in question doesn't make any sense from first
principles, therefore I think the deletion is warranted, and that
we'll fix any fallout.

Hmm, you are right, res_dnok et al. accept it, which is something we
cannot change for backwards compatibility reasons.  Odd.  There is even
a test for it.

I'm going to use this as the commit message then:

     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.

Still okay?

Yes. I'm OK with the adjusted commit message.

--
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]