]> git.saurik.com Git - apt.git/blobdiff - methods/https.cc
verify hash of input file in rred
[apt.git] / methods / https.cc
index fc439bef85fe2ea47324531ed4eb36b44ff851e5..bbdbd8fa9d2fc0133907a8a7c762c524de67e6bb 100644 (file)
@@ -13,7 +13,6 @@
 #include <config.h>
 
 #include <apt-pkg/fileutl.h>
-#include <apt-pkg/acquire-method.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/netrc.h>
@@ -389,7 +388,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
       std::string Buf;
       strprintf(Buf, "Range: bytes=%lli-", (long long) SBuf.st_size);
       headers = curl_slist_append(headers, Buf.c_str());
-      strprintf(Buf, "If-Range: %s", TimeRFC1123(SBuf.st_mtime).c_str());
+      strprintf(Buf, "If-Range: %s", TimeRFC1123(SBuf.st_mtime, false).c_str());
       headers = curl_slist_append(headers, Buf.c_str());
    }
    else if(Itm->LastModified > 0)
@@ -437,7 +436,13 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
            break;
       }
 #pragma GCC diagnostic pop
-      return _error->Error("%s", curl_errorstr);
+      // only take curls technical errors if we haven't our own
+      // (e.g. for the maximum size limit we have and curls can be confusing)
+      if (_error->PendingError() == false)
+        _error->Error("%s", curl_errorstr);
+      else
+        _error->Warning("curl: %s", curl_errorstr);
+      return false;
    }
 
    // server says file not modified
@@ -528,11 +533,6 @@ std::unique_ptr<ServerState> HttpsMethod::CreateServerState(URI const &uri)/*{{{
 
 int main()
 {
-   setlocale(LC_ALL, "");
-
-   HttpsMethod Mth;
-   curl_global_init(CURL_GLOBAL_SSL) ;
-
-   return Mth.Run();
+   return HttpsMethod().Run();
 }