http2-tls 0.4.2 → 0.4.3
raw patch · 6 files changed
+22/−35 lines, 6 filesdep −unliftioPVP ok
version bump matches the API change (PVP)
Dependencies removed: unliftio
API changes (from Hackage documentation)
Files
- Network/HTTP2/TLS/Client.hs +1/−1
- Network/HTTP2/TLS/Client/Settings.hs +0/−4
- Network/HTTP2/TLS/IO.hs +1/−1
- Network/HTTP2/TLS/Server.hs +15/−14
- Network/HTTP2/TLS/Server/Settings.hs +4/−13
- http2-tls.cabal +1/−2
Network/HTTP2/TLS/Client.hs view
@@ -47,6 +47,7 @@ settingsRstRateLimit, ) where +import qualified Control.Exception as E import Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as BS.C8 import Data.Default.Class (def)@@ -58,7 +59,6 @@ import qualified Network.Run.TCP as TCP import Network.Socket import Network.TLS hiding (HostName)-import qualified UnliftIO.Exception as E import Network.HTTP2.TLS.Client.Settings import Network.HTTP2.TLS.Config
Network/HTTP2/TLS/Client/Settings.hs view
@@ -92,25 +92,21 @@ -- -- Default: 'openClientSocket' , settingsOnServerFinished :: Information -> IO ()- , settingsPingRateLimit :: Int -- ^ Maximum number of pings allowed per second (CVE-2019-9512) -- -- >>> settingsPingRateLimit defaultSettings -- 10- , settingsEmptyFrameRateLimit :: Int -- ^ Maximum number of empty data frames allowed per second (CVE-2019-9518) -- -- >>> settingsEmptyFrameRateLimit defaultSettings -- 4- , settingsSettingsRateLimit :: Int -- ^ Maximum number of settings frames allowed per second (CVE-2019-9515) -- -- >>> settingsSettingsRateLimit defaultSettings -- 4- , settingsRstRateLimit :: Int -- ^ Maximum number of reset frames allowed per second (CVE-2023-44487) --
Network/HTTP2/TLS/IO.hs view
@@ -3,6 +3,7 @@ module Network.HTTP2.TLS.IO where +import qualified Control.Exception as E import Control.Monad (void, when) import Data.ByteString (ByteString) import qualified Data.ByteString as BS@@ -13,7 +14,6 @@ import Network.TLS hiding (HostName) import System.IO.Error (isEOFError) import qualified System.TimeManager as T-import qualified UnliftIO.Exception as E import Network.HTTP2.TLS.Server.Settings
Network/HTTP2/TLS/Server.hs view
@@ -51,6 +51,7 @@ ServerIO (..), ) where +import qualified Control.Exception as E import Data.ByteString (ByteString) import Data.Default.Class (def) import Network.HTTP2.Server (@@ -60,7 +61,6 @@ emptyFrameRateLimit, initialWindowSize, maxConcurrentStreams,- numberOfWorkers, pingRateLimit, rstRateLimit, settings,@@ -77,7 +77,6 @@ ) import Network.TLS hiding (HostName) import qualified System.TimeManager as T-import qualified UnliftIO.Exception as E import Network.HTTP2.TLS.Config import Network.HTTP2.TLS.IO@@ -103,10 +102,12 @@ (show port) $ \mgr th sock -> do backend <- mkBackend settings sock- E.bracket (contextNew backend params) bye $ \ctx -> do- handshake ctx- iobackend <- timeoutIOBackend th settings <$> tlsIOBackend ctx sock- action mgr iobackend+ ctx <- contextNew backend params+ handshake ctx+ iobackend <- timeoutIOBackend th settings <$> tlsIOBackend ctx sock+ r <- action mgr iobackend+ bye ctx+ return r where params = getServerParams settings creds alpn @@ -127,10 +128,12 @@ s $ \mgr th sock -> do backend <- mkBackend settings sock- E.bracket (contextNew backend params) bye $ \ctx -> do- handshake ctx- iobackend <- timeoutIOBackend th settings <$> tlsIOBackend ctx sock- action mgr iobackend+ ctx <- contextNew backend params+ handshake ctx+ iobackend <- timeoutIOBackend th settings <$> tlsIOBackend ctx sock+ r <- action mgr iobackend+ bye ctx+ return r where params = getServerParams settings creds alpn @@ -178,8 +181,7 @@ where sconf = defaultServerConfig- { numberOfWorkers = settingsNumberOfWorkers- , connectionWindowSize = settingsConnectionWindowSize+ { connectionWindowSize = settingsConnectionWindowSize , settings = (settings defaultServerConfig) { initialWindowSize = settingsStreamWindowSize@@ -211,8 +213,7 @@ where sconf = defaultServerConfig- { numberOfWorkers = settingsNumberOfWorkers- , connectionWindowSize = settingsConnectionWindowSize+ { connectionWindowSize = settingsConnectionWindowSize , settings = (settings defaultServerConfig) { initialWindowSize = settingsStreamWindowSize
Network/HTTP2/TLS/Server/Settings.hs view
@@ -1,10 +1,6 @@ module Network.HTTP2.TLS.Server.Settings where import Network.Control-import Network.HTTP2.Server (- defaultServerConfig,- numberOfWorkers,- ) import Network.TLS (SessionManager, noSessionManager) -- Server settings type.@@ -43,10 +39,7 @@ -- -- Default: do nothing , settingsNumberOfWorkers :: Int- -- ^ The number of workers. (H2 and H2c)- --- -- >>> settingsNumberOfWorkers defaultSettings- -- 8+ -- ^ The http2 library now spawns a thread for each connection. Its limit is based on 'settingsConcurrentStreams'. , settingsConcurrentStreams :: Int -- ^ The maximum number of incoming streams on the net (H2 and H2c) --@@ -72,25 +65,21 @@ -- -- >>> settingsEarlyDataSize defaultSettings -- 0- , settingsPingRateLimit :: Int -- ^ Maximum number of pings allowed per second (CVE-2019-9512) -- -- >>> settingsPingRateLimit defaultSettings -- 10- , settingsEmptyFrameRateLimit :: Int -- ^ Maximum number of empty data frames allowed per second (CVE-2019-9518) -- -- >>> settingsEmptyFrameRateLimit defaultSettings -- 4- , settingsSettingsRateLimit :: Int -- ^ Maximum number of settings frames allowed per second (CVE-2019-9515) -- -- >>> settingsSettingsRateLimit defaultSettings -- 4- , settingsRstRateLimit :: Int -- ^ Maximum number of reset frames allowed per second (CVE-2023-44487) --@@ -98,6 +87,8 @@ -- 4 } +{-# DEPRECATED settingsNumberOfWorkers "This field is meaningless now" #-}+ -- | Default settings. defaultSettings :: Settings defaultSettings =@@ -108,7 +99,7 @@ , settingsReadBufferSize = 16384 , settingsReadBufferLowerLimit = 2048 , settingsKeyLogger = \_ -> return ()- , settingsNumberOfWorkers = numberOfWorkers defaultServerConfig+ , settingsNumberOfWorkers = 8 -- dummy , settingsConcurrentStreams = defaultMaxStreams , settingsStreamWindowSize = defaultMaxStreamData , settingsConnectionWindowSize = defaultMaxData
http2-tls.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name: http2-tls-version: 0.4.2+version: 0.4.3 license: BSD3 license-file: LICENSE maintainer: Kazu Yamamoto <kazu@iij.ad.jp>@@ -48,7 +48,6 @@ recv >=0.1.0 && <0.2, time-manager >=0.0.1 && <0.2, tls >=2.1 && <2.2,- unliftio >=0.2 && <0.3, utf8-string >=1.0 && <1.1 executable h2-client