``` From e1fee7bb9dd508b9bef420fd76292f91bb151c8c Mon Sep 17 00:00:00 2001 From: Mitchell Rosen mitchellwrosen@gmail.com Date: Sat, 1 Apr 2017 14:39:41 -0400 Subject: [PATCH 1/1] Fix compiler errors


HTTP/ProofOfWork.hs | 8 ++++---- HTTP/Server.hs | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/HTTP/ProofOfWork.hs b/HTTP/ProofOfWork.hs index 0237347..9a10d39 100644 --- a/HTTP/ProofOfWork.hs +++ b/HTTP/ProofOfWork.hs @@ -16,7 +16,7 @@ import ByteStrings import GHC.Generics import qualified Data.Text as T import qualified Data.ByteString as B -import Data.Text.Encoding (encodeUtf8) +import Data.Text.Encoding (decodeUtf8, encodeUtf8) import Raaz.Core.Encode import qualified Raaz import Data.BloomFilter.Hash @@ -55,7 +55,7 @@ instance Hashable RequestID where hashIO64 = hashIO64 . hashRequestID

hashRequestID :: RequestID -> B.ByteString -hashRequestID rid = encodeUtf8 (fromRandomSalt (randomSalt rid)) +hashRequestID rid = encodeUtf8 (fromRandomSalt (randomSalt rid)) <> ":" <> encodeUtf8 (requestHMAC rid)

-- | Using Text and not ByteString so that ProofOfWorkRequirement can have a @@ -80,7 +80,7 @@ maxProofOfWork = Seconds (16*60) -- on the very first try. On average, the client will need to work for half -- as long as the returned number of Seconds. generationTime :: ProofOfWorkRequirement -> Seconds -generationTime req = +generationTime req = let UseArgon2 (CPUCost (Seconds s) _) _ = proofOfWorkHashTunable (addedArgon2Iterations req) in Seconds ((2leadingZeros req) * s)

@@ -109,7 +109,7 @@ mkRequestID secret = mkRequeestID' secret <$> mkRandomSalt mkRequeestID' :: RequestIDSecret -> RandomSalt -> RequestID mkRequeestID' (RequestIDSecret key) salt = let hmac = Raaz.hmacSha256 key (encodeUtf8 $ fromRandomSalt salt) - in RequestID salt $ T.toByteString (Raaz.encode hmac :: Base16) + in RequestID salt $ decodeUtf8 $ Raaz.toByteString (Raaz.encode hmac :: Base16)

validRequestID :: RequestIDSecret -> RequestID -> Bool validRequestID secret rid = diff --git a/HTTP/Server.hs b/HTTP/Server.hs index 61bdbfd..12a8f26 100644 --- a/HTTP/Server.hs +++ b/HTTP/Server.hs @@ -18,6 +18,7 @@ import CmdLine (ServerConfig(..)) import Storage.Local import Serialization () import Servant +import Network.Wai (Application) import Network.Wai.Handler.Warp import Control.Monad.IO.Class import Control.Concurrent @@ -51,7 +52,7 @@ runServer d cfg = do _ <- forkIO $ obscurerThread st runSettings settings (app st) where - settings = setHost host $ setPort (serverPort cfg) $ defaultSettings + settings = setHost host $ setPort (serverPort cfg) $ defaultSettings host = fromString (serverAddress cfg)

serverStorage :: Maybe LocalStorageDirectory -> Storage

2.12.1 ```

Thanks for the patch; I applied essentially these fixes although untangled the unrelated issues. done --?Joey