aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/download.cc2
-rw-r--r--src/libstore/globals.hh3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc
index 42fd05bd8..4d502219e 100644
--- a/src/libstore/download.cc
+++ b/src/libstore/download.cc
@@ -249,6 +249,8 @@ struct CurlDownloader : public Downloader
curl_easy_setopt(req, CURLOPT_SSL_VERIFYHOST, 0);
}
+ curl_easy_setopt(req, CURLOPT_CONNECTTIMEOUT, settings.connectTimeout.get());
+
/* If no file exist in the specified path, curl continues to work
anyway as if netrc support was disabled. */
curl_easy_setopt(req, CURLOPT_NETRC_FILE, settings.netrcFile.get().c_str());
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index f3a6038ca..72863920d 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -270,6 +270,9 @@ public:
struct CaseHackTag { };
Setting<bool, CaseHackTag> useCaseHack{this, nix::useCaseHack, "use-case-hack",
"Whether to enable a Darwin-specific hack for dealing with file name collisions."};
+
+ Setting<unsigned long> connectTimeout{this, 0, "connect-timeout",
+ "Timeout for connecting to servers during downloads. 0 means use curl's builtin default."};
};