on master help sign in
Sniff TLS via 0x16 (#60)
commit1dbf88f237d446863e62fa2300989ea537661cd7 authorMichael Snoyman <michael@snoyman.com> dateTue 3 Jul 2012, 14:11 (14 years ago) parent3799c68
1 file changed+6−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+6−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+6−6
@@ -61,13 +61,8 @@ runTLS tset set app = do
6161 (fromClient'', bs) <- fromClient' C.$$++ sink
6262 I.writeIORef ifromClient fromClient''
6363 return bs
64− if maybe False (B.all (\w -> w < 127 && w > 8) . B.take 5) firstBS
64+ if maybe False ((== 0x16) . fst) (firstBS >>= B.uncons)
6565 then do
66− let conn = (socketConnection s)
67− { connRecv = getNext $ fmap (fromMaybe B.empty) C.await
68− }
69− return (conn, sa)
70− else do
7166 gen <- newGenIO
7267 ctx <- TLS.serverWith
7368 params
@@ -89,6 +84,11 @@ runTLS tset set app = do
8984 , connRecv = TLS.recvData ctx
9085 }
9186 return (conn, sa)
87+ else do
88+ let conn = (socketConnection s)
89+ { connRecv = getNext $ fmap (fromMaybe B.empty) C.await
90+ }
91+ return (conn, sa)
9292
9393-- taken from stunnel example in tls-extra
9494ciphers :: [TLS.Cipher]