peyotls 0.0.0.16 → 0.0.0.17
raw patch · 2 files changed
+17/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- peyotls.cabal +2/−2
- src/Network/PeyoTLS/Server.hs +15/−2
peyotls.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8 name: peyotls-version: 0.0.0.16+version: 0.0.0.17 stability: Experimental author: Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer: Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -281,7 +281,7 @@ source-repository this type: git location: git://github.com/YoshikuniJujo/peyotls.git- tag: peyotls-0.0.0.16+ tag: peyotls-0.0.0.17 library hs-source-dirs: src
src/Network/PeyoTLS/Server.hs view
@@ -177,15 +177,28 @@ Just cs -> cs; _ -> CipherSuite RSA AES_128_CBC_SHA fromClientHello _ _ = error "Server.fromClientHello: bad" +getRenegoInfo :: [Extension] -> Maybe BS.ByteString+getRenegoInfo [] = Nothing+getRenegoInfo (ERenegoInfo rn : _) = Just rn+getRenegoInfo (_ : es) = getRenegoInfo es+ clientHello :: (HandleLike h, CPRG g) => [CipherSuite] -> HandshakeM h g (CipherSuite, BS.ByteString, Version, Bool) clientHello cssv = do- ch@(ClientHello cv cr _sid cscl cms _e) <- readHandshake+ cf0 <- getClientFinished+ ch@(ClientHello cv cr _sid cscl cms me) <- readHandshake+-- let Just cf = getRenegoInfo me+-- let rn = True+ let (cf, rn) = case me of+ Nothing -> ("", False)+ Just e -> case getRenegoInfo e of+ Nothing -> ("", False)+ Just c -> (c, True) debug "medium" ch -- debug "medium" e -- let rn = maybe False (ERenegoInfo "" `elem`) e- let rn = True -- debug "medium" rn+ unless (cf == cf0) $ E.throwError "clientHello" chk cv cscl cms >> return (merge cssv cscl, cr, cv, rn) where merge sv cl = case find (`elem` cl) sv of