Skip Menu |

Subject: Modify WSHELP32 to use Win2K/XP/2K3 resolver functionality when present
Instead of rewriting apps which depend on WSHELP32 to call the new
Windows 2000+ resolver functionality, modify the WSHELP32 functions to
call the Windows functionality when available.

Be sure to provide for a Registry Setting which can be used to disable
the use of the Windows functionality if necessary.

This code should be able to be lifted from the MIT OpenAFS repository.

Try to get this done for KfW 2.6
There are two core problems with the previously released versions of
WSHELP32.DLL. First, the implementation always uses TCP connections
instead of UDP for DNS queries. Second, only one query is sent at a
time. The end result is that a bad NameServer address will cause the
process to block for an extended period of time.

I have modified the code to use UDP instead of TCP by default and to
send queries to all servers simultaneously and wait for the first
response. The code already supported the ability to discard responses
from previous queries.
Update of /cvs/pismere/pismere/athena/wshelper/wshelper
In directory

Modified Files:
gethna.c res_init.c res_send.c resolve.c
Log Message:
2004-02-03 Jeffrey Altman <>

* Add OS Version identifiers for Win2000, XP, 2003, and NT_UNKNOWN

* Enhance WhichOS() function to specify the OS version more precisely

* Use WhichOS() from within rgethostbyname() and rgethostbyaddr(). If
2000, XP, 2003, or beyond are in use then call the OS versions of
gethostbyname() or gethostbyaddr() as appropriate.

* Modify res_send() to use sendto() instead of send() when we are not
using virtual circuits

* Fix the DEBUG enabled debugging code to compile. Add additional
debugging information to res_send()

* Remove some commented code from resolve.c
wshelp32.dll was re-written to use DNSAPI for KFW 3.0