X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/88a9e3f832ffa9fd64a8c1a4c8a9e1b0509c06bf..bce8e59b81e5bdfa46501c25bc1b3fca60a69cb8:/methods/https.cc diff --git a/methods/https.cc b/methods/https.cc index 432a64303..a15915910 100644 --- a/methods/https.cc +++ b/methods/https.cc @@ -419,10 +419,25 @@ bool HttpsMethod::Fetch(FetchItem *Itm) curl_slist_free_all(headers); // cleanup - if (success != 0) + if (success != CURLE_OK) { - _error->Error("%s", curl_errorstr); - return false; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wswitch" + switch (success) + { + case CURLE_COULDNT_RESOLVE_PROXY: + case CURLE_COULDNT_RESOLVE_HOST: + SetFailReason("ResolveFailure"); + break; + case CURLE_COULDNT_CONNECT: + SetFailReason("ConnectionRefused"); + break; + case CURLE_OPERATION_TIMEDOUT: + SetFailReason("Timeout"); + break; + } +#pragma GCC diagnostic pop + return _error->Error("%s", curl_errorstr); } // server says file not modified