aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorDan Peebles <pumpkin@me.com>2017-04-06 18:18:43 +0000
committerDan Peebles <pumpkin@me.com>2017-04-06 18:18:43 +0000
commit98283915f54df275170cc1c8bdaa0b00d343cd69 (patch)
tree6f7e7676d9d95a13ce0974df26b50cdd0082bd8b /src/libstore
parentba20730b3f7ad6b09aa86b66748df575e56d442e (diff)
Retry downloads on transient SSL errors too
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/download.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc
index 78fcdc621..d1f760fdc 100644
--- a/src/libstore/download.cc
+++ b/src/libstore/download.cc
@@ -300,6 +300,8 @@ struct CurlDownloader : public Downloader
|| httpStatus == 504 || httpStatus == 522 || httpStatus == 524
|| code == CURLE_COULDNT_RESOLVE_HOST
|| code == CURLE_RECV_ERROR
+ // this is a generic SSL failure that in some cases (e.g., certificate error) is permanent but also appears in transient cases, so we consider it retryable
+ || code == CURLE_SSL_CONNECT_ERROR
#if LIBCURL_VERSION_NUM >= 0x073200
|| code == CURLE_HTTP2
|| code == CURLE_HTTP2_STREAM