On my new job at ETH Zurich I stumbled over a lot of HTTP requests in
the web server log file, obviously trying to fetch the automatic proxy
configuration file (usually called proxy.pac) but requesting it with the last
character missing and therefore requesting the nonexistent file proxy.pa:

WTF happend here? When I found a bunch of those request from a single
host last night, I expected a local cut and waste typo on a single
box. But during the day I got the same sort of defective requests from
over 30 hosts in our network. So we looked at our dhcpd.conf, but all
appearances of “proxy.pac” had its “c” at the right place.

WTF is happening here? After googling for a moment I found this
mail on the squid users mailing list, stating the following:

WPAD worked reasonably well for WindowsNT and Windows2000; however, there
was a problem with the file name in Windows2000 and the initial release of
WindowsXP. The Microsoft DHCP Service returned the wrong byte count for
the string returned for option 252. The DHCP Client compensated for this
by decrementing the string length. This resulted in the file name being
truncated when the ISC DHCP daemon was used. The solution was to define a
symlink proxy.pa –> proxy.pac.

So in other words: Microsoft worked around a off-by-one bug in their
own DHCP server by patching their DHCP client to parse faulty
configurations — and obviously only faulty
configurations by expecting some length statement to be always
off-by-one. *hrrrrng*

Re: Fixing server bugs on client side

Wtf? That's pretty fucking braindead... Does that mean they will keep releasing a buggy DHCP client in future windows versions (and also never a fixed DHCP server, since that breaks their "fixed" DHCP clients...)

Recent Postings

Recent Comments

This is the blog or weblog of Axel
Stefan Beckert (aka abe or XTaran) who thought,
he would never
start blogging... (He also once thought, that there is no reason
to switch to this new ugly Netscape thing because Mosaïc works
fine. That was about 1996.) Well, times change...