OSCommerce Product Manager

OSCommerce Product Manager for Windows

FS#255 - Support WPAD for proxy configuration.

Attached to Project: OSCommerce Product Manager
Opened by Mario A. Valdez-Ramirez (mvaldez) - Sunday, 28 August 2005, 20:51 GMT-5
Last edited by Mario A. Valdez-Ramirez (mvaldez) - Thursday, 26 July 2007, 05:57 GMT-5
Task Type Bug Report
Category Backend / Core
Status Assigned
Assigned To Mario A. Valdez-Ramirez (mvaldez)
Operating System All
Severity Low
Priority High
Reported Version any
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Currently, the proxy settings can be autodetected only if they are set explicitly in the Windows proxy settings without using a configuration script and without using automatic proxy discovery.

It would be very nice if the oscpmwin application could support WPAD for proxy automatic discovery. The WPAD mechanism is described in the following URL:


It would be good to support both DHCP and DNS-based mechanisms. If only one, I think DHCP is the preferred one.

Anyway, to support this, the application would require to run a Javascript script to decide what proxy server to use for a given URL. Very nice for the network admin but a bit complicated for us the developers.

Pending to figure out how to do each thing (JS runtime, DHCP query and DNS query).
This task depends upon

Comment by Mario A. Valdez-Ramirez (mvaldez) - Friday, 30 December 2005, 14:28 GMT-5

By reading the RFC I think we can build a class 0 compliant client code (just like Mozilla), which is really a DNS (A record) only implementation.

I think we can just query the http://wpad/wpad.dat URL and if correct, cache the file and use it to decide what proxy to use.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Thursday, 26 July 2007, 05:57 GMT-5
We can execute the Javascript code only once, then cache the resulting proxy settings until reconnecting. Not perfect, and would not work with time-dependant scripts, but I think it will work as a proof-of-concept.

As the script will be run only once, we can even use an external application, with little overhead.