]>
Commit | Line | Data |
---|---|---|
f6781456 JT |
1 | name: hmacaroons |
2 | version: 0.1.0.0 | |
3 | synopsis: Haskell implementation of macaroons | |
7001a61e JT |
4 | description: |
5 | = Macaroons: Pure haskell implementation of macaroons | |
6 | #macaroons-pure-haskell-implementation-of-macaroons# | |
7 | ||
8 | Macaroons is a pure haskell implementation of macaroons. It aims to | |
9 | provide compatibility at a serialized level with the | |
10 | <https://github.com/rescrv/libmacaroons reference implementation> and | |
11 | the <https://github.com/ecordell/pymacaroons python implementation> | |
12 | ||
13 | __WARNING: This library has not been audited by security experts.__ | |
14 | __There is no error handling at the moment, everyhting is silently | |
15 | accepted__ | |
16 | ||
17 | It is developed in the purpose of exploration purposes, and would need | |
18 | much more attention if it were to be used in production. | |
19 | ||
20 | = References | |
21 | #references# | |
22 | ||
23 | == Papers and articles | |
24 | #papers-and-articles# | |
25 | ||
26 | - <http://research.google.com/pubs/pub41892.html Google paper on macaroons> | |
27 | - <https://air.mozilla.org/macaroons-cookies-with-contextual-caveats-for-decentralized-authorization-in-the-cloud/ Macaroons at Mozilla> | |
28 | - <http://hackingdistributed.com/2014/11/23/macaroons-in-hyperdex/ Time for better security in NoSQL> | |
29 | ||
30 | == Implementations | |
31 | #implementations# | |
32 | ||
33 | - <https://github.com/rescrv/libmacaroons C> | |
34 | - <https://github.com/nitram509/jmacaroons Java> | |
35 | - <https://github.com/nitram509/macaroons.js Node.js> | |
36 | - <https://github.com/ecordell/pymacaroons Python> | |
37 | - <https://github.com/cryptosphere/rust-macaroons.git Rust> | |
38 | ||
39 | = TODO | |
40 | #todo# | |
41 | ||
42 | - Third party caveats | |
43 | - Verify Macaroons | |
44 | - Discharge Macaroons | |
45 | - JSON serialization | |
46 | - Quickcheck tests | |
47 | - Error handling | |
48 | - FFI\'s for testing and benchmarking purposes | |
f6781456 JT |
49 | license: BSD3 |
50 | license-file: LICENSE | |
51 | author: Julien Tanguy | |
52 | maintainer: julien.tanguy@jhome.fr | |
7001a61e JT |
53 | homepage: https://github.com/jtanguy/hmacaroons |
54 | bug-reports: https://github.com/jtanguy/hmacaroons/issues | |
f6781456 JT |
55 | category: Data |
56 | build-type: Simple | |
57 | extra-source-files: README.md | |
7001a61e | 58 | CONTRIBUTING.md |
f6781456 JT |
59 | cabal-version: >=1.10 |
60 | ||
7001a61e JT |
61 | source-repository head |
62 | type: git | |
63 | branch: master | |
64 | location: https://github.com/jtanguy/hmacaroons | |
65 | ||
f6781456 JT |
66 | library |
67 | exposed-modules: Crypto.Macaroon, | |
68 | Crypto.Macaroon.Binder | |
a20c77f8 | 69 | Crypto.Macaroon.Serializer.Base64 |
f6781456 | 70 | other-modules: Crypto.Macaroon.Internal |
f6781456 | 71 | build-depends: base >=4 && < 5, |
a20c77f8 | 72 | attoparsec >=0.12, |
f6781456 JT |
73 | bytestring >=0.10, |
74 | base64-bytestring >= 1.0, | |
75 | byteable >= 0.1 && <0.2, | |
76 | cereal >= 0.4, | |
77 | cryptohash >=0.11 && <0.12, | |
78 | cipher-aes >=0.2 && <0.3, | |
79 | deepseq >= 1.1, | |
80 | hex >= 0.1 | |
81 | hs-source-dirs: src | |
82 | default-language: Haskell2010 | |
83 | ||
84 | benchmark bench | |
85 | default-language: Haskell2010 | |
86 | type: exitcode-stdio-1.0 | |
87 | hs-source-dirs: src, bench | |
88 | main-is: bench.hs | |
89 | ghc-options: -O2 | |
90 | build-depends: base >= 4 && <5, | |
a20c77f8 | 91 | attoparsec >=0.12, |
f6781456 JT |
92 | bytestring >=0.10, |
93 | base64-bytestring >= 1.0, | |
7001a61e | 94 | byteable >= 0.1 && <0.2, |
f6781456 JT |
95 | cereal >= 0.4, |
96 | cryptohash >=0.11 && <0.12, | |
7001a61e | 97 | -- cipher-aes >=0.2 && <0.3, |
f6781456 JT |
98 | hex >= 0.1, |
99 | deepseq >= 1.1, | |
100 | criterion >= 1.1 | |
7001a61e | 101 | |
f6781456 JT |
102 | test-suite test |
103 | default-language: Haskell2010 | |
104 | type: exitcode-stdio-1.0 | |
105 | hs-source-dirs: test | |
46af385c | 106 | main-is: main.hs |
f6781456 | 107 | build-depends: base >= 4 && <5, |
a20c77f8 | 108 | attoparsec >=0.12, |
f6781456 JT |
109 | bytestring >=0.10, |
110 | base64-bytestring >= 1.0, | |
111 | byteable >= 0.1 && <0.2, | |
112 | cereal >= 0.4, | |
113 | cryptohash >=0.11 && <0.12, | |
114 | hex >= 0.1, | |
115 | tasty >= 0.10, | |
116 | tasty-hunit >= 0.9, | |
a22bcdb6 | 117 | tasty-quickcheck >= 0.8, |
f6781456 | 118 | hmacaroons |