about summary refs log tree commit diff
path: root/src/download-via-ssh/download-via-ssh.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/download-via-ssh/download-via-ssh.cc')
-rw-r--r--src/download-via-ssh/download-via-ssh.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/download-via-ssh/download-via-ssh.cc b/src/download-via-ssh/download-via-ssh.cc
index 6361e71e9927..b5350f998490 100644
--- a/src/download-via-ssh/download-via-ssh.cc
+++ b/src/download-via-ssh/download-via-ssh.cc
@@ -111,6 +111,18 @@ void run(Strings args)
     if (args.empty())
         throw UsageError("download-via-ssh requires an argument");
 
+    Settings::SettingsMap overrides = settings.getOverrides();
+    Settings::SettingsMap::iterator use = overrides.find("untrusted-use-ssh-substituter");
+    if (use != overrides.end()) {
+        if (use->second == "true") settings.useSshSubstituter = true;
+        else if (use->second == "false") settings.useSshSubstituter = false;
+        else throw Error(format("configuration option `use-ssh-substituter' should be either `true' or `false', not `%1%'")
+                        % use->second);
+    }
+
+    if (!settings.useSshSubstituter)
+        return;
+
     if (settings.sshSubstituterHosts.empty())
         return;