I want to share my wpad experiences of the last few days, because most
what I found on the Internet about that topic was rather inaccurate,
incomplete or simply wrong.

IE 6 SP2

1.) From what I found on the packet traces only IE seems to supports
wpad over DHCP.

2.) wpad over DNS is supported by IE and FF.

3.) Most people who did packet traces before, complained that they did
not see any DHCPINFORM packets for option 252. There are two reasons for

a) You have a DHCP server which sends all configured options back to the
client and not only those which are asked for in the DHCPREQUEST packet.
Then the client gets this information on boot and does not query again
when you enter an url in the browser.

b) That ugly thing of WinXP client does cache the information of option
252. That means if your machine once gets an option 252 information it
will never ask for it again and it will never recognise any changes you
make to this option. It will never even use wpad over DNS again as it
consider this information to be valid even if it isn't. To get things
maidenly again you have to call "ipconfig /release" and reboot. Do not
try to call "ipconfig /renew" or "ipconfig /release" + "ipconfig /renew"
as this does not seem to invalidate the cached information.

3.) If you want to go the DHCP route and are using a Netware DHCP server
beware that IE expects a response in the MS DHCP server format. The MS
DHCP server adds a trailing '\0' to string options which IE tries to cut
off. If you are using a non MS DHCP server so the last character of the
option 252 curl is missing. I would consider this a violation of the
underlying RFC but that's a different story. To get things work with
Netware DHCP first create a global 252 option in DNS-DHCP console, then
start ConsoleOne, open the properties of the DNS-DHCP locator object,
navigate to the "Other" tab, edit the DNIP:Config Options attribute,
look for the option 252 octed ("FC" in Hex code), the octed following
the option is the length specifier (also in Hex), increment that value
by one, and add a "00" at the end of the follwing string value. Reload
DHCPSRVR.NLM and you should be fine.

4.) If you are using virtual hosts on your webservers you should be
aware that IE does not use the hostname you specify in the 252 option.
The same is true for wpad over DNS. Here IE also does not use
wpad.<domainsuffix> as hostname. Instead it resolves the hostname to an
IP address and uses that IP address as hostname in the HTTP get request.
If you have a virtual host environment simply add a virtual host
carrying its ip address as host name.

5.) Similar can happen to FF users. Here the hostname "wpad" without any
domainsuffix is used in the HTTP get request. It may depend on the
webserver if it appends it's own domainsuffix to such queries to build
up a complete virtual hostname or not. If it doesn't simply add a
virtual host with the name "wpad" and you should be fine.

6.) Wpad over DNS seems to work quite similar with FF and IE. Here both
browsers look for a hostname wpad.<domainsuffix>. If successfull both do
a HTTP get as described in 4. and 5. to get a file with the name "wpad.dat".

7.) IMHO foget about DHCP due to its static character (see 3.b for
details) and use DNS instead.