From 5fddfb89152a008c8de3e883ff1af28dc8b2cc70 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Thu, 12 Dec 2013 12:37:39 -0800 Subject: [PATCH] Fix dns searchdomain use in gethostbyname. Need to load search domain data before we attempt to use it. This is a cherry pick of an AOSP change c11f6f0f393e472984b5ac2934e2485855a319c9. bug:6799630 Change-Id: I4ea1131f06ffdf4037fe67f82af5a0349469b609 --- libc/netbsd/resolv/res_query.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libc/netbsd/resolv/res_query.c b/libc/netbsd/resolv/res_query.c index 8e1321e79..d31e83c4a 100644 --- a/libc/netbsd/resolv/res_query.c +++ b/libc/netbsd/resolv/res_query.c @@ -272,6 +272,15 @@ res_nsearch(res_state statp, (dots && !trailing_dot && (statp->options & RES_DNSRCH) != 0U)) { int done = 0; + /* Unfortunately we need to load interface info + * (dns servers, search domains) before + * the domain stuff is tried. Will have a better + * fix after thread pools are used as this will + * be loaded once for the thread instead of each + * time a query is tried. + */ + _resolv_populate_res_for_iface(statp); + for (domain = (const char * const *)statp->dnsrch; *domain && !done; domain++) {