passman 0.3.0.2 → 0.3.1
raw patch · 3 files changed
+32/−17 lines, 3 filesdep ~transformers
Dependency ranges changed: transformers
Files
- ChangeLog.md +5/−0
- app/UI.hs +24/−14
- passman.cabal +3/−3
ChangeLog.md view
@@ -1,5 +1,10 @@ # Changelog for passman +## 0.3.1++- set maximum version of transformers package+- allow user to specifiy a temporary master password to retrieve a password+ ## 0.3.0.2 - more dependency versions
app/UI.hs view
@@ -27,7 +27,7 @@ import Control.Monad (when) import Control.Monad.Trans.Class (lift) import qualified Control.Monad.Trans.State as S-import Lens.Micro (over, set, (^.))+import Lens.Micro (over, set, (^.), (.~)) import Lens.Micro.Extras (view) import System.Console.HCL ( Request@@ -161,11 +161,12 @@ servMenu :: String -> S.StateT Status IO () servMenu x = menu x- [ ( "show password", showPass x >> servMenu x )- , ( "edit password", editPassMenu x )- , ( "remove service", removeServ x )- , ( "rename service", renameServ x )- , ( "back", mainMenu )+ [ ( "show password", showPass x >> servMenu x )+ , ( "show alternate password", showAltPass x )+ , ( "edit password", editPassMenu x )+ , ( "remove service", removeServ x )+ , ( "rename service", renameServ x )+ , ( "back", mainMenu ) ] editPassMenu :: String -> S.StateT Status IO ()@@ -225,15 +226,24 @@ editPassMenu x showPass :: String -> S.StateT Status IO ()-showPass x = do+showPass x = withService x+ (lift $ putStrLn "The service could not be found in the database.") $+ \d -> do+ lift $ putStrLn ""+ mp <- S.gets $ view masterPass+ lift $ putStrLn $ case pwGenerate mp d of+ Nothing -> "The password data were not valid."+ Just pw -> "password for " ++ x ++ ": " ++ pw++showAltPass :: String -> S.StateT Status IO ()+showAltPass srv = do lift $ putStrLn ""- withService x- (lift $ putStrLn "The service could not be found in the database.") $- \d -> do- mp <- S.gets $ view masterPass- lift $ putStrLn $ case pwGenerate mp d of- Nothing -> "The password data were not valid."- Just pw -> "password for " ++ x ++ ": " ++ pw+ old <- S.gets $ view masterPass+ Just new <- lift $ runRequest $ required $ prompt "alternate master password: " reqPassword+ S.modify $ masterPass .~ new+ showPass srv+ S.modify $ masterPass .~ old+ servMenu srv -- TODO: refactor this monstrosity editPolicy :: PWPolicy -> Request PWPolicy
passman.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 2f7f0e04b3c25e738c5538d07d22d64c28c2a586ed82d577999d070ceafc41ba+-- hash: e3bd0ca2b360b025666f4503e3115caaaed34c7719487d90ae4d5eb58f9621e9 name: passman-version: 0.3.0.2+version: 0.3.1 synopsis: a simple password manager description: Please see the README on GitHub at <https://github.com/jlamothe/passman#readme> category: Security@@ -70,7 +70,7 @@ , microlens-th >=0.4.3.6 && <0.5 , passman , random >=1.1 && <1.2- , transformers >=0.5.6.2+ , transformers >=0.5.6.2 && <0.6 default-language: Haskell2010 test-suite passman-test