@@ -19,9 +19,7 @@ import qualified Network.TLS.Extra as TLSExtra
19import qualified Data.Certificate.X509 as X509
19import qualified Data.Certificate.X509 as X509
20import qualified Data.Certificate.PEM as PEM
20import qualified Data.Certificate.PEM as PEM
21import qualified Data.ByteString as B
21import qualified Data.ByteString as B
22−import Control.Monad (unless)
23import qualified Data.Certificate.KeyRSA as KeyRSA
22import qualified Data.Certificate.KeyRSA as KeyRSA
24−import Control.Applicative ((<$>))
26data TLSSettings = TLSSettings
24data TLSSettings = TLSSettings
27 { certFile :: FilePath
25 { certFile :: FilePath
@@ -53,8 +51,7 @@ runTLS tset set app = do
53 hSetBuffering h NoBuffering
51 hSetBuffering h NoBuffering
54 gen <- newGenIO
52 gen <- newGenIO
55 ctx <- TLS.server params (gen :: SystemRandom) h
53 ctx <- TLS.server params (gen :: SystemRandom) h
56− b <- TLS.handshake ctx
54+ TLS.handshake ctx
57− unless b $ error "Invalid handshake"
58 let conn = Connection
55 let conn = Connection
59 { connSendMany = TLS.sendData ctx . L.fromChunks
56 { connSendMany = TLS.sendData ctx . L.fromChunks
60 , connSendAll = TLS.sendData ctx . L.fromChunks . return
57 , connSendAll = TLS.sendData ctx . L.fromChunks . return
@@ -62,7 +59,7 @@ runTLS tset set app = do
62 , connClose = do
59 , connClose = do
63 TLS.bye ctx
60 TLS.bye ctx
65− , connRecv = B.concat . L.toChunks <$> TLS.recvData ctx
62+ , connRecv = TLS.recvData ctx
67 return (conn, sa)
64 return (conn, sa)