aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-05 16:39:29 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-05 16:39:29 +0200
commitb654381eb38b98aa92df343e3c4a939c1e584443 (patch)
treef9409aebdcbcad53dc88d71fc6249db0b1bc01de /src/libstore
parentd0f5719c2a2e5a0eea49dc072b26e7d161564bbb (diff)
Add "nix sign-paths" command
E.g. $ nix sign-paths -k ./secret -r $(type -p geeqie) signs geeqie and all its dependencies using the key in ./secret.
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/store-api.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index b47376e55..b9939feda 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -312,6 +312,9 @@ void Store::exportPaths(const Paths & paths,
std::string ValidPathInfo::fingerprint() const
{
+ if (narSize == 0 || narHash.type == htUnknown)
+ throw Error(format("cannot calculate fingerprint of path ā€˜%sā€™ because its size/hash is not known")
+ % path);
return
"1;" + path + ";"
+ printHashType(narHash.type) + ":" + printHash32(narHash) + ";"