Просмотр исходного кода

* methods/https.cc:
- add Acquire::https::AllowRedirect support

Michael Vogt лет назад: 17
Родитель
Сommit
668ce84da0
3 измененных файлов с 11 добавлено и 2 удалено
  1. 2 0
      debian/changelog
  2. 4 2
      doc/examples/configure-index
  3. 5 0
      methods/https.cc

+ 2 - 0
debian/changelog

@@ -41,6 +41,8 @@ apt (0.7.21) UNRELEASED; urgency=low
   * apt-pkg/pkgcache.cc:
     - do not run "dpkg --configure pkg" if pkg is in trigger-awaited
       state (LP: #322955)
+  * methods/https.cc:
+    - add Acquire::https::AllowRedirect support
 
   [ Dereck Wonnacott ]
   * apt-ftparchive might write corrupt Release files (LP: #46439)

+ 4 - 2
doc/examples/configure-index

@@ -183,7 +183,8 @@ Acquire
     Proxy::http.us.debian.org "DIRECT";  // Specific per-host setting
     Timeout "120";
     Pipeline-Depth "5";
-    
+    AllowRedirect  "true";
+
     // Cache Control. Note these do not work with Squid 2.0.2
     No-Cache "false";
     Max-Age "86400";     // 1 Day age on index files
@@ -200,7 +201,8 @@ Acquire
 	Verify-Peer "false";
 	SslCert "/etc/apt/some.pem";
         CaPath  "/etc/ssl/certs";
-        Verify-Host" "2";
+        Verify-Host" "true";
+        AllowRedirect  "true";
   };
 
   ftp

+ 5 - 0
methods/https.cc

@@ -208,6 +208,11 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
    curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, timeout);
 
+   // set redirect options and default to 10 redirects
+   bool AllowRedirect = _config->FindI("Acquire::https::AllowRedirect", true);
+   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, AllowRedirect);
+   curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 10);
+
    // debug
    if(_config->FindB("Debug::Acquire::https", false))
       curl_easy_setopt(curl, CURLOPT_VERBOSE, true);