Commit graph

409 commits

Author SHA1 Message Date
Vincent Hanquez
13b3873b82 add an helper to create a new session. 2011-12-20 07:42:13 +00:00
Vincent Hanquez
be3ab515de rename processServerHello to onServerHello. 2011-12-20 07:41:53 +00:00
Vincent Hanquez
6f02bb8548 generate key block when setting the master secret. 2011-12-20 07:41:15 +00:00
Vincent Hanquez
b3b7051129 callback to user when a session has been successfully established.
it's up to the user to store the session id + session data for later recovery.
2011-12-20 07:39:24 +00:00
Vincent Hanquez
53a7b48c15 add new state for session tracking. 2011-12-20 07:38:35 +00:00
Vincent Hanquez
7d0e1f77a4 add extra stuff in gitignore. 2011-12-20 07:35:40 +00:00
Vincent Hanquez
83b860726d add parameters for session resuming
mostly callbacks during the handshake, and a parameter to enable session usage.
2011-12-20 07:34:52 +00:00
Vincent Hanquez
34b186b852 differentiate set master secret from a premaster secret or an already existing master secret 2011-12-20 07:30:19 +00:00
Vincent Hanquez
5601170a1f clean up handshake states after handshake is done. 2011-12-12 08:43:52 +00:00
Vincent Hanquez
e45a5a9057 Merge branch 'master' into session 2011-12-12 08:42:20 +00:00
Vincent Hanquez
a3890e959d add a sessionData type to bundle everything required for a session. 2011-12-12 08:25:45 +00:00
Vincent Hanquez
eb8a00ef67 add a session ID type. 2011-12-12 08:25:21 +00:00
Vincent Hanquez
dace1096cf remove old comment 2011-12-12 08:24:39 +00:00
Vincent Hanquez
fdbe011616 add more connection tests. renegociation. 2011-12-11 20:43:53 +00:00
Vincent Hanquez
b592ee618a tests others type of bulk algorithm, to make sure tests coverage is ok. 2011-12-11 20:43:32 +00:00
Vincent Hanquez
ccb94cea50 Merge branch 'master' into session 2011-12-06 00:23:18 +00:00
Vincent Hanquez
38d8dfa362 bump version to 0.8.3.2 2011-12-06 00:17:48 +00:00
Vincent Hanquez
86335f18ce split context structure and accessor out of Core. 2011-12-06 00:15:00 +00:00
Vincent Hanquez
48ae718b89 add a simple hook for adding debug to the connection tests. 2011-12-06 00:12:30 +00:00
Vincent Hanquez
a269d84256 fix client side encoding of client key exchange on RSA. 2011-12-06 00:12:00 +00:00
Vincent Hanquez
726d301e6f fix TLS key exchange with version >= 1.0. 2011-12-05 20:10:28 +00:00
Vincent Hanquez
4ef7b0098f Merge branch 'master' into session
Conflicts:
	Network/TLS/Core.hs
2011-12-01 22:33:53 +00:00
Vincent Hanquez
bda86277eb bump version to 0.8.3 2011-12-01 09:01:55 +00:00
Vincent Hanquez
9ec505a59a Merge branch 'hsm'
Conflicts:
	Network/TLS/Core.hs
2011-12-01 08:55:44 +00:00
Vincent Hanquez
13812b80f5 Merge branch 'measurements' 2011-12-01 08:54:15 +00:00
Vincent Hanquez
8cc094e3f4 cleanup various errors from Tests.hs 2011-12-01 08:52:01 +00:00
Vincent Hanquez
1c52e0e984 code movement in Tests. 2011-12-01 08:47:34 +00:00
Vincent Hanquez
a16bdbba86 remove old readPacket. 2011-12-01 08:42:59 +00:00
Vincent Hanquez
adf45a537d handle digest update after processing the packet 2011-12-01 08:42:43 +00:00
Vincent Hanquez
e1fea031af consider clientkeyxchg as an opaque structure in internal layers, and make/process the content in higher layer. 2011-12-01 08:41:01 +00:00
Vincent Hanquez
eba62f6f74 append actual raised exception in the error. 2011-12-01 08:36:56 +00:00
Vincent Hanquez
3bdad41e21 consume ServerKeyExchange if it show up. 2011-12-01 08:34:41 +00:00
Vincent Hanquez
d6a198dad5 split recvRecord out of recvPacket. 2011-11-30 22:01:31 +00:00
Vincent Hanquez
2b4db87a7e cleanup the record layer properly from other layer on top.
simplify and make the code much more straighforward.
2011-11-30 21:51:22 +00:00
Vincent Hanquez
2a685b2601 remove the state machine is favor of a straightforward pattern matching state machine.
simplify code massively and make it easy to support other packet flow later.
2011-11-29 08:59:41 +00:00
Vincent Hanquez
0f4c6a0c47 refactor to be able to modify state machine mechanism 2011-11-28 08:01:19 +00:00
Vincent Hanquez
69e16aa056 refactor exn handling function. 2011-11-16 21:14:32 +00:00
Vincent Hanquez
147f1edfbf be polite and say bye to server. 2011-11-14 22:18:30 +00:00
Vincent Hanquez
88b8da59f0 rename handle to context 2011-11-14 22:16:52 +00:00
Vincent Hanquez
50a1186ab8 add some basic handshake testing in tls directly. 2011-11-14 22:12:09 +00:00
Vincent Hanquez
2e00351add add a pipe abstraction using some chan, that simulate a socketpair. 2011-11-14 22:10:43 +00:00
Vincent Hanquez
26dce4ae9d use the global rsa key in certificate generation so that handshake marshalling doesn't take too long. 2011-11-14 22:09:54 +00:00
Vincent Hanquez
ba7fb17251 Add a RSA keypair cache through a global variable.
Prevent the RSA key generation to be done for each tests.
2011-11-14 22:09:15 +00:00
Vincent Hanquez
23113e3d3b separate code path on client to be able to handle session resume 2011-11-13 11:12:26 +00:00
Vincent Hanquez
63110fb5ce add a wrapper to recvPacket to only receive handshake types. 2011-11-13 11:11:39 +00:00
Vincent Hanquez
7a1c6808b7 add some cases and cleanup a bit the server key exchange message parsing. 2011-11-13 09:16:52 +00:00
Vincent Hanquez
0f4c448bf2 move comment where it should be. 2011-11-13 08:53:00 +00:00
Vincent Hanquez
ba4a2de730 separate code path on server when doing a session resume. 2011-11-12 16:15:05 +00:00
Vincent Hanquez
c3da1074dc unnecessary symbol 2011-11-12 16:09:39 +00:00
Vincent Hanquez
297f0d351b Check handshake policy on server during a new client handshake.
It allows server to detect clients that want to abuse single handledly
the server resources by issuing handshakes.

The callback get some measurements on the number of bytes received and sent
since last handshake and also the number of handshake on this context.
2011-11-12 11:05:12 +00:00