passman 0.3.1 → 0.3.1.1
raw patch · 5 files changed
+41/−38 lines, 5 filesdep ~aesondep ~base16-bytestringdep ~base64-bytestringPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, base16-bytestring, base64-bytestring, bytestring, random
API changes (from Hackage documentation)
Files
- ChangeLog.md +5/−0
- README.md +4/−9
- app/Types.hs +3/−3
- passman.cabal +27/−25
- src/Password.hs +2/−1
ChangeLog.md view
@@ -1,5 +1,10 @@ # Changelog for passman +## 0.3.1.1++- updated documentation to on longer mention GitHub+- updated resolver to LTS 20.19+ ## 0.3.1 - set maximum version of transformers package
README.md view
@@ -1,6 +1,6 @@ # passman -Copyright (C) 2018-2021 Jonathan Lamothe+Copyright (C) 2018-2023 Jonathan Lamothe <jonathan@jlamothe.net> This program is free software: you can redistribute it and/or modify@@ -41,16 +41,11 @@ this, you can simply enter the command `stack install passman` in the terminal to install passman. -## GitHub+## Codeberg -The most recent version of passman can be found on GitHub at-<https://github.com/jlamothe/passman>.+The most recent version of passman can be found on Codeberg at+<https://codeberg.org/jlamothe/passman>. ## Pull Requests Pull requests are welcome, but should be made to the `dev` branch.--## Donations--Bitcoin donations are accepted (but not required) at:-18hqEsXCinyauDp6smPUEVuscjDdasTKvr
app/Types.hs view
@@ -26,7 +26,7 @@ import Lens.Micro (set, (^.)) import Lens.Micro.TH (makeLenses)-import System.Random (RandomGen (next, split), StdGen)+import System.Random (RandomGen (genWord64, split), StdGen) import Password @@ -40,8 +40,8 @@ makeLenses ''Status instance RandomGen Status where- next s = (x, s') where- (x, g') = next g+ genWord64 s = (x, s') where+ (x, g') = genWord64 g s' = set gen g' s g = s^.gen split s = (s1, s2) where
passman.cabal view
@@ -1,51 +1,49 @@-cabal-version: 1.12+cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.35.1. -- -- see: https://github.com/sol/hpack ----- hash: e3bd0ca2b360b025666f4503e3115caaaed34c7719487d90ae4d5eb58f9621e9+-- hash: da6c3020622e5c4c06814752b3f3334e52925005f8b3be9516efb9fd1976af9c name: passman-version: 0.3.1+version: 0.3.1.1 synopsis: a simple password manager-description: Please see the README on GitHub at <https://github.com/jlamothe/passman#readme>+description: a simple password manager - see README.md for details category: Security-homepage: https://github.com/jlamothe/passman#readme-bug-reports: https://github.com/jlamothe/passman/issues+homepage: https://codeberg.org/jlamothe/passman+bug-reports: https://codeberg.org/jlamothe/passman/issues author: Jonathan Lamothe maintainer: jonathan@jlamothe.net-copyright: (C) 2018-2021 Jonathan Lamothe-license: LGPL-3+copyright: (C) 2018-2023 Jonathan Lamothe+license: LGPL-3.0-or-later license-file: LICENSE build-type: Simple extra-source-files: README.md ChangeLog.md -source-repository head- type: git- location: https://github.com/jlamothe/passman- library exposed-modules: Password other-modules: Paths_passman+ autogen-modules:+ Paths_passman hs-source-dirs: src ghc-options: -Wall build-depends: SHA >=1.6.4.4 && <1.7- , aeson >=1.5.6.0 && <1.6+ , aeson >=2.0.3.0 && <2.1 , base >=4.7 && <5- , base16-bytestring >=0.1.1.7 && <0.2- , base64-bytestring >=1.1.0.0 && <1.2- , bytestring >=0.10.12.0 && <0.11+ , base16-bytestring >=1.0.2.0 && <1.1+ , base64-bytestring >=1.2.1.0 && <1.3+ , bytestring >=0.11.4.0 && <0.12 , containers >=0.6.2.1 && <0.7 , microlens >=0.4.11.2 && <0.5 , microlens-th >=0.4.3.6 && <0.5- , random >=1.1 && <1.2+ , random >=1.2.1.1 && <1.3 , text >=1.2.4.1 && <1.3 default-language: Haskell2010 @@ -56,20 +54,22 @@ UI Util Paths_passman+ autogen-modules:+ Paths_passman hs-source-dirs: app ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends:- HCL >=1.8 && <1.9- , aeson >=1.5.6.0 && <1.6+ HCL ==1.8.*+ , aeson >=2.0.3.0 && <2.1 , base >=4.7 && <5- , bytestring >=0.10.12.0 && <0.11+ , bytestring >=0.11.4.0 && <0.12 , containers >=0.6.2.1 && <0.7 , easy-file >=0.2.2 && <0.3 , microlens >=0.4.11.2 && <0.5 , microlens-th >=0.4.3.6 && <0.5 , passman- , random >=1.1 && <1.2+ , random >=1.2.1.1 && <1.3 , transformers >=0.5.6.2 && <0.6 default-language: Haskell2010 @@ -92,17 +92,19 @@ Spec.ValidatePWDatabase Spec.ValidatePWPolicy Paths_passman+ autogen-modules:+ Paths_passman hs-source-dirs: test ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends: HUnit- , aeson >=1.5.6.0 && <1.6+ , aeson >=2.0.3.0 && <2.1 , base >=4.7 && <5- , bytestring >=0.10.12.0 && <0.11+ , bytestring >=0.11.4.0 && <0.12 , containers >=0.6.2.1 && <0.7 , microlens >=0.4.11.2 && <0.5 , microlens-th >=0.4.3.6 && <0.5 , passman- , random >=1.1 && <1.2+ , random >=1.2.1.1 && <1.3 default-language: Haskell2010
src/Password.hs view
@@ -63,6 +63,7 @@ import qualified Data.ByteString.Base64.Lazy as B64 import Data.Char (isUpper, isLower, isDigit, isAlphaNum, toLower) import Data.Digest.Pure.SHA+import Data.Either (fromRight) import qualified Data.Map as M import Data.Maybe (fromMaybe) import qualified Data.Text as T@@ -341,7 +342,7 @@ mkSeed pw d = toUTF8 pw `B.append` (d^.pwSalt.to runPWSalt) mkHash :: B.ByteString -> B.ByteString-mkHash = fst . B16.decode . toUTF8 . show . sha256+mkHash = fromRight "" . B16.decode . toUTF8 . show . sha256 nextPolicy :: Char -> PWPolicy -> PWPolicy nextPolicy x p = over pwLength pred $