diff options
Diffstat (limited to 'keysafe.hs')
-rw-r--r-- | keysafe.hs | 24 |
1 files changed, 11 insertions, 13 deletions
@@ -35,16 +35,17 @@ main :: IO () main = do cmdline <- CmdLine.get ui <- selectUI (CmdLine.gui cmdline) - tunables <- if CmdLine.testMode cmdline + let mkt = CmdLine.customizeShardParams cmdline + (tunables, possibletunables) <- if CmdLine.testMode cmdline then do showInfo ui "Test mode" "Keysafe is running in test mode. This is not secure, and should not be used with real secret keys!" - return testModeTunables - else return defaultTunables - dispatch cmdline ui tunables + return (mkt testModeTunables, [mkt testModeTunables]) + else return (mkt defaultTunables, map (mkt . snd) knownTunings) + dispatch cmdline ui tunables possibletunables -dispatch :: CmdLine.CmdLine -> UI -> Tunables -> IO () -dispatch cmdline ui tunables = do +dispatch :: CmdLine.CmdLine -> UI -> Tunables -> [Tunables] -> IO () +dispatch cmdline ui tunables possibletunables = do mode <- CmdLine.selectMode cmdline go mode (CmdLine.secretkeysource cmdline) where @@ -53,12 +54,12 @@ dispatch cmdline ui tunables = do backup storage ui tunables secretkeysource =<< getSecretKey secretkeysource go CmdLine.Restore (Just secretkeydest) = - restore storage ui (CmdLine.testMode cmdline) secretkeydest + restore storage ui possibletunables secretkeydest go CmdLine.Backup Nothing = backup storage ui tunables Gpg.anyKey =<< Gpg.getKeyToBackup ui go CmdLine.Restore Nothing = - restore storage ui (CmdLine.testMode cmdline) Gpg.anyKey + restore storage ui possibletunables Gpg.anyKey go CmdLine.Benchmark _ = benchmarkTunables tunables @@ -143,8 +144,8 @@ backup storage ui tunables secretkeysource secretkey = do , "Please wait..." ] -restore :: Storage -> UI -> Bool -> SecretKeySource -> IO () -restore storage ui testmode secretkeydest = do +restore :: Storage -> UI -> [Tunables] -> SecretKeySource -> IO () +restore storage ui possibletunables secretkeydest = do username <- userName name <- fromMaybe (error "Aborting on no name") <$> promptName ui "Enter name" @@ -169,9 +170,6 @@ restore storage ui testmode secretkeydest = do writeSecretKey secretkeydest secretkey showInfo ui "Success" "Your secret key successfully restored!" where - possibletunables - | testmode = [testModeTunables] - | otherwise = map snd knownTunings namedesc = unlines [ "When you backed up your secret key, you entered a name and a password." , "Now it's time to remember what you entered back then." |