From 4ef50d809237838ad5c458ae3ebcd01bf1cd8c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Ch=C3=A9ron?= Date: Sat, 15 Jul 2017 16:01:49 +0200 Subject: [PATCH 1/2] Bump dependencies to base >= 4.6 This is needed for GHC.TypeLits. --- cryptonite.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cryptonite.cabal b/cryptonite.cabal index 25f4872..c85f26f 100644 --- a/cryptonite.cabal +++ b/cryptonite.cabal @@ -224,7 +224,7 @@ Library Other-modules: Crypto.Hash.SHAKE Crypto.Hash.Blake2 Crypto.Internal.Nat - Build-depends: base >= 4.3 && < 5 + Build-depends: base >= 4.6 && < 5 , bytestring , memory >= 0.14.5 , foundation >= 0.0.8 From 4723dc0b3917e494b3d2b07bf03e29201d9f5fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Ch=C3=A9ron?= Date: Mon, 23 Oct 2017 20:39:00 +0200 Subject: [PATCH 2/2] Use Proxy in openBackend Replaces 'undefined' and fixes #198. --- Crypto/Random/Entropy/Backend.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Crypto/Random/Entropy/Backend.hs b/Crypto/Random/Entropy/Backend.hs index 8ff03e7..eb2a92e 100644 --- a/Crypto/Random/Entropy/Backend.hs +++ b/Crypto/Random/Entropy/Backend.hs @@ -15,6 +15,7 @@ module Crypto.Random.Entropy.Backend import Foreign.Ptr import Data.Word (Word8) +import Crypto.Internal.Proxy import Crypto.Random.Entropy.Source #ifdef SUPPORT_RDRAND import Crypto.Random.Entropy.RDRand @@ -30,12 +31,12 @@ supportedBackends :: [IO (Maybe EntropyBackend)] supportedBackends = [ #ifdef SUPPORT_RDRAND - openBackend (undefined :: RDRand), + openBackend (Proxy :: Proxy RDRand), #endif #ifdef WINDOWS - openBackend (undefined :: WinCryptoAPI) + openBackend (Proxy :: Proxy WinCryptoAPI) #else - openBackend (undefined :: DevRandom), openBackend (undefined :: DevURandom) + openBackend (Proxy :: Proxy DevRandom), openBackend (Proxy :: Proxy DevURandom) #endif ] @@ -43,9 +44,9 @@ supportedBackends = data EntropyBackend = forall b . EntropySource b => EntropyBackend b -- | Open a backend handle -openBackend :: EntropySource b => b -> IO (Maybe EntropyBackend) +openBackend :: EntropySource b => Proxy b -> IO (Maybe EntropyBackend) openBackend b = fmap EntropyBackend `fmap` callOpen b - where callOpen :: EntropySource b => b -> IO (Maybe b) + where callOpen :: EntropySource b => Proxy b -> IO (Maybe b) callOpen _ = entropyOpen -- | Gather randomness from an open handle