Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20140601023703.GA10702@brightrain.aerifal.cx>
Date: Sat, 31 May 2014 22:37:04 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Resolver overhaul: first phase pushed

>From the commit message (6f409bff008a83fa6bc640c10366765874de35e2):

    refactor getaddrinfo and add support for most remaining features
    
    this is the first phase of the "resolver overhaul" project.
    
    conceptually, the results of getaddrinfo are a direct product of a
    list of address results and a list of service results. the new code
    makes this explicit by computing these lists separately and combining
    the results. this adds support for services that have both tcp and udp
    versions, where the caller has not specified which it wants, and
    eliminates a number of duplicate code paths which were all producing
    the final output addrinfo structures, but in subtly different ways,
    making it difficult to implement any of the features which were
    missing.
    
    in addition to the above benefits, the refactoring allows for legacy
    functions like gethostbyname to be implemented without using the
    getaddrinfo function itself. such changes to the legacy functions have
    not yet been made, however.
    
    further improvements include matching of service alias names from
    /etc/services (previously only the primary name was supported),
    returning multiple results from /etc/hosts (previously only the first
    matching line was honored), and support for the AI_V4MAPPED and AI_ALL
    flags.
    
    features which remain unimplemented are IDN translations (encoding
    non-ASCII hostnames for DNS lookup) and the AI_ADDRCONFIG flag.

    at this point, the DNS-based name resolving code is still based on the
    old interfaces in __dns.c, albeit somewhat simpler in its use of them.
    there may be some dead code which could already be removed, but
    changes to this layer will be a later phase of the resolver overhaul.

Please report any regressions.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.