about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2017-04-07T11·53+0200
committerGitHub <noreply@github.com>2017-04-07T11·53+0200
commitd8ff3aaae7167e22d0c0f4f55ac9da8fb6655f1f (patch)
tree6f7e7676d9d95a13ce0974df26b50cdd0082bd8b
parentba20730b3f7ad6b09aa86b66748df575e56d442e (diff)
parent98283915f54df275170cc1c8bdaa0b00d343cd69 (diff)
Merge pull request #1306 from copumpkin/retry-on-ssl-error
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