packages feed

peyotls 0.0.0.18 → 0.0.0.19

raw patch · 3 files changed

+13/−8 lines, 3 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Network.PeyoTLS.Client: TLS_EMPTY_RENEGOTIATION_INFO_SCSV :: CipherSuite
+ Network.PeyoTLS.Server: TLS_EMPTY_RENEGOTIATION_INFO_SCSV :: CipherSuite

Files

peyotls.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.8  name:		peyotls-version:	0.0.0.18+version:	0.0.0.19 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.18+    tag:	peyotls-0.0.0.19  library     hs-source-dirs:	src
src/Network/PeyoTLS/CipherSuite.hs view
@@ -12,6 +12,7 @@  data CipherSuite 	= CipherSuite KeyExchange BulkEncryption+	| TLS_EMPTY_RENEGOTIATION_INFO_SCSV 	| CipherSuiteRaw Word8 Word8 	deriving (Show, Read, Eq) @@ -47,6 +48,7 @@ 		(0x00, 0x3c) -> CipherSuite RSA AES_128_CBC_SHA256 --		(0x00, 0x45) -> CipherSuite DHE_RSA CAMELLIA_128_CBC_SHA 		(0x00, 0x67) -> CipherSuite DHE_RSA AES_128_CBC_SHA256+		(0x00, 0xff) -> TLS_EMPTY_RENEGOTIATION_INFO_SCSV 		(0xc0, 0x09) -> CipherSuite ECDHE_ECDSA AES_128_CBC_SHA 		(0xc0, 0x13) -> CipherSuite ECDHE_RSA AES_128_CBC_SHA 		(0xc0, 0x23) -> CipherSuite ECDHE_ECDSA AES_128_CBC_SHA256@@ -62,6 +64,7 @@ encodeCipherSuite (CipherSuite RSA AES_128_CBC_SHA256) = "\x00\x3c" -- encodeCipherSuite (CipherSuite DHE_RSA CAMELLIA_128_CBC_SHA) = "\x00\x45" encodeCipherSuite (CipherSuite DHE_RSA AES_128_CBC_SHA256) = "\x00\x67"+encodeCipherSuite TLS_EMPTY_RENEGOTIATION_INFO_SCSV = "\x00\xff" encodeCipherSuite (CipherSuite ECDHE_ECDSA AES_128_CBC_SHA) = "\xc0\x09" encodeCipherSuite (CipherSuite ECDHE_RSA AES_128_CBC_SHA) = "\xc0\x13" encodeCipherSuite (CipherSuite ECDHE_ECDSA AES_128_CBC_SHA256) = "\xc0\x23"
src/Network/PeyoTLS/Server.hs view
@@ -177,10 +177,12 @@ 		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+getRenegoInfo :: [CipherSuite] -> [Extension] -> Maybe BS.ByteString+getRenegoInfo [] [] = Nothing+getRenegoInfo (TLS_EMPTY_RENEGOTIATION_INFO_SCSV : _) _ = Just ""+getRenegoInfo (_ : css) e = getRenegoInfo css e+getRenegoInfo [] (ERenegoInfo rn : _) = Just rn+getRenegoInfo [] (_ : es) = getRenegoInfo [] es  clientHello :: (HandleLike h, CPRG g) => 	[CipherSuite] -> HandshakeM h g (CipherSuite, BS.ByteString, Version, Bool)@@ -191,7 +193,7 @@ --	let rn = True 	let (cf, rn) = case me of 		Nothing -> ("", False)-		Just e -> case getRenegoInfo e of+		Just e -> case getRenegoInfo cscl e of 			Nothing -> ("", False) 			Just c -> (c, True) 	debug "medium" ch@@ -201,7 +203,7 @@ 	debug "low" "CLIENT FINISHES" 	debug "low" cf 	debug "low" cf0---	unless (cf == cf0) $ E.throwError "clientHello"+	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