aboutsummaryrefslogtreecommitdiff
path: root/Setup.hs
Commit message (Collapse)AuthorAge
* Formatting passGravatar Benjamin Barenblat2018-04-28
| | | | | | I don’t always like the output hindent gives, so reformat the project to be a bit closer to what you see in published Haskell books and the like.
* Switch to c2hsGravatar Benjamin Barenblat2018-04-28
| | | | | | | | | | Let the computer figure out its own types for most foreign imports. Continue using the vanilla FFI for finalizers, though, as that’s the easiest way to deal with function pointers. Reuse the build hook from gtk2hs-buildtools to work around Cabal’s inability to topologically sort .chs dependencies (https://github.com/haskell/cabal/issues/1906).
* Apply Apache LicenseGravatar Benjamin Barenblat2018-03-28
|
* Begin writing btls, a Haskell crypto and TLS library using BoringSSLGravatar Benjamin Barenblat2017-12-30
So far, btls provides SHA-224, SHA-256, SHA-384, and SHA-512 algorithms. To do that, I - vendor BoringSSL and create a custom `Setup.hs` to build it, - wrap a number of functions and values from BoringSSL's EVP subsystem, and - implement the four SHA-2 algorithms using the wrapped routines. I provide conformance tests incorporating the official NIST example vectors and the vectors used in the Go SHA-2 test suite. The tests also use SmallCheck to compare btls’s SHA-2 implementations with those provided by the system’s Coreutils and openssl(1) installations.