summaryrefslogtreecommitdiff
path: root/methods/https.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2015-04-08 12:24:50 +0200
committerMichael Vogt <mvo@ubuntu.com>2015-04-08 12:24:50 +0200
commit460f0f95b22c36ddc5f184cef33c54a482b5f112 (patch)
tree324f78bd2fdddd6131301129d67fad5e9bf36871 /methods/https.cc
parent0c235e5d6658bebe3daab6c708d112b3794fd809 (diff)
parentd5cf8851753dde4f45bfd3b48fcdf34247a8752a (diff)
Merge remote-tracking branch 'origin/debian/jessie' into ubuntu/master
Conflicts: apt-pkg/deb/dpkgpm.cc
Diffstat (limited to 'methods/https.cc')
-rw-r--r--methods/https.cc18
1 files changed, 4 insertions, 14 deletions
diff --git a/methods/https.cc b/methods/https.cc
index 3a5981b58..cb11159bc 100644
--- a/methods/https.cc
+++ b/methods/https.cc
@@ -68,6 +68,8 @@ HttpsMethod::parse_header(void *buffer, size_t size, size_t nmemb, void *userp)
me->File->Truncate(me->Server->StartPos);
me->File->Seek(me->Server->StartPos);
+
+ me->Res.Size = me->Server->Size;
}
else if (me->Server->HeaderLine(line) == false)
return 0;
@@ -97,17 +99,6 @@ HttpsMethod::write_data(void *buffer, size_t size, size_t nmemb, void *userp)
return buffer_size;
}
-int
-HttpsMethod::progress_callback(void *clientp, double dltotal, double /*dlnow*/,
- double /*ultotal*/, double /*ulnow*/)
-{
- HttpsMethod *me = (HttpsMethod *)clientp;
- if(dltotal > 0 && me->Res.Size == 0) {
- me->Res.Size = (unsigned long long)dltotal;
- }
- return 0;
-}
-
// HttpsServerState::HttpsServerState - Constructor /*{{{*/
HttpsServerState::HttpsServerState(URI Srv,HttpsMethod * /*Owner*/) : ServerState(Srv, NULL)
{
@@ -201,10 +192,8 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
curl_easy_setopt(curl, CURLOPT_WRITEHEADER, this);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
- curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
- curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, this);
// options
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, false);
+ curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true);
curl_easy_setopt(curl, CURLOPT_FILETIME, true);
// only allow curl to handle https, not the other stuff it supports
curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
@@ -357,6 +346,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
// go for it - if the file exists, append on it
File = new FileFd(Itm->DestFile, FileFd::WriteAny);
Server = new HttpsServerState(Itm->Uri, this);
+ Res = FetchResult();
// keep apt updated
Res.Filename = Itm->DestFile;