Simplify getting use-ssh-substituter from untrusted users

This commit is contained in:
Eelco Dolstra 2014-02-26 13:58:46 +01:00
parent bf4a577a58
commit 42eb4afd7a
2 changed files with 3 additions and 14 deletions

View File

@ -111,18 +111,6 @@ 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;

View File

@ -557,11 +557,12 @@ static void performOp(bool trusted, unsigned int clientVersion,
for (unsigned int i = 0; i < n; i++) {
string name = readString(from);
string value = readString(from);
if (name == "build-timeout")
string2Int(value, settings.buildTimeout);
if (name == "build-timeout" || name == "use-ssh-substituter")
settings.set(name, value);
else
settings.set(trusted ? name : "untrusted-" + name, value);
}
settings.update();
}
startWork();
stopWork();