aboutsummaryrefslogtreecommitdiff
path: root/src/nix-store
diff options
context:
space:
mode:
authorAndreas Rammhold <andreas@rammhold.de>2022-12-10 11:26:59 +0100
committerAndreas Rammhold <andreas@rammhold.de>2022-12-10 17:55:07 +0100
commitdbc854766498818917c47ebce302266e92b41433 (patch)
tree9ecaa0efaeb63c45cd8567e8104caebd5500ec85 /src/nix-store
parent145e9a81230604baae706371cd19861ba9da3766 (diff)
Ignore the enforceDeterminism value
We used to set enforceDeterminism to true in the settings (by default) and thus did send a non-zero value over the wire. The value should probably be ignored as it should only matter if nrRounds is non-zero as well. Having the old code here where the value is expected to be zero only works with the same version of Nix where we are sending zero. We should always test this against older Nix versions being client or server as otherwise upgrade in larger networks might be a pain. Fixes 8e0946e8df968391d1430af8377bdb51204e4666
Diffstat (limited to 'src/nix-store')
-rw-r--r--src/nix-store/nix-store.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc
index b854ef1e7..85f142c39 100644
--- a/src/nix-store/nix-store.cc
+++ b/src/nix-store/nix-store.cc
@@ -808,12 +808,15 @@ static void opServe(Strings opFlags, Strings opArgs)
if (GET_PROTOCOL_MINOR(clientVersion) >= 2)
settings.maxLogSize = readNum<unsigned long>(in);
if (GET_PROTOCOL_MINOR(clientVersion) >= 3) {
- if (readInt(in) != 0) {
+ auto nrRepeats = readInt(in);
+ if (nrRepeats != 0) {
throw Error("client requested repeating builds, but this is not currently implemented");
}
- if (readInt(in) != 0) {
- throw Error("client requested enforcing determinism, but this is not currently implemented");
- }
+ // Ignore. It used to be true by default, but also only never had any effect when `nrRepeats == 0`.
+ // We have already asserted that `nrRepeats` in fact is 0, so we can safely ignore this without
+ // doing something other than what the client asked for.
+ auto _enforceDeterminism = readInt(in);
+
settings.runDiffHook = true;
}
if (GET_PROTOCOL_MINOR(clientVersion) >= 7) {