[ADNS] Add function to return number of DNS servers available for query.

[DNSAPI] Use newly added function to return without search if no DNS servers are available.
CORE-13441 #resolve

svn path=/trunk/; revision=75339
This commit is contained in:
Peter Hater 2017-07-14 16:05:31 +00:00
parent 0b6eedad3a
commit eb6e21dd58
3 changed files with 16 additions and 1 deletions

View file

@ -798,6 +798,14 @@ DnsQuery_W(LPCWSTR Name,
}
}
if (!adns_numservers(astate))
{
/* There are no servers to query so bail out */
adns_finish(astate);
RtlFreeHeap(RtlGetProcessHeap(), 0, AnsiName);
return ERROR_FILE_NOT_FOUND;
}
/*
* adns doesn't resolve chained CNAME records (a CNAME which points to
* another CNAME pointing to another... pointing to an A record), according

View file

@ -368,7 +368,11 @@ ADNS_API int adns_init(adns_state *newstate_r, adns_initflags flags,
/* ReactOS addition */
ADNS_API void adns_addserver(adns_state state, struct in_addr server);
ADNS_API void adns_ccf_search(adns_state ads, const char *fn, int lno, const char *buf);
ADNS_API void adns_ccf_search(adns_state state,
const char *fn,
int lno,
const char *buf);
ADNS_API int adns_numservers(adns_state state);
ADNS_API int adns_init_strcfg(adns_state *newstate_r, adns_initflags flags,
FILE *diagfile /*0=>discard*/, const char *configtext);

View file

@ -715,3 +715,6 @@ void adns_addserver(adns_state ads, struct in_addr addr) {
void adns_ccf_search(adns_state ads, const char *fn, int lno, const char *buf) {
ccf_search(ads, fn, lno, buf);
}
int adns_numservers(adns_state ads) {
return ads->nservers;
}