summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--minetest.conf.example2
-rw-r--r--src/defaultsettings.cpp1
-rw-r--r--src/guiEngine.cpp1
3 files changed, 4 insertions, 0 deletions
diff --git a/minetest.conf.example b/minetest.conf.example
index a8d573d82..5c4be79f3 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -212,6 +212,8 @@
# - Downloads performed by main menu (e.g. mod manager)
# Only has an effect if compiled with cURL
#curl_parallel_limit = 8
+# maximum time in ms a file download (e.g. a mod download) may take
+#curl_file_download_timeout = 300000
# enable usage of remote media server (if provided by server)
#enable_remote_media_server = true
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index cc6a0dd69..cf9101e34 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -153,6 +153,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("curl_timeout", "5000");
settings->setDefault("curl_parallel_limit", "8");
+ settings->setDefault("curl_file_download_timeout", "300000");
settings->setDefault("enable_remote_media_server", "true");
diff --git a/src/guiEngine.cpp b/src/guiEngine.cpp
index 34bdaffad..530733216 100644
--- a/src/guiEngine.cpp
+++ b/src/guiEngine.cpp
@@ -523,6 +523,7 @@ bool GUIEngine::downloadFile(std::string url,std::string target)
HTTPFetchResult fetchresult;
fetchrequest.url = url;
fetchrequest.caller = HTTPFETCH_SYNC;
+ fetchrequest.timeout = g_settings->getS32("curl_file_download_timeout");
httpfetch_sync(fetchrequest, fetchresult);
if (fetchresult.succeeded) {