mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 06:42:28 +00:00
feat: better warning for common SSL errors
This commit is contained in:
parent
b02601cd0c
commit
3e5bf90341
@ -54,6 +54,8 @@ struct curlFileTransfer : public FileTransfer
|
|||||||
bool done = false; // whether either the success or failure function has been called
|
bool done = false; // whether either the success or failure function has been called
|
||||||
Callback<FileTransferResult> callback;
|
Callback<FileTransferResult> callback;
|
||||||
CURL * req = 0;
|
CURL * req = 0;
|
||||||
|
// buffer to accompany the `req` above
|
||||||
|
char errbuf[CURL_ERROR_SIZE];
|
||||||
bool active = false; // whether the handle has been added to the multi object
|
bool active = false; // whether the handle has been added to the multi object
|
||||||
std::string statusMsg;
|
std::string statusMsg;
|
||||||
|
|
||||||
@ -370,6 +372,9 @@ struct curlFileTransfer : public FileTransfer
|
|||||||
if (writtenToSink)
|
if (writtenToSink)
|
||||||
curl_easy_setopt(req, CURLOPT_RESUME_FROM_LARGE, writtenToSink);
|
curl_easy_setopt(req, CURLOPT_RESUME_FROM_LARGE, writtenToSink);
|
||||||
|
|
||||||
|
curl_easy_setopt(req, CURLOPT_ERRORBUFFER, errbuf);
|
||||||
|
errbuf[0] = 0;
|
||||||
|
|
||||||
result.data.clear();
|
result.data.clear();
|
||||||
result.bodySize = 0;
|
result.bodySize = 0;
|
||||||
}
|
}
|
||||||
@ -484,8 +489,8 @@ struct curlFileTransfer : public FileTransfer
|
|||||||
code == CURLE_OK ? "" : fmt(" (curl error: %s)", curl_easy_strerror(code)))
|
code == CURLE_OK ? "" : fmt(" (curl error: %s)", curl_easy_strerror(code)))
|
||||||
: FileTransferError(err,
|
: FileTransferError(err,
|
||||||
std::move(response),
|
std::move(response),
|
||||||
"unable to %s '%s': %s (%d)",
|
"unable to %s '%s': %s (%d) %s",
|
||||||
request.verb(), request.uri, curl_easy_strerror(code), code);
|
request.verb(), request.uri, curl_easy_strerror(code), code, errbuf);
|
||||||
|
|
||||||
/* If this is a transient error, then maybe retry the
|
/* If this is a transient error, then maybe retry the
|
||||||
download after a while. If we're writing to a
|
download after a while. If we're writing to a
|
||||||
|
Loading…
Reference in New Issue
Block a user