tls-session-manager 0.0.3 → 0.0.4
raw patch · 2 files changed
+29/−16 lines, 2 filesdep ~tlsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: tls
API changes (from Hackage documentation)
Files
- Network/TLS/SessionManager.hs +28/−15
- tls-session-manager.cabal +1/−1
Network/TLS/SessionManager.hs view
@@ -57,8 +57,13 @@ toValue :: SessionData -> SessionDataCopy #if MIN_VERSION_tls(1,5,0)+#if MIN_VERSION_tls(1,5,3)+toValue (SessionData v cid comp msni sec mg mti malpn siz flg) =+ SessionDataCopy v cid comp msni sec' mg mti malpn' siz flg+#else toValue (SessionData v cid comp msni sec mg mti malpn siz) = SessionDataCopy v cid comp msni sec' mg mti malpn' siz+#endif where !sec' = convert sec !malpn' = convert <$> malpn@@ -71,14 +76,19 @@ fromValue :: SessionDataCopy -> SessionData #if MIN_VERSION_tls(1,5,0)+#if MIN_VERSION_tls(1,5,3)+fromValue (SessionDataCopy v cid comp msni sec' mg mti malpn' siz flg) =+ SessionData v cid comp msni sec mg mti malpn siz flg+#else fromValue (SessionDataCopy v cid comp msni sec' mg mti malpn' siz) =- (SessionData v cid comp msni sec mg mti malpn siz)+ SessionData v cid comp msni sec mg mti malpn siz+#endif where !sec = convert sec' !malpn = convert <$> malpn' #else fromValue (SessionDataCopy v cid comp msni sec') =- (SessionData v cid comp msni sec)+ SessionData v cid comp msni sec where !sec = convert sec' #endif@@ -86,19 +96,22 @@ ---------------------------------------------------------------- type SessionIDCopy = Block Word8-data SessionDataCopy = SessionDataCopy {- ssVersion :: !Version- , ssCipher :: !CipherID- , ssCompression :: !CompressionID- , ssClientSNI :: !(Maybe HostName)- , ssSecret :: Block Word8+data SessionDataCopy = SessionDataCopy+ {- ssVersion -} !Version+ {- ssCipher -} !CipherID+ {- ssCompression -} !CompressionID+ {- ssClientSNI -} !(Maybe HostName)+ {- ssSecret -} (Block Word8) #if MIN_VERSION_tls(1,5,0)- , ssGroup :: !(Maybe Group)- , ssTicketInfo :: !(Maybe TLS13TicketInfo)- , ssALPN :: !(Maybe (Block Word8))- , ssMaxEarlyDataSize :: Int+ {- ssGroup -} !(Maybe Group)+ {- ssTicketInfo -} !(Maybe TLS13TicketInfo)+ {- ssALPN -} !(Maybe (Block Word8))+ {- ssMaxEarlyDataSize -} Int #endif- } deriving (Show,Eq)+#if MIN_VERSION_tls(1,5,3)+ {- ssFlags -} [SessionFlag]+#endif+ deriving (Show,Eq) type Sec = Int64 type Value = (SessionDataCopy, IORef Availability)@@ -161,7 +174,7 @@ -> SessionID -> SessionData -> IO () establish reaper lifetime k sd = do ref <- newIORef Fresh- !p <- ((+ lifetime) . C.sec) <$> C.getTime C.Monotonic+ !p <- (+ lifetime) . C.sec <$> C.getTime C.Monotonic let !v = (sd',ref) reaperAdd reaper (k',p,v,Add) where@@ -174,7 +187,7 @@ db <- reaperRead reaper case Q.lookup k' db of Nothing -> return Nothing- Just (p,v@(sd,ref)) -> do+ Just (p,v@(sd,ref)) -> case use of SingleUse -> do available <- atomicModifyIORef' ref check
tls-session-manager.cabal view
@@ -1,5 +1,5 @@ name: tls-session-manager-version: 0.0.3+version: 0.0.4 synopsis: In-memory TLS session manager description: TLS session manager with limitation, automatic pruning, energy saving and replay resistance license: BSD3