]> git.saurik.com Git - apt.git/commitdiff
refactored no_proxy code to work regardless of where https proxy is set
authorPatrick Cable <pc@pcable.net>
Wed, 27 Apr 2016 20:55:55 +0000 (16:55 -0400)
committerPatrick Cable <pc@pcable.net>
Wed, 27 Apr 2016 20:55:55 +0000 (16:55 -0400)
when using the https transport mechanism, $no_proxy is ignored if apt is
getting it's proxy information from $https_proxy (as opposed to
Acquire::https::Proxy somewhere in apt config). if the source of proxy
information is Acquire::https::Proxy set in apt.conf (or apt.conf.d),
then $no_proxy is honored.

methods/https.cc

index ac6d355edae701e5c3f570fbd839d377b1af74bb..fc439bef85fe2ea47324531ed4eb36b44ff851e5 100644 (file)
@@ -187,13 +187,13 @@ void HttpsMethod::SetupProxy()                                            /*{{{*/
    if (UseProxy == "DIRECT")
       return;
 
-   if (UseProxy.empty() == false) 
+   // Parse no_proxy, a comma (,) separated list of domains we don't want to use    
+   // a proxy for so we stop right here if it is in the list
+   if (getenv("no_proxy") != 0 && CheckDomainList(ServerName.Host,getenv("no_proxy")) == true)
+      return;
+
+   if (UseProxy.empty() == true)
    {
-      // Parse no_proxy, a comma (,) separated list of domains we don't want to use
-      // a proxy for so we stop right here if it is in the list
-      if (getenv("no_proxy") != 0 && CheckDomainList(ServerName.Host,getenv("no_proxy")) == true)
-        return;
-   } else {
       const char* result = getenv("https_proxy");
       // FIXME: Fall back to http_proxy is to remain compatible with
       // existing setups and behaviour of apt.conf.  This should be