Commit Graph
3 Commits
Author SHA1 Message Date
Rich Felker 01dc3f4fea add support for reverse name lookups from hosts file to getnameinfo
this also affects the legacy gethostbyaddr family, which uses
getnameinfo as its backend.

some other minor changes associated with the refactoring of source
files are also made; in particular, the resolv.conf parser now uses
the same code that's used elsewhere to handle ip literals, so as a
side effect it can now accept a scope id for nameserver addressed with
link-local scope.
2014-06-04 16:53:39 -04:00
Rich Felker a2a328bd89 fix uninitialized variable in new __res_msend dns function 2014-06-02 04:27:54 -04:00
Rich Felker 8312f7f60f implement new dns backend, res_send and other legacy resolver functions
this is the second phase of the "resolver overhaul" project.

the key additions in this commit are the __res_msend and __res_mkquery
functions, which have been factored so as to provide a backend for
both the legacy res_* functions and the standard getaddrinfo and
getnameinfo functions. the latter however are still using the old
backend code; there is code duplication which still needs to be
removed, and this will be the next phase of the resolver overhaul.

__res_msend is derived from the old __dns_doqueries function, but
generalized to send arbitrary caller-provided packets in parallel
rather than producing the parallel queries itself. this allows it to
be used (completely trivially) as a backend for res_send. the
factored-out query generation code, with slightly more generality, is
now part of __res_mkquery.
2014-06-02 02:13:57 -04:00