Vincent Hanquez
c846d9a360
Switch handshake to exception instead of returning a bool.
...
Bool return value doesn't provide any information on why the handshake failed,
hence remove the Bool value, and return (), and in case of handshake failure,
raise a HandshakeFailed exception with the TLSError associated with it.
2012-01-18 06:29:29 +00:00
Vincent Hanquez
3b271b0c03
tweak warnings flag for tests and remove useless orphan instances and missing signatures.
2012-01-18 04:38:01 +00:00
Vincent Hanquez
49505a3f8d
bump version to 0.8.5
2012-01-16 13:31:50 +00:00
Vincent Hanquez
aad62f89a7
catch exception during certificate callback and returns a certificate rejection on exception.
2012-01-16 12:36:45 +00:00
Vincent Hanquez
52497d4dd5
bump version to 0.8.4
2011-12-20 07:51:12 +00:00
Vincent Hanquez
1e6edaaab5
add a test for session resumption.
2011-12-20 07:51:12 +00:00
Vincent Hanquez
de9d75bbaf
add the direction of logging in tests.
2011-12-20 07:51:12 +00:00
Vincent Hanquez
201cd7fd6e
add some helpers for testing session resuming.
2011-12-20 07:51:12 +00:00
Vincent Hanquez
f3e5603bc8
trivial code movement for decryptRSA
2011-12-20 07:51:12 +00:00
Vincent Hanquez
89ad99004b
properly call/switch things in server when trying to resume session.
2011-12-20 07:51:12 +00:00
Vincent Hanquez
98427b4fae
switch client to process Server hello explicitely.
...
also switch everything properly when receiving a server hello with session.
2011-12-20 07:51:07 +00:00
Vincent Hanquez
8ff0d85a0e
send session if the user says so (through sessionResumeWith) in client.
...
and properly switch to session resuming packet flow if resuming.
2011-12-20 07:43:43 +00:00
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