From 22b9ff2cffbd2f5b492c3ba9301af1fc87c94a73 Mon Sep 17 00:00:00 2001 From: hater <7element@mail.bg> Date: Wed, 11 Nov 2015 17:33:17 +0200 Subject: [PATCH] Don't use fixed length for network_info, but ask. Use domain for searches --- reactos/lib/3rdparty/adns/src/setup.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reactos/lib/3rdparty/adns/src/setup.c b/reactos/lib/3rdparty/adns/src/setup.c index 18157b2..33b8754 100644 --- a/reactos/lib/3rdparty/adns/src/setup.c +++ b/reactos/lib/3rdparty/adns/src/setup.c @@ -572,9 +572,8 @@ int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile) { #define SECURE_PATH_LEN (MAX_PATH - 64) char PathBuf[MAX_PATH]; struct in_addr addr; - #define ADNS_PFIXED_INFO_BLEN (2048) - PFIXED_INFO network_info = (PFIXED_INFO)_alloca(ADNS_PFIXED_INFO_BLEN); - ULONG network_info_blen = ADNS_PFIXED_INFO_BLEN; + PFIXED_INFO network_info; + ULONG network_info_blen = 0; DWORD network_info_result; PIP_ADDR_STRING pip; const char *network_err_str = ""; @@ -601,6 +600,8 @@ int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile) { GetWindowsDirectory(PathBuf, SECURE_PATH_LEN); strcat(PathBuf,"\\System32\\Drivers\\etc\\resolv-adns.conf"); readconfig(ads,PathBuf,0); + network_info_result = GetNetworkParams(NULL, &network_info_blen); + network_info = (PFIXED_INFO)_alloca((size_t)network_info_blen); network_info_result = GetNetworkParams(network_info, &network_info_blen); if (network_info_result != ERROR_SUCCESS){ switch(network_info_result) { @@ -617,6 +618,8 @@ int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile) { if ((addr.s_addr != INADDR_ANY) && (addr.s_addr != INADDR_NONE)) addserver(ads, addr); } + if (network_info->DomainName) + ccf_search(ads,"LOCALDOMAIN",-1,network_info->DomainName); } #else readconfig(ads,"/etc/resolv.conf",1); -- 1.9.5.msysgit.0