aboutsummaryrefslogtreecommitdiff
path: root/src/download-via-ssh
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2014-02-19 07:05:15 -0500
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-02-26 13:32:47 +0100
commitdf5de9dfd72f9dc3d57157d0496443732a517491 (patch)
tree9b0e0e0ea4c2c72bf148b13d8fb1e19c79a2e686 /src/download-via-ssh
parent36b90e72d7e09b983acfa08f9016e8b3ece5199d (diff)
Add use-ssh-substituter setting.
It defaults to false and can be overridden by RemoteStore. Untested currently, just quickly put this together
Diffstat (limited to 'src/download-via-ssh')
-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 6361e71e9..b5350f998 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;