1*c2c66affSColin FinckThis is the ADNS resolver library for Windows, ported 2*c2c66affSColin Finckby Jarle (jgaa) Aase, jgaa@jgaa.com 3*c2c66affSColin Finck 4*c2c66affSColin FinckADNS is not officially suppoted for Windows, but this 5*c2c66affSColin Finckport provides a 100% native Windows DLL and linker 6*c2c66affSColin Fincklibrary for the DLL - suitable for traditional compilers 7*c2c66affSColin Finckand linkers under Windows. The library itself is ported to 8*c2c66affSColin FinckMicrosot Visual C++ 6.0. 9*c2c66affSColin Finck 10*c2c66affSColin FinckThe library is tested under Windows 2000 and XP, but should work 11*c2c66affSColin Finckwith all versions from Windows NT 4 and up, and Windows98 12*c2c66affSColin Finckand up. Windows95 is not supported. 13*c2c66affSColin Finck 14*c2c66affSColin FinckIf you want to use the library in your own C/C++ project, 15*c2c66affSColin Finckyou must set the following manifests before including adns.h: 16*c2c66affSColin Finck 17*c2c66affSColin Finck#define ADNS_MAP_UNIXAPI 18*c2c66affSColin Finck#define ADNS_DLL 19*c2c66affSColin Finck 20*c2c66affSColin FinckADNS_MAP_UNIXAPI will enable the Win32 port in the header- 21*c2c66affSColin Finckfiles (else, they will use the defauts for a UNIX system) 22*c2c66affSColin Finck 23*c2c66affSColin FinckADNS_DLL will enable linking to the exported DLL functions. 24*c2c66affSColin FinckCurrently I have only made the DLL available. There are two 25*c2c66affSColin Finckreasons for this: 26*c2c66affSColin Finck 27*c2c66affSColin Finck 1) The DNS protocol is a mess - and it's difficult to make 28*c2c66affSColin Finck a foolproof implementation. If a security-problem is 29*c2c66affSColin Finck found (or other bugs) - the fix can usually be deployed 30*c2c66affSColin Finck just by replacing the DLL. 31*c2c66affSColin Finck 32*c2c66affSColin Finck 2) The GPL/LGPL lisence of ADNS (see GPL-vs-LGPL) will allow 33*c2c66affSColin Finck you to use the .dll in your project - as far as I can tell. 34*c2c66affSColin Finck A statically linked version will only be allowed in GPL 35*c2c66affSColin Finck licensed projects. 36*c2c66affSColin Finck 37*c2c66affSColin FinckFor more information about this port, see http://adns.jgaa.com 38*c2c66affSColin Finck 39*c2c66affSColin Finck 40*c2c66affSColin Finck/////////////////////////////////////////////////////// 41*c2c66affSColin Finck 42*c2c66affSColin FinckOctober 13th 2005 jgaa: adns-1.0-win32-05 43*c2c66affSColin Finck - Fixed a problem with the return-value from adns_inet_aton() 44*c2c66affSColin Finck Thanks to Gerald Combs for reporting the problem. 45*c2c66affSColin Finck 46*c2c66affSColin FinckOctober 7th 2004 jgaa: adns-1.0-win32-03 47*c2c66affSColin Finck 48*c2c66affSColin Finck - Fixed a problem with error-messages when the program 49*c2c66affSColin Finck works off-line. 50*c2c66affSColin Finck Thanks to Ulf Lamping for pointing ourt and solving the problem. 51*c2c66affSColin Finck 52*c2c66affSColin Finck 53*c2c66affSColin FinckApril 4th 2004 jgaa: adns-1.0-win32-03 54*c2c66affSColin Finck 55*c2c66affSColin Finck - Fixed broken gettimeofday() function. 56*c2c66affSColin Finck 57*c2c66affSColin Finck - Fixed problem with TCP connections, where the librarry 58*c2c66affSColin Finck failed to connect to DNS servers with TCP, and flooded 59*c2c66affSColin Finck the servers with TCP connection attempts. 60*c2c66affSColin Finck 61*c2c66affSColin Finck - Made sure that errno was handled corrcetly after all network 62*c2c66affSColin Finck (winsock) calls. 63*c2c66affSColin Finck 64*c2c66affSColin Finck - Fixed a few places where noblocking calls were not handled 65*c2c66affSColin Finck EAGAIN and EWOULDBLOCK is not the same under Windows. 66*c2c66affSColin Finck 67*c2c66affSColin Finck 68*c2c66affSColin Finck 69