• R
    resolver: omit final dot (root/suppress-search) in canonical name · 63e2e40e
    Rich Felker 提交于
    if a final dot was included in the queried host name to anchor it to
    the dns root/suppress search domains, and the result was not a CNAME,
    the returned canonical name included the final dot. this was not
    consistent with other implementations, confused some applications, and
    does not seem desirable.
    
    POSIX specifies returning a pointer to, or to a copy of, the input
    nodename, when the canonical name is not available, but does not
    attempt to specify what constitutes "not available". in the case of
    search, we already have an implementation-defined "availability" of a
    canonical name as the fully-qualified name resulting from search, so
    defining it similarly in the no-search case seems reasonable in
    addition to being consistent with other implementations.
    
    as a bonus, fix the case where more than one trailing dot is included,
    since otherwise the changes made here would wrongly cause lookups with
    two trailing dots to succeed. previously this case resulted in
    malformed dns queries and produced EAI_AGAIN after a timeout. now it
    fails immediately with EAI_NONAME.
    63e2e40e
lookup_name.c 11.6 KB