Преглед изворни кода

* methods/https.cc:
- reuse connection in https, thanks to Thomas Bushnell, BSG for the
patch. LP: #1087543, Closes: #695359

Michael Vogt пре 13 година
родитељ
комит
cc41811512
2 измењених фајлова са 5 додато и 2 уклоњено
  1. 3 0
      debian/changelog
  2. 2 2
      methods/https.cc

+ 3 - 0
debian/changelog

@@ -17,6 +17,9 @@ apt (0.9.7.8) UNRELEASED; urgency=low
     - when reading from /dev/urandom, use less entropy and fix a rare
       bug when the random number chksum is less than 1000.
       Closes: #695285
+  * methods/https.cc:
+    - reuse connection in https, thanks to Thomas Bushnell, BSG for the
+      patch. LP: #1087543, Closes: #695359
 
  -- Christian Perrier <bubulle@debian.org>  Mon, 24 Dec 2012 07:01:20 +0100
 

+ 2 - 2
methods/https.cc

@@ -124,7 +124,6 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
    curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, this);
    curl_easy_setopt(curl, CURLOPT_NOPROGRESS, false);
-   curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
    curl_easy_setopt(curl, CURLOPT_FILETIME, true);
 
    // SSL parameters are set by default to the common (non mirror-specific) value
@@ -240,6 +239,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
       curl_easy_setopt(curl, CURLOPT_VERBOSE, true);
 
    // error handling
+   curl_errorstr[0] = '\0';
    curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, curl_errorstr);
 
    // If we ask for uncompressed files servers might respond with content-
@@ -288,7 +288,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    File->Close();
 
    // cleanup
-   if(success != 0) 
+   if(success != 0 || (curl_responsecode != 200 && curl_responsecode != 304))
    {
       _error->Error("%s", curl_errorstr);
       // unlink, no need keep 401/404 page content in partial/