mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-22 14:49:20 -04:00
2278. [bug] win32: handle the case where Windows returns no
searchlist or DNS suffix. [RT #17354]
This commit is contained in:
parent
81d9d7a10e
commit
e8ca2abed7
2 changed files with 11 additions and 10 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
2278. [bug] win32: handle the case where Windows returns no
|
||||
searchlist or DNS suffix. [RT #17354]
|
||||
|
||||
2277. [bug] Empty zone names were not correctly being caught at
|
||||
in the post parse checks. [RT #17357]
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: lwconfig.c,v 1.6 2007/06/18 23:47:51 tbox Exp $ */
|
||||
/* $Id: lwconfig.c,v 1.7 2007/12/14 01:40:42 marka Exp $ */
|
||||
|
||||
/*
|
||||
* We do this so that we may incorporate everything in the main routines
|
||||
|
|
@ -51,7 +51,6 @@ get_win32_searchlist(lwres_context_t *ctx) {
|
|||
char searchlist[MAX_PATH];
|
||||
DWORD searchlen = MAX_PATH;
|
||||
char *cp;
|
||||
int idx;
|
||||
lwres_conf_t *confdata;
|
||||
|
||||
REQUIRE(ctx != NULL);
|
||||
|
|
@ -69,19 +68,17 @@ get_win32_searchlist(lwres_context_t *ctx) {
|
|||
keyFound = FALSE;
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
confdata->searchnxt = 0;
|
||||
|
||||
idx = 0;
|
||||
confdata->searchnxt = 0;
|
||||
cp = strtok((char *)searchlist, ", \0");
|
||||
while (cp != NULL) {
|
||||
if (confdata->searchnxt == LWRES_CONFMAXSEARCH)
|
||||
break;
|
||||
if (strlen(cp) <= MAX_PATH && strlen(cp) > 0) {
|
||||
confdata->search[idx] = lwres_strdup(ctx, cp);
|
||||
confdata->search[confdata->searchnxt] = lwres_strdup(ctx, cp);
|
||||
if (confdata->search[confdata->searchnxt] != NULL)
|
||||
confdata->searchnxt++;
|
||||
}
|
||||
idx++;
|
||||
confdata->searchnxt++;
|
||||
cp = strtok(NULL, ", \0");
|
||||
}
|
||||
}
|
||||
|
|
@ -125,13 +122,14 @@ lwres_conf_parse(lwres_context_t *ctx, const char *filename) {
|
|||
get_win32_searchlist(ctx);
|
||||
|
||||
/* Use only if there is no search list */
|
||||
if (confdata->searchnxt == 0) {
|
||||
if (confdata->searchnxt == 0 && strlen(FixedInfo->DomainName) > 0) {
|
||||
confdata->domainname = lwres_strdup(ctx, FixedInfo->DomainName);
|
||||
if (confdata->domainname == NULL) {
|
||||
GlobalFree(FixedInfo);
|
||||
return (LWRES_R_FAILURE);
|
||||
}
|
||||
}
|
||||
} else
|
||||
confdata->domainname = NULL;
|
||||
|
||||
/* Get the list of nameservers */
|
||||
pIPAddr = &FixedInfo->DnsServerList;
|
||||
|
|
|
|||
Loading…
Reference in a new issue