Compare commits

..

No commits in common. "master" and "b9d52070f199728db617ac7443eb11ee746f5aeb" have entirely different histories.

8 changed files with 54 additions and 58 deletions

View File

@ -1,10 +1,5 @@
# 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

View File

@ -1,6 +1,6 @@
# passman
Copyright (C) 2018-2023 Jonathan Lamothe
Copyright (C) 2018-2021 Jonathan Lamothe
<jonathan@jlamothe.net>
This program is free software: you can redistribute it and/or modify
@ -41,11 +41,16 @@ for instructions on installing Haskell Stack. Once you have done
this, you can simply enter the command `stack install passman` in the
terminal to install passman.
## Codeberg
## GitHub
The most recent version of passman can be found on Codeberg at
<https://codeberg.org/jlamothe/passman>.
The most recent version of passman can be found on GitHub at
<https://github.com/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

View File

@ -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 (genWord64, split), StdGen)
import System.Random (RandomGen (next, split), StdGen)
import Password
@ -40,8 +40,8 @@ data Status = Status
makeLenses ''Status
instance RandomGen Status where
genWord64 s = (x, s') where
(x, g') = genWord64 g
next s = (x, s') where
(x, g') = next g
s' = set gen g' s
g = s^.gen
split s = (s1, s2) where

View File

@ -1,11 +1,10 @@
name: passman
version: 0.3.1.1
license: LGPL-3.0-or-later
version: 0.3.1
github: "jlamothe/passman"
license: LGPL-3
author: "Jonathan Lamothe"
maintainer: "jonathan@jlamothe.net"
copyright: "(C) 2018-2023 Jonathan Lamothe"
homepage: https://codeberg.org/jlamothe/passman
bug-reports: https://codeberg.org/jlamothe/passman/issues
copyright: "(C) 2018-2021 Jonathan Lamothe"
extra-source-files:
- README.md
@ -18,16 +17,16 @@ category: Security
# To avoid duplicated efforts in documentation and dealing with the
# complications of embedding Haddock markup inside cabal files, it is
# common to point users to the README.md file.
description: a simple password manager - see README.md for details
description: Please see the README on GitHub at <https://github.com/jlamothe/passman#readme>
dependencies:
- base >= 4.7 && < 5
- aeson >= 2.0.3.0 && < 2.1
- bytestring >= 0.11.4.0 && < 0.12
- aeson >= 1.5.6.0 && < 1.6
- bytestring >= 0.10.12.0 && < 0.11
- containers >= 0.6.2.1 && < 0.7
- microlens >= 0.4.11.2 && < 0.5
- microlens-th >= 0.4.3.6 && < 0.5
- random >=1.2.1.1 && < 1.3
- random >=1.1 && < 1.2
ghc-options:
- -Wall
@ -35,8 +34,8 @@ ghc-options:
library:
source-dirs: src
dependencies:
- base16-bytestring >= 1.0.2.0 && < 1.1
- base64-bytestring >= 1.2.1.0 && < 1.3
- base16-bytestring >= 0.1.1.7 && < 0.2
- base64-bytestring >= 1.1.0.0 && < 1.2
- SHA >= 1.6.4.4 && < 1.7
- text >= 1.2.4.1 && < 1.3

View File

@ -1,49 +1,51 @@
cabal-version: 2.2
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.35.1.
-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: da6c3020622e5c4c06814752b3f3334e52925005f8b3be9516efb9fd1976af9c
-- hash: e3bd0ca2b360b025666f4503e3115caaaed34c7719487d90ae4d5eb58f9621e9
name: passman
version: 0.3.1.1
version: 0.3.1
synopsis: a simple password manager
description: a simple password manager - see README.md for details
description: Please see the README on GitHub at <https://github.com/jlamothe/passman#readme>
category: Security
homepage: https://codeberg.org/jlamothe/passman
bug-reports: https://codeberg.org/jlamothe/passman/issues
homepage: https://github.com/jlamothe/passman#readme
bug-reports: https://github.com/jlamothe/passman/issues
author: Jonathan Lamothe
maintainer: jonathan@jlamothe.net
copyright: (C) 2018-2023 Jonathan Lamothe
license: LGPL-3.0-or-later
copyright: (C) 2018-2021 Jonathan Lamothe
license: LGPL-3
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 >=2.0.3.0 && <2.1
, aeson >=1.5.6.0 && <1.6
, base >=4.7 && <5
, base16-bytestring >=1.0.2.0 && <1.1
, base64-bytestring >=1.2.1.0 && <1.3
, bytestring >=0.11.4.0 && <0.12
, base16-bytestring >=0.1.1.7 && <0.2
, base64-bytestring >=1.1.0.0 && <1.2
, bytestring >=0.10.12.0 && <0.11
, containers >=0.6.2.1 && <0.7
, microlens >=0.4.11.2 && <0.5
, microlens-th >=0.4.3.6 && <0.5
, random >=1.2.1.1 && <1.3
, random >=1.1 && <1.2
, text >=1.2.4.1 && <1.3
default-language: Haskell2010
@ -54,22 +56,20 @@ executable passman
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.*
, aeson >=2.0.3.0 && <2.1
HCL >=1.8 && <1.9
, aeson >=1.5.6.0 && <1.6
, base >=4.7 && <5
, bytestring >=0.11.4.0 && <0.12
, bytestring >=0.10.12.0 && <0.11
, 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.2.1.1 && <1.3
, random >=1.1 && <1.2
, transformers >=0.5.6.2 && <0.6
default-language: Haskell2010
@ -92,19 +92,17 @@ test-suite passman-test
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 >=2.0.3.0 && <2.1
, aeson >=1.5.6.0 && <1.6
, base >=4.7 && <5
, bytestring >=0.11.4.0 && <0.12
, bytestring >=0.10.12.0 && <0.11
, 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.2.1.1 && <1.3
, random >=1.1 && <1.2
default-language: Haskell2010

View File

@ -63,7 +63,6 @@ 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
@ -342,7 +341,7 @@ mkSeed :: String -> PWData ->B.ByteString
mkSeed pw d = toUTF8 pw `B.append` (d^.pwSalt.to runPWSalt)
mkHash :: B.ByteString -> B.ByteString
mkHash = fromRight "" . B16.decode . toUTF8 . show . sha256
mkHash = fst . B16.decode . toUTF8 . show . sha256
nextPolicy :: Char -> PWPolicy -> PWPolicy
nextPolicy x p = over pwLength pred $

View File

@ -17,7 +17,7 @@
#
# resolver: ./custom-snapshot.yaml
# resolver: https://example.com/snapshots/2018-01-01.yaml
resolver: lts-20.19
resolver: lts-17.10
# User packages to be built.
# Various formats can be used as shown in the example below.

View File

@ -7,13 +7,13 @@ packages:
- completed:
hackage: HCL-1.8@sha256:39ec0da0cd6157f20c395e1b0df474df45efb0088afdaab20bb9dfb3662baf7c,1726
pantry-tree:
sha256: 5c93c5184dc378de5ecf235aa1a60dc24163ab7e0efad19c8f3bbc94354cf2b8
size: 1223
sha256: 5c93c5184dc378de5ecf235aa1a60dc24163ab7e0efad19c8f3bbc94354cf2b8
original:
hackage: HCL-1.8@sha256:39ec0da0cd6157f20c395e1b0df474df45efb0088afdaab20bb9dfb3662baf7c,1726
snapshots:
- completed:
sha256: 42f77c84b34f68c30c2cd0bf8c349f617a0f428264362426290847a6a2019b64
size: 649618
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/19.yaml
original: lts-20.19
size: 567241
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/10.yaml
sha256: 321b3b9f0c7f76994b39e0dabafdc76478274b4ff74cc5e43d410897a335ad3b
original: lts-17.10