Commit graph

114 commits

Author SHA1 Message Date
Vincent Hanquez
432639688f properly handle the mvar to put the st back if an exception happens. 2011-05-13 07:12:54 +01:00
Vincent Hanquez
8434cb24e2 use proper protocol error in the server during clienthello 2011-05-13 07:08:27 +01:00
Vincent Hanquez
f7ed7f541a throw a proper protocol error in case the version is not supported 2011-05-13 07:03:16 +01:00
Vincent Hanquez
f140e1c579 change onRecvCertificate callback to be able to track the reason of rejection, and returns the proper alert to the other side. 2011-05-13 07:02:44 +01:00
Vincent Hanquez
f1222ece5d add placeholder code to handle alerts during recvData. 2011-05-12 09:13:53 +01:00
Vincent Hanquez
fa384d87c7 raise a proper HandshakeFailure if no cipher works 2011-05-12 09:13:53 +01:00
Vincent Hanquez
3b76a3ed7c raise a ProtocolVersion error if version negociated is SSL2 2011-05-12 09:13:53 +01:00
Vincent Hanquez
eac638bc27 if we received a packet too big, raise a RecordOverflow error 2011-05-12 09:13:53 +01:00
Vincent Hanquez
f569440782 add throw IO ability to core 2011-05-12 09:13:53 +01:00
Vincent Hanquez
0582234934 cleanup for not having to use fromJust 2011-05-12 09:13:53 +01:00
Vincent Hanquez
9db7ccbfca throw proper error for bad record mac 2011-05-12 09:13:53 +01:00
Vincent Hanquez
a435a9add1 remove unnecessary import 2011-05-12 09:13:53 +01:00
Vincent Hanquez
bdba471ebe define a more generic protocol error, and remove the digest error 2011-05-12 09:13:53 +01:00
Vincent Hanquez
e4f40cf55e comment 2011-05-12 09:13:53 +01:00
Vincent Hanquez
277e39b931 define TLSError as Exception material 2011-05-12 09:13:53 +01:00
Vincent Hanquez
8ee6f728bd add signature 2011-05-12 09:13:53 +01:00
Vincent Hanquez
f464927a0b add a structure to parametrize decoding encoding related to version, key exchange type, ... 2011-05-12 09:13:53 +01:00
Vincent Hanquez
4b5812529b derive Show and Eq from CipherKeyExchangeType 2011-05-12 09:13:53 +01:00
Vincent Hanquez
1e294bbbff rename cipherkeyexchange types 2011-05-12 09:13:49 +01:00
Vincent Hanquez
c111389b30 capitalize DH 2011-05-11 07:34:15 +01:00
Vincent Hanquez
969a62b79a bump certificate version to 0.8.1 2011-05-09 09:15:36 +01:00
Vincent Hanquez
7f6f511839 Add a way to show packet sent and received at the protocol level. very useful for debugging. 2011-05-04 08:41:16 +01:00
Vincent Hanquez
69d3604a64 do not call new variable state. it's already defined by the state module. 2011-04-24 13:43:57 +01:00
Vincent Hanquez
ad226f7fb9 usless import in wire module 2011-04-24 13:43:27 +01:00
Vincent Hanquez
4a84e9415f comment fixup 2011-04-24 13:43:18 +01:00
Vincent Hanquez
d983d4ebc8 remove now useless extension 2011-04-24 13:43:08 +01:00
Vincent Hanquez
7cce3fca0c use functor's <$> instead of a return construct 2011-04-24 13:39:52 +01:00
Vincent Hanquez
a1524bf673 refactor processclientkeyxchg 2011-04-24 11:34:11 +01:00
Vincent Hanquez
9f3714dd1c simplify parsing of packets
- use fail instead of throwerror, since cereal do not raise but return an either.
- remove the get monad definition
- add some helper
- remove dependency on binary and use cereal exclusively.
2011-04-24 09:44:18 +01:00
Vincent Hanquez
b472d891c4 set the error instance of TLSError with the definition of TLSError. prevent orphan instance 2011-04-24 09:32:49 +01:00
Vincent Hanquez
a7aaa3eee7 Remove the hardcoded srandomgen in favor of any cryptorandomgen instance.
srandomgen is available separately in the cprng-aes package as Crypto.Random.AESCtr
2011-04-11 19:56:43 +01:00
Vincent Hanquez
55b7490102 a packet can contain multiple appdata, process it as such. 2011-03-23 21:48:58 +00:00
Vincent Hanquez
74633cd68f add internal module as backdoor for hidden function/definition.
also export core sendPacket/recvPacket
2011-03-19 21:45:43 +00:00
Vincent Hanquez
476b0a8f82 remove commented description of ciphers 2011-03-19 21:42:59 +00:00
Vincent Hanquez
a4b4d54821 move default ciphers to tls-extra 2011-03-19 09:22:12 +00:00
Vincent Hanquez
da6e72ba7e correct comment 2011-03-19 08:37:47 +00:00
Vincent Hanquez
9d6f8e3fa6 add a single TLS module to rules them all. 2011-03-02 08:43:14 +00:00
Vincent Hanquez
5ab032b3c9 add more haddock related stuff 2011-03-02 08:43:05 +00:00
Vincent Hanquez
14f635cf3e Fix documentation and cleanup remaining bits 2011-03-02 07:56:37 +00:00
Vincent Hanquez
a8d1e05179 fold remaining bit of client/server in core. cleanup 2011-03-02 07:41:59 +00:00
Vincent Hanquez
7237bec83e fold handshake stuff from server to core. 2011-03-02 07:35:25 +00:00
Vincent Hanquez
fc598287ad remove fromJust 2011-03-01 23:18:09 +00:00
Vincent Hanquez
73979e9db4 move initiate into handshake in core. 2011-03-01 23:09:17 +00:00
Vincent Hanquez
9083c53453 style change and use modify instead of get/put 2011-03-01 20:01:40 +00:00
Vincent Hanquez
c1a20efe74 move sendData to core 2011-03-01 20:01:40 +00:00
Vincent Hanquez
43a2ae9dae remove language extensions not needed anymore 2011-03-01 20:01:40 +00:00
Vincent Hanquez
353783abdf put server/client in core 2011-03-01 20:01:40 +00:00
Vincent Hanquez
f4cc8999db move 'close' api to core and rename to 'bye' to avoid a meaning conflict with unix close. 2011-03-01 20:01:40 +00:00
Vincent Hanquez
f260c5b9cf modify client API to be like the server API. 2011-03-01 20:01:40 +00:00
Vincent Hanquez
5481816e0e remove old import 2011-03-01 20:01:40 +00:00