about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDan Peebles <pumpkin@me.com>2017-04-06T18·18+0000
committerDan Peebles <pumpkin@me.com>2017-04-06T18·18+0000
commit98283915f54df275170cc1c8bdaa0b00d343cd69 (patch)
tree6f7e7676d9d95a13ce0974df26b50cdd0082bd8b
parentba20730b3f7ad6b09aa86b66748df575e56d442e (diff)
Retry downloads on transient SSL errors too
-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 78fcdc62189a..d1f760fdc301 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