-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathzxcvbn-hs.cabal
154 lines (139 loc) · 4.78 KB
/
zxcvbn-hs.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
cabal-version: 2.2
name: zxcvbn-hs
version: 0.3.6
synopsis: Password strength estimation based on zxcvbn.
license: MIT
license-file: LICENSE
author: Peter Jones <[email protected]>
maintainer: Peter Jones <[email protected]>
copyright: Copyright (c) 2019-2020 Peter Jones
homepage: https://github.com/sthenauth/zxcvbn-hs
bug-reports: https://github.com/sthenauth/zxcvbn-hs/issues
category: System
tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.2
description:
This is a native Haskell implementation of the zxcvbn password
strength estimation algorithm as it appears in the 2016 USENIX Security
<https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheeler paper>
and presentation (with some small modifications).
--------------------------------------------------------------------------------
extra-source-files:
CHANGELOG.md
README.md
--------------------------------------------------------------------------------
flag tools
description: Build the data processing tools (i.e. dictionary compilers)
default: False
manual: True
--------------------------------------------------------------------------------
source-repository head
type: git
location: https://github.com/sthenauth/zxcvbn-hs.git
--------------------------------------------------------------------------------
common options
default-language: Haskell2010
ghc-options:
-Wall -Werror=incomplete-record-updates
-Werror=incomplete-uni-patterns -Werror=missing-home-modules
-Widentities -Wmissing-export-lists -Wredundant-constraints
--------------------------------------------------------------------------------
common dependencies
build-depends:
aeson >=1.3 && <2.2 || ^>=2.2.0.0,
attoparsec >=0.13 && <0.15,
base >=4.9 && <5.0,
base64-bytestring >=1.0 && <1.3,
binary >=0.8 && <0.11,
binary-instances >=1 && <2.0,
containers ^>=0.6 || ^>=0.7,
fgl >=5.7 && <5.9,
lens >=4.17 && <6,
math-functions ^>=0.3,
text >=1.2 && <2.1 || ^>=2.1,
time >=1.8 && <2.0,
unordered-containers ^>=0.2,
vector >=0.12 && <0.14,
zlib ^>=0.6
--------------------------------------------------------------------------------
library
import: options, dependencies
-- ghc-prof-options: -fprof-auto -fprof-cafs
hs-source-dirs: src
exposed-modules:
Text.Password.Strength
Text.Password.Strength.Config
Text.Password.Strength.Internal
Text.Password.Strength.Types
other-modules:
Text.Password.Strength.Generated.Adjacency
Text.Password.Strength.Generated.Frequency
Text.Password.Strength.Internal.Adjacency
Text.Password.Strength.Internal.Config
Text.Password.Strength.Internal.Date
Text.Password.Strength.Internal.Dictionary
Text.Password.Strength.Internal.Estimate
Text.Password.Strength.Internal.Keyboard
Text.Password.Strength.Internal.L33t
Text.Password.Strength.Internal.Match
Text.Password.Strength.Internal.Math
Text.Password.Strength.Internal.Repeat
Text.Password.Strength.Internal.Search
Text.Password.Strength.Internal.Sequence
Text.Password.Strength.Internal.Token
--------------------------------------------------------------------------------
executable zxcvbn-tools
import: options, dependencies
main-is: Main.hs
hs-source-dirs: tools
other-modules:
Zxcvbn.Adjacency
Zxcvbn.Encode
Zxcvbn.Freq
Zxcvbn.Global
build-depends:
zxcvbn-hs,
filepath ^>=1.4,
mtl >=2.2,
optparse-applicative >=0.14,
pipes ^>=4.3,
pipes-safe ^>=2.3,
pipes-text >=0.0
if !flag(tools)
buildable: False
--------------------------------------------------------------------------------
executable zxcvbn-example
import: options, dependencies
main-is: Main.hs
hs-source-dirs: example
ghc-prof-options: -rtsopts
build-depends: zxcvbn-hs
--------------------------------------------------------------------------------
test-suite test
import: options, dependencies
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
build-depends:
hedgehog >=0.6 && <1.3 || ^>=1.3 || ^>=1.4,
tasty >=1.1 && <1.6,
tasty-hedgehog >=0.2 && <2,
tasty-hunit ^>=0.10,
zxcvbn-hs
other-modules:
Zxcvbn.Adjacency
Zxcvbn.Date
Zxcvbn.Estimate
Zxcvbn.Match
Zxcvbn.Repeat
Zxcvbn.Search
Zxcvbn.Sequence
--------------------------------------------------------------------------------
benchmark bench
import: options, dependencies
type: exitcode-stdio-1.0
hs-source-dirs: benchmark
main-is: Main.hs
ghc-prof-options: -rtsopts
build-depends:
criterion >=1.5 && <1.7,
zxcvbn-hs