Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-warp-tls for openSUSE:Factory 
checked in at 2024-04-28 21:49:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-warp-tls (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-warp-tls.new.1880 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-warp-tls"

Sun Apr 28 21:49:23 2024 rev:12 rq:1170357 version:3.4.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-warp-tls/ghc-warp-tls.changes        
2024-02-12 18:58:35.520348082 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-warp-tls.new.1880/ghc-warp-tls.changes      
2024-04-29 09:09:50.529616289 +0200
@@ -1,0 +2,9 @@
+Fri Apr 19 10:46:05 UTC 2024 - Peter Simons <psim...@suse.com>
+
+- Update warp-tls to version 3.4.5.
+  ## 3.4.5
+
+  * Making mkConn of WarpTLS interruptible
+    [#984](https://github.com/yesodweb/wai/pull/984)
+
+-------------------------------------------------------------------

Old:
----
  warp-tls-3.4.4.tar.gz

New:
----
  warp-tls-3.4.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-warp-tls.spec ++++++
--- /var/tmp/diff_new_pack.91z03N/_old  2024-04-29 09:09:50.925630702 +0200
+++ /var/tmp/diff_new_pack.91z03N/_new  2024-04-29 09:09:50.925630702 +0200
@@ -19,7 +19,7 @@
 %global pkg_name warp-tls
 %global pkgver %{pkg_name}-%{version}
 Name:           ghc-%{pkg_name}
-Version:        3.4.4
+Version:        3.4.5
 Release:        0
 Summary:        HTTP over TLS support for Warp via the TLS package
 License:        MIT

++++++ warp-tls-3.4.4.tar.gz -> warp-tls-3.4.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/warp-tls-3.4.4/ChangeLog.md 
new/warp-tls-3.4.5/ChangeLog.md
--- old/warp-tls-3.4.4/ChangeLog.md     2001-09-09 03:46:40.000000000 +0200
+++ new/warp-tls-3.4.5/ChangeLog.md     2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,10 @@
 # ChangeLog
 
+## 3.4.5
+
+* Making mkConn of WarpTLS interruptible
+  [#984](https://github.com/yesodweb/wai/pull/984)
+
 ## 3.4.4
 
 * Allow warp v3.4.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/warp-tls-3.4.4/Network/Wai/Handler/WarpTLS.hs 
new/warp-tls-3.4.5/Network/Wai/Handler/WarpTLS.hs
--- old/warp-tls-3.4.4/Network/Wai/Handler/WarpTLS.hs   2001-09-09 
03:46:40.000000000 +0200
+++ new/warp-tls-3.4.5/Network/Wai/Handler/WarpTLS.hs   2001-09-09 
03:46:40.000000000 +0200
@@ -95,6 +95,8 @@
     try,
  )
 import qualified UnliftIO.Exception as E
+import UnliftIO.Concurrent (newEmptyMVar, putMVar, takeMVar, forkIOWithUnmask)
+import UnliftIO.Timeout (timeout)
 
 ----------------------------------------------------------------
 
@@ -318,8 +320,18 @@
     -> Socket
     -> params
     -> IO (Connection, Transport)
-mkConn tlsset set s params = (safeRecv s 4096 >>= switch) `onException` close s
+mkConn tlsset set s params = do
+    var <- newEmptyMVar
+    _ <- forkIOWithUnmask $ \umask -> do
+        let tm = settingsTimeout set * 1000000
+        mct <- umask (timeout tm recvFirstBS)
+        putMVar var mct
+    mbs <- takeMVar var
+    case mbs of
+      Nothing -> throwIO IncompleteHeaders
+      Just bs -> switch bs
   where
+    recvFirstBS = safeRecv s 4096 `onException` close s
     switch firstBS
         | S.null firstBS = close s >> throwIO ClientClosedConnectionPrematurely
         | S.head firstBS == 0x16 = httpOverTls tlsset set s firstBS params
@@ -335,22 +347,24 @@
     -> S.ByteString
     -> params
     -> IO (Connection, Transport)
-httpOverTls TLSSettings{..} _set s bs0 params = do
-    pool <- newBufferPool 2048 16384
-    rawRecvN <- makeRecvN bs0 $ receive s pool
-    let recvN = wrappedRecvN rawRecvN
-    ctx <- TLS.contextNew (backend recvN) params
-    TLS.contextHookSetLogging ctx tlsLogging
-    TLS.handshake ctx
-    h2 <- (== Just "h2") <$> TLS.getNegotiatedProtocol ctx
-    isH2 <- I.newIORef h2
-    writeBuffer <- createWriteBuffer 16384
-    writeBufferRef <- I.newIORef writeBuffer
-    -- Creating a cache for leftover input data.
-    tls <- getTLSinfo ctx
-    mysa <- getSocketName s
-    return (conn ctx writeBufferRef isH2 mysa, tls)
+httpOverTls TLSSettings{..} _set s bs0 params =
+    makeConn `onException` close s
   where
+    makeConn = do
+        pool <- newBufferPool 2048 16384
+        rawRecvN <- makeRecvN bs0 $ receive s pool
+        let recvN = wrappedRecvN rawRecvN
+        ctx <- TLS.contextNew (backend recvN) params
+        TLS.contextHookSetLogging ctx tlsLogging
+        TLS.handshake ctx
+        h2 <- (== Just "h2") <$> TLS.getNegotiatedProtocol ctx
+        isH2 <- I.newIORef h2
+        writeBuffer <- createWriteBuffer 16384
+        writeBufferRef <- I.newIORef writeBuffer
+        -- Creating a cache for leftover input data.
+        tls <- getTLSinfo ctx
+        mysa <- getSocketName s
+        return (conn ctx writeBufferRef isH2 mysa, tls)
     backend recvN =
         TLS.Backend
             { TLS.backendFlush = return ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/warp-tls-3.4.4/warp-tls.cabal 
new/warp-tls-3.4.5/warp-tls.cabal
--- old/warp-tls-3.4.4/warp-tls.cabal   2001-09-09 03:46:40.000000000 +0200
+++ new/warp-tls-3.4.5/warp-tls.cabal   2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 Name:                warp-tls
-Version:             3.4.4
+Version:             3.4.5
 Synopsis:            HTTP over TLS support for Warp via the TLS package
 License:             MIT
 License-file:        LICENSE

Reply via email to