about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/nix-store/nix-store.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc
index a20ba81a6f3d..c919b0f25df6 100644
--- a/src/nix-store/nix-store.cc
+++ b/src/nix-store/nix-store.cc
@@ -584,12 +584,17 @@ static void opExport(Strings opFlags, Strings opArgs)
 
 static void opImport(Strings opFlags, Strings opArgs)
 {
-    if (!opFlags.empty()) throw UsageError("unknown flag");
+    bool requireSignature = false;
+    for (Strings::iterator i = opFlags.begin();
+         i != opFlags.end(); ++i)
+        if (*i == "--require-signature") requireSignature = true;
+        else throw UsageError(format("unknown flag `%1%'") % *i);
+    
     if (!opArgs.empty()) throw UsageError("no arguments expected");
     
     FdSource source(STDIN_FILENO);
     while (readInt(source) == 1)
-        cout << format("%1%\n") % store->importPath(false, source) << std::flush;
+        cout << format("%1%\n") % store->importPath(requireSignature, source) << std::flush;
 }