Commit graph

578 commits

Author SHA1 Message Date
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
faa6da6807 add a script to generate a cert key pair through openssl 2011-12-06 00:22:06 +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
f2ff79fe6f add a script to automatically test stunnel with gnutls-debug-cli 2011-12-05 08:39:02 +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
f927d408ab add some option to do certificate verification when retriving a certificate. 2011-11-23 21:49:33 +00:00
Vincent Hanquez
3117e468b0 ignore value. 2011-11-23 21:35:58 +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