mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2025-01-19 17:46:46 +02:00
Merge pull request #9587 from amjoseph-nixpkgs/pr/wopBuildDerivation/explain
libstore/daemon.cc: note trust model difference in readDerivation()s
This commit is contained in:
commit
5c917c3204
1 changed files with 9 additions and 0 deletions
|
@ -574,6 +574,15 @@ static void performOp(TunnelLogger * logger, ref<Store> store,
|
||||||
case WorkerProto::Op::BuildDerivation: {
|
case WorkerProto::Op::BuildDerivation: {
|
||||||
auto drvPath = store->parseStorePath(readString(from));
|
auto drvPath = store->parseStorePath(readString(from));
|
||||||
BasicDerivation drv;
|
BasicDerivation drv;
|
||||||
|
/*
|
||||||
|
* Note: unlike wopEnsurePath, this operation reads a
|
||||||
|
* derivation-to-be-realized from the client with
|
||||||
|
* readDerivation(Source,Store) rather than reading it from
|
||||||
|
* the local store with Store::readDerivation(). Since the
|
||||||
|
* derivation-to-be-realized is not registered in the store
|
||||||
|
* it cannot be trusted that its outPath was calculated
|
||||||
|
* correctly.
|
||||||
|
*/
|
||||||
readDerivation(from, *store, drv, Derivation::nameFromPath(drvPath));
|
readDerivation(from, *store, drv, Derivation::nameFromPath(drvPath));
|
||||||
BuildMode buildMode = (BuildMode) readInt(from);
|
BuildMode buildMode = (BuildMode) readInt(from);
|
||||||
logger->startWork();
|
logger->startWork();
|
||||||
|
|
Loading…
Reference in a new issue