aboutsummaryrefslogtreecommitdiff
path: root/src/nix-daemon/nix-daemon.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-06-28 18:11:01 +0200
committerEelco Dolstra <edolstra@gmail.com>2017-07-03 11:38:08 +0200
commitfcca702a96a8ca0e73f6d035052c30121776aeba (patch)
tree73f85b723f0cac6054a7c7e89ffa040b7b890456 /src/nix-daemon/nix-daemon.cc
parent90da34e421607ad6c40f3dea08709ae89db7a7e1 (diff)
Replace a few bool flags with enums
Functions like copyClosure() had 3 bool arguments, which creates a severe risk of mixing up arguments. Also, implement copyClosure() using copyPaths().
Diffstat (limited to 'src/nix-daemon/nix-daemon.cc')
-rw-r--r--src/nix-daemon/nix-daemon.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nix-daemon/nix-daemon.cc b/src/nix-daemon/nix-daemon.cc
index 44127635d..c9c167766 100644
--- a/src/nix-daemon/nix-daemon.cc
+++ b/src/nix-daemon/nix-daemon.cc
@@ -304,7 +304,7 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
string s = readString(from);
PathSet refs = readStorePaths<PathSet>(*store, from);
startWork();
- Path path = store->addTextToStore(suffix, s, refs, false);
+ Path path = store->addTextToStore(suffix, s, refs, NoRepair);
stopWork();
to << path;
break;
@@ -324,7 +324,8 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
case wopImportPaths: {
startWork();
TunnelSource source(from);
- Paths paths = store->importPaths(source, 0, trusted);
+ Paths paths = store->importPaths(source, nullptr,
+ trusted ? NoCheckSigs : CheckSigs);
stopWork();
to << paths;
break;
@@ -576,7 +577,7 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
startWork();
if (repair && !trusted)
throw Error("you are not privileged to repair paths");
- bool errors = store->verifyStore(checkContents, repair);
+ bool errors = store->verifyStore(checkContents, (RepairFlag) repair);
stopWork();
to << errors;
break;
@@ -623,7 +624,8 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
parseDump(tee, tee.source);
startWork();
- store->addToStore(info, tee.source.data, repair, dontCheckSigs, nullptr);
+ store->addToStore(info, tee.source.data, (RepairFlag) repair,
+ dontCheckSigs ? NoCheckSigs : CheckSigs, nullptr);
stopWork();
break;
}