packages feed

commsec 0.3 → 0.3.1

raw patch · 2 files changed

+9/−6 lines, 2 files

Files

Network/CommSec.hs view
@@ -43,6 +43,7 @@             = Conn { inCtx        :: MVar InContext                    , outCtx       :: MVar OutContext                    , socket       :: Socket+                   , socketAddr   :: SockAddr -- ^ address of remote                    }  pMVar :: MVar v -> v -> IO ()@@ -92,8 +93,10 @@     allocaBytes pktLen $ \pktPtr -> do         let ctPtr = pktPtr `plusPtr` sizeTagLen         pokeBE32 pktPtr (fromIntegral ctLen)-        modifyMVar_ outCtx $ \oCtx -> encodePtr oCtx ptPtr ctPtr ptLen-        sendBytesPtr socket pktPtr pktLen+        modifyMVar_ outCtx $ \oCtx -> do+            r <- encodePtr oCtx ptPtr ctPtr ptLen+            sendBytesPtr socket pktPtr pktLen+            return r  -- |Blocks till it receives a valid message, placing the resulting plaintext -- in the provided buffer.  If the incoming message is larger that the@@ -193,7 +196,7 @@     Net.setSocketOption sock Net.ReuseAddr 1     Net.bind sock sockaddr     Net.listen sock 10-    socket <- fst `fmap` Net.accept sock+    (socket,socketAddr) <- Net.accept sock     Net.setSocketOption socket Net.NoDelay 1     Net.close sock     inCtx  <- create iCtx@@ -204,14 +207,14 @@ doConnect create s hn p   | B.length s < 16 = error "Invalid input entropy"   | otherwise = do-    sockaddr <- resolve hn p+    socketAddr <- resolve hn p     let ent  = expandSecret s 64         k2   = B.take 32 ent         k1   = B.drop 32 ent         iCtx = newInContext k1 Sequential         oCtx = newOutContext k2     socket <- Net.socket Net.AF_INET Net.Stream Net.defaultProtocol-    Net.connect socket sockaddr+    Net.connect socket socketAddr     Net.setSocketOption socket Net.NoDelay 1     Net.setSocketOption socket Net.ReuseAddr 1     inCtx  <- create iCtx
commsec.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                commsec-version:             0.3+version:             0.3.1 synopsis:            Provide communications security using symmetric ephemeral keys description:         This package provides confidentiallity,                      integrity and replay detection. Users must