packages feed

warp-tls 3.4.7 → 3.4.9

raw patch · 4 files changed

+21/−8 lines, 4 filesdep +data-defaultdep −data-default-classPVP ok

version bump matches the API change (PVP)

Dependencies added: data-default

Dependencies removed: data-default-class

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,13 @@ # ChangeLog +## 3.4.9++* Using `timeout` for `handshake` to prevent thread leaks.++## 3.4.8++* Substituted `data-default-class` for `data-default` [#1010](https://github.com/yesodweb/wai/pull/1010)+ ## 3.4.7  * Expose `attachConn` to use post-handshake TLS connection.
Network/Wai/Handler/WarpTLS.hs view
@@ -59,7 +59,7 @@ import Control.Monad (guard, void) import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L-import Data.Default.Class (def)+import Data.Default (def) import qualified Data.IORef as I import Data.Streaming.Network (bindPortTCP, safeRecv) import Data.Typeable (Typeable)@@ -350,7 +350,7 @@     -> S.ByteString     -> params     -> IO (Connection, Transport)-httpOverTls TLSSettings{..} _set s bs0 params =+httpOverTls TLSSettings{..} set s bs0 params =     makeConn `onException` close s   where     makeConn = do@@ -359,9 +359,14 @@         let recvN = wrappedRecvN rawRecvN         ctx <- TLS.contextNew (backend recvN) params         TLS.contextHookSetLogging ctx tlsLogging-        TLS.handshake ctx-        mysa <- getSocketName s-        attachConn mysa ctx+        let tm = settingsTimeout set * 1000000+        mconn <- timeout tm $ do+            TLS.handshake ctx+            mysa <- getSocketName s+            attachConn mysa ctx+        case mconn of+          Nothing -> throwIO IncompleteHeaders+          Just conn -> return conn     wrappedRecvN recvN n = handleAny (const mempty) $ recvN n     backend recvN =         TLS.Backend
Network/Wai/Handler/WarpTLS/Internal.hs view
@@ -12,7 +12,7 @@  import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L-import Data.Default.Class (def)+import Data.Default (def) import qualified Data.IORef as I import qualified Network.TLS as TLS import qualified Network.TLS.Extra as TLSExtra
warp-tls.cabal view
@@ -1,5 +1,5 @@ Name:                warp-tls-Version:             3.4.7+Version:             3.4.9 Synopsis:            HTTP over TLS support for Warp via the TLS package License:             MIT License-file:        LICENSE@@ -22,7 +22,7 @@                    , bytestring                    >= 0.9                    , wai                           >= 3.2      && < 3.3                    , warp                          >= 3.3.29   && < 3.5-                   , data-default-class            >= 0.0.1+                   , data-default                    , tls                           >= 1.7      && < 2.2                    , network                       >= 2.2.1                    , streaming-commons