From d7da4b29247513dc31fdefad8c7a2c3dbdf84771 Mon Sep 17 00:00:00 2001 From: Jonathan Lamothe Date: Tue, 2 May 2023 17:27:58 -0400 Subject: [PATCH] use LTS 20.19 resolver --- ChangeLog.md | 1 + app/Types.hs | 6 +++--- package.yaml | 10 +++++----- passman.cabal | 24 ++++++++++++------------ src/Password.hs | 3 ++- stack.yaml | 2 +- stack.yaml.lock | 10 +++++----- 7 files changed, 29 insertions(+), 27 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 575d399..b9a858f 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -3,6 +3,7 @@ ## current - updated documentation to on longer mention GitHub +- updated resolver to LTS 20.19 ## 0.3.1 diff --git a/app/Types.hs b/app/Types.hs index 4e47896..8b0e370 100644 --- a/app/Types.hs +++ b/app/Types.hs @@ -26,7 +26,7 @@ module Types (Status (Status), gen, dbPath, masterPass, database) where 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 @@ data Status = Status 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 diff --git a/package.yaml b/package.yaml index f816167..9ec8d27 100644 --- a/package.yaml +++ b/package.yaml @@ -22,12 +22,12 @@ description: a simple password manager - see README.md for details dependencies: - base >= 4.7 && < 5 -- aeson >= 1.5.6.0 && < 1.6 -- bytestring >= 0.10.12.0 && < 0.11 +- aeson >= 2.0.3.0 && < 2.1 +- 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 ghc-options: - -Wall @@ -35,8 +35,8 @@ ghc-options: library: source-dirs: src dependencies: - - base16-bytestring >= 0.1.1.7 && < 0.2 - - base64-bytestring >= 1.1.0.0 && < 1.2 + - base16-bytestring >= 1.0.2.0 && < 1.1 + - base64-bytestring >= 1.2.1.0 && < 1.3 - SHA >= 1.6.4.4 && < 1.7 - text >= 1.2.4.1 && < 1.3 diff --git a/passman.cabal b/passman.cabal index 0471fef..2e350a8 100644 --- a/passman.cabal +++ b/passman.cabal @@ -4,7 +4,7 @@ cabal-version: 2.2 -- -- see: https://github.com/sol/hpack -- --- hash: 6157f976d5dae9df98a4a82881d871f070b9baf338c78402edf88069a48caefb +-- hash: 9f4096a70b6473d30d607c20e0b2f1fff131588b437048ea9246ce8937a1e3fc name: passman version: 0.3.1 @@ -35,15 +35,15 @@ library 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.* + , random >=1.2.1.1 && <1.3 , text >=1.2.4.1 && <1.3 default-language: Haskell2010 @@ -61,15 +61,15 @@ executable passman ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends: HCL ==1.8.* - , 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 , 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.* + , random >=1.2.1.1 && <1.3 , transformers >=0.5.6.2 && <0.6 default-language: Haskell2010 @@ -99,12 +99,12 @@ test-suite passman-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.* + , random >=1.2.1.1 && <1.3 default-language: Haskell2010 diff --git a/src/Password.hs b/src/Password.hs index 871d10d..151801a 100644 --- a/src/Password.hs +++ b/src/Password.hs @@ -63,6 +63,7 @@ import qualified Data.ByteString.Base16.Lazy as B16 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 :: String -> PWData ->B.ByteString 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 $ diff --git a/stack.yaml b/stack.yaml index 317b806..d4d9c28 100644 --- a/stack.yaml +++ b/stack.yaml @@ -17,7 +17,7 @@ # # resolver: ./custom-snapshot.yaml # resolver: https://example.com/snapshots/2018-01-01.yaml -resolver: lts-17.10 +resolver: lts-20.19 # User packages to be built. # Various formats can be used as shown in the example below. diff --git a/stack.yaml.lock b/stack.yaml.lock index c2d9628..a2a32d6 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -7,13 +7,13 @@ packages: - completed: hackage: HCL-1.8@sha256:39ec0da0cd6157f20c395e1b0df474df45efb0088afdaab20bb9dfb3662baf7c,1726 pantry-tree: - size: 1223 sha256: 5c93c5184dc378de5ecf235aa1a60dc24163ab7e0efad19c8f3bbc94354cf2b8 + size: 1223 original: hackage: HCL-1.8@sha256:39ec0da0cd6157f20c395e1b0df474df45efb0088afdaab20bb9dfb3662baf7c,1726 snapshots: - completed: - size: 567241 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/10.yaml - sha256: 321b3b9f0c7f76994b39e0dabafdc76478274b4ff74cc5e43d410897a335ad3b - original: lts-17.10 + sha256: 42f77c84b34f68c30c2cd0bf8c349f617a0f428264362426290847a6a2019b64 + size: 649618 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/19.yaml + original: lts-20.19