Author: akhaldi
Date: Sun Sep 18 16:07:29 2016
New Revision: 72727
URL:
http://svn.reactos.org/svn/reactos?rev=72727&view=rev
Log:
[ADNS] Use dynamic memory for network info and set domain for searches. By Peter Hater.
CORE-10440
Modified:
trunk/reactos/sdk/lib/3rdparty/adns/src/setup.c
Modified: trunk/reactos/sdk/lib/3rdparty/adns/src/setup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/3rdparty/adns/src/…
==============================================================================
--- trunk/reactos/sdk/lib/3rdparty/adns/src/setup.c [iso-8859-1] (original)
+++ trunk/reactos/sdk/lib/3rdparty/adns/src/setup.c [iso-8859-1] Sun Sep 18 16:07:29 2016
@@ -572,9 +572,14 @@
#define SECURE_PATH_LEN (MAX_PATH - 64)
char PathBuf[MAX_PATH];
struct in_addr addr;
+#ifdef __REACTOS__
+ PFIXED_INFO network_info;
+ ULONG network_info_blen = 0;
+#else
#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;
+#endif /* __REACTOS__ */
DWORD network_info_result;
PIP_ADDR_STRING pip;
const char *network_err_str = "";
@@ -601,6 +606,10 @@
GetWindowsDirectory(PathBuf, SECURE_PATH_LEN);
strcat(PathBuf,"\\System32\\Drivers\\etc\\resolv-adns.conf");
readconfig(ads,PathBuf,0);
+#ifdef __REACTOS__
+ network_info_result = GetNetworkParams(NULL, &network_info_blen);
+ network_info = (PFIXED_INFO)malloc((size_t)network_info_blen);
+#endif
network_info_result = GetNetworkParams(network_info, &network_info_blen);
if (network_info_result != ERROR_SUCCESS){
switch(network_info_result) {
@@ -616,8 +625,17 @@
addr.s_addr = inet_addr(pip->IpAddress.String);
if ((addr.s_addr != INADDR_ANY) && (addr.s_addr != INADDR_NONE))
addserver(ads, addr);
- }
- }
+#ifdef __REACTOS__
+ if (network_info->DomainName)
+ ccf_search(ads, "LOCALDOMAIN", -1, network_info->DomainName);
+ else
+ ccf_search(ads, "LOCALDOMAIN", -1, "");
+#endif
+ }
+ }
+#ifdef __REACTOS__
+ if (network_info) free(network_info);
+#endif
#else
readconfig(ads,"/etc/resolv.conf",1);
readconfig(ads,"/etc/resolv-adns.conf",0);