Last modified: 2014-02-12 23:32:51 UTC
The change from Wed, 29 Feb 2012 in includes/HttpFunction.php broke mediawiki’s proxy support. see https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=commitdiff;h=1d065d50f63676e081b0101f849aaa0249b950c7;hp=2730e89017079d4675a8ef9d353255661a03a112 in function proxySetup() - if ( $this->proxy && !$this->noProxy ) { If there is a proxy set AND we should NOT USE proxy then return instantly without setting a proxy. That sounds reasonable. + if ( $this->proxy || !$this->noProxy ) { If there is a proxy set OR we should NOT USE proxy then return instantly without setting a proxy. (Correctly) Applying De_Morgan's laws we get: If there is a proxy set AND we should NOT NOT USE proxy then return instantly without setting a proxy. Simplifying we get: If there is a proxy set AND we should USE proxy then return instantly without setting a proxy. That doesn’t make any sense.
I think there is some confusion with lazy loading there. If the proxy is already set, setting it again does nothing. The problem is with the default proxy setting. The code is way too confusing for what it actually does, but a quick change is proposed in https://gerrit.wikimedia.org/r/#/c/44682/1 for now.
I think this is not what I proposed... The mechanism was intended to disable a proxy (even if this has been set-up in the Settings) on a url-by-url base by setting noProxy for such urls (in an intranet) where no proxy is needed.