diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libstore/download.cc | 2 | ||||
-rw-r--r-- | src/libstore/globals.hh | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc index 42fd05bd80d7..4d502219ed86 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 f3a6038cafae..72863920de99 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."}; }; |