[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RFC: Issue #1171: Proxy settings detection from Internet settings on Win32

From: Branko Čibej <brane_at_xbc.nu>
Date: 2005-05-10 19:53:49 CEST

Issue #1171 is about automatically detecting proxy settings on Windows
if they're not defined in the config file.

Doing this would seem straight-forward, if it weren't for Windows
compicating matters by having two different APIs...

The first is called WinINet. It knows how to find the PAC file, but I
think you have to parse it yourselfunless you use WinINet to manage the
HTTP connection, too; that's very flaky at best. Subversion clients
can't do that. WinINet is available (with the right IE version) on all
currently alive (or undead?) flavours of Windows. TSVN uses WinINet, but
it only uses settings from the registry (i.e., it doesn't look at the
PAC file), which means it has no auto-proxy support.

The second is called WinHTTP. Unlike WinINet, you just send in an URL,
and get proxy parameters back. Also unlike WInINet, it's only available
on Win2k SP3 and later (well, an older redistributable version works on
a few other systems, too, but not on Win9x/Me, and it doesn't have
auto-proxy support).

I propose to use WinHTTP to fix issue #1171. The data in the config file
would take precedence, of course, and on systems where WinHTTP isn't
available, the config would still be the only way to set proxy
parameters. I think parsing the PAC isn't an option, and I don't want to
add more Win9x-specific code without even getting auto-proxy support as
a bonus.

Thoughts?

-- Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 10 20:00:43 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.