aboutsummaryrefslogtreecommitdiffhomepage
path: root/hmacaroons.cabal
blob: e80cfa42ca200512d7dcecc6e3f9ad9619e888a3 (plain) (blame)
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
name:                hmacaroons
version:             0.1.0.0
synopsis:            Haskell implementation of macaroons
description:
  = Macaroons: Pure haskell implementation of macaroons
  #macaroons-pure-haskell-implementation-of-macaroons#
  .
  Macaroons is a pure haskell implementation of macaroons. It aims to
  provide compatibility at a serialized level with the
  <https://github.com/rescrv/libmacaroons reference implementation> and
  the <https://github.com/ecordell/pymacaroons python implementation>
  .
  __WARNING: This library has not been audited by security experts.__
  __There is no error handling at the moment, everyhting is silently accepted__
  .
  It is developed in the purpose of exploration purposes, and would need
  much more attention if it were to be used in production.
  .
  = References
  #references#
  .
  == Papers and articles
  #papers-and-articles#
  .
  -   <http://research.google.com/pubs/pub41892.html Google paper on macaroons>
  -   <https://air.mozilla.org/macaroons-cookies-with-contextual-caveats-for-decentralized-authorization-in-the-cloud/ Macaroons at Mozilla>
  -   <http://hackingdistributed.com/2014/11/23/macaroons-in-hyperdex/ Time for better security in NoSQL>
  .
  == Implementations
  #implementations#
  .
  -   <https://github.com/rescrv/libmacaroons C>
  -   <https://github.com/nitram509/jmacaroons Java>
  -   <https://github.com/nitram509/macaroons.js Node.js>
  -   <https://github.com/ecordell/pymacaroons Python>
  -   <https://github.com/cryptosphere/rust-macaroons.git Rust>
license:             BSD3
license-file:        LICENSE
author:              Julien Tanguy
maintainer:          julien.tanguy@jhome.fr
homepage:            https://github.com/jtanguy/hmacaroons
bug-reports:         https://github.com/jtanguy/hmacaroons/issues
category:            Data
build-type:          Simple
extra-source-files:  README.md
                     CONTRIBUTING.md
                     CHANGELOG
cabal-version:       >=1.10

source-repository head
    type:       git
    branch:     master
    location:   https://github.com/jtanguy/hmacaroons

library
  exposed-modules:     Crypto.Macaroon,
                       Crypto.Macaroon.Binder
                       Crypto.Macaroon.Serializer.Base64
  other-modules:       Crypto.Macaroon.Internal
  build-depends:  base >=4 && < 5,
                  attoparsec >=0.12,
                  bytestring >=0.10,
                  base64-bytestring >= 1.0,
                  byteable >= 0.1 && <0.2,
                  cereal >= 0.4,
                  cryptohash >=0.11 && <0.12,
                  -- cipher-aes >=0.2 && <0.3,
                  deepseq >= 1.1,
                  hex >= 0.1
  hs-source-dirs:      src
  default-language:    Haskell2010

benchmark bench
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   src, bench
  main-is:          bench.hs
  ghc-options:      -O2
  build-depends:  base >= 4 && <5,
                  attoparsec >=0.12,
                  bytestring >=0.10,
                  base64-bytestring >= 1.0,
                  byteable >= 0.1 && <0.2,
                  cereal >= 0.4,
                  cryptohash >=0.11 && <0.12,
                  -- cipher-aes >=0.2 && <0.3,
                  hex >= 0.1,
                  deepseq >= 1.1,
                  criterion >= 1.1

test-suite test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: main.hs
  build-depends:  base >= 4 && <5,
                  attoparsec >=0.12,
                  bytestring >=0.10,
                  base64-bytestring >= 1.0,
                  byteable >= 0.1 && <0.2,
                  cereal >= 0.4,
                  cryptohash >=0.11 && <0.12,
                  hex >= 0.1,
                  tasty >= 0.10,
                  tasty-hunit >= 0.9,
                  tasty-quickcheck >= 0.8,
                  QuickCheck < 2.8,
                  hmacaroons