implement new dns backend, res_send and other legacy resolver functions
authorRich Felker <dalias@aerifal.cx>
Mon, 2 Jun 2014 06:13:57 +0000 (02:13 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 2 Jun 2014 06:13:57 +0000 (02:13 -0400)
commit8312f7f60f9dfe88118163d38b8282abf04aac2f
tree0dcbcbd3f9e6b3362a920707895624bdc3adb1f5
parent1871f583f419f58bbcd921cda41c991994672c8a
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.
src/network/res_init.c
src/network/res_mkquery.c [new file with mode: 0644]
src/network/res_msend.c [new file with mode: 0644]
src/network/res_query.c
src/network/res_querydomain.c [new file with mode: 0644]
src/network/res_send.c [new file with mode: 0644]