From: Michael Vogt Date: Wed, 9 Jan 2013 10:00:13 +0000 (+0100) Subject: * methods/https.cc: X-Git-Tag: 0.9.8~52 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/cc41811512ba00f70738b70f0448c9172b71daf2?ds=sidebyside * methods/https.cc: - reuse connection in https, thanks to Thomas Bushnell, BSG for the patch. LP: #1087543, Closes: #695359 --- diff --git a/debian/changelog b/debian/changelog index 840d9ebd9..0b20b03de 100644 --- a/debian/changelog +++ b/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 Mon, 24 Dec 2012 07:01:20 +0100 diff --git a/methods/https.cc b/methods/https.cc index c1a49ba60..11d4ba8aa 100644 --- a/methods/https.cc +++ b/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/