diff options
author | Shea Levy <shea@shealevy.com> | 2014-02-19T12·05-0500 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-02-26T12·32+0100 |
commit | df5de9dfd72f9dc3d57157d0496443732a517491 (patch) | |
tree | 9b0e0e0ea4c2c72bf148b13d8fb1e19c79a2e686 /src/download-via-ssh/download-via-ssh.cc | |
parent | 36b90e72d7e09b983acfa08f9016e8b3ece5199d (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/download-via-ssh.cc')
-rw-r--r-- | src/download-via-ssh/download-via-ssh.cc | 12 |
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; |