aboutsummaryrefslogtreecommitdiff
path: root/Setup.hs
Commit message (Collapse)AuthorAge
* Only build libcrypto.aGravatar Benjamin Barenblat2018-07-17
| | | | | We’re not currently using any other part of BoringSSL, so don’t waste time building anything else.
* Update BoringSSLGravatar Benjamin Barenblat2018-07-03
| | | | | | | https://boringssl.googlesource.com/boringssl/+/03de6813d8992a649092b4874ef0ebc022e2f58a means BoringSSL now by default includes relocations that don't play well with shared libraries. Make `cabal build --enable-shared` work again by building all BoringSSL code as PIC.
* 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.