Windows – iTunes’ clandestine proxy settings

httpitunesPROXYwindows xp

Problem:

One user's iTunes consults a defunct HTTP proxy, but only for iTunes Store HTTP requests — other iTunes web requests are unproxied. How do I dismiss this spurious proxy setting?

Background:

It's not as easy as Internet Options.

Years ago my network had a mandatory HTTP proxy at 172.31.1.1:8080. When we switched to the 192.168.1/24 space and eliminated the proxy, this user's iTunes — the only iTunes user at the time — could no longer contact the iTunes Store, an operation which fails with "unknown error -9808".

This has been the case through several iTunes.exe upgrades over the years and prevents, among other things, activation of a new or newly upgraded iPhone.

wireshark and TCPView confirm that this user's iTunes.exe is attempting to contact the long-defunct http proxy when attempting to reach the iTunes Store, but is otherwise unproxied. Curious details:

  • No other iTunes.exe HTTP traffic for this user is affected — iTunes can successfully make HTTP chatter at Apple's servers.
  • No other web traffic at all is proxied, whether this user or others, iTunes or browser, etc.

I cannot find the spurious proxy setting anywhere in the registry nor on disk, though perhaps I haven't thought of every place to look and every format to look for. Other users who have experienced the same error code all seem to have unrelated web configuration problems (certificate validation, for example).

UPDATE in response to Phoshi's excellent suggestion, reinstallation hasn't done the trick.

Best Answer

Found it! iTunes.exe was apparently incorrectly enforcing disabled proxy settings from Mozilla Firefox, but only for iTunes Store connections.

In the affected user's prefs.js, the following was specified:

user_pref("network.proxy.http", "172.31.1.1");
user_pref("network.proxy.http_port", 8080);
user_pref("network.proxy.ssl", "172.31.1.1");
user_pref("network.proxy.ssl_port", 8080);

However, network.proxy.type was implicitly set to its default value of zero, meaning "don't use a proxy." I don't know if iTunes was calling out to the user's default browser (Firefox), partially parsing the prefs.js settings itself, or what.

In any case, I removed these settings via about:config, and all is well.

Thanks for all the suggestions, and thanks most to a sysadmin friend who suggested I search through the filesystem as well, rather than the just the registry.

Related Question