Vincent Hanquez
08ddc1523c
make recvData use strict bytestring as this more natural to the tls code.
...
also add a recvData' to get the same behavior as before.
2012-02-07 20:45:22 +00:00
Vincent Hanquez
8f706d8a56
only import necessary bits from X509.
2012-02-07 20:39:46 +00:00
Vincent Hanquez
64202c2748
refined wire helper function to support TLS opaque types directly.
...
opaque type are length prefix bytestring and are used everywhere.
the helper simplify their marshalling/unmarshalling and make it less
error prone and semantically better.
2012-02-07 07:48:11 +00:00
Vincent Hanquez
db362230ec
more documentation
2012-02-07 06:26:26 +00:00
Vincent Hanquez
4f450935f5
reorganize sendData slightly
2012-01-25 16:03:31 +00:00
Vincent Hanquez
80998d0bb5
track in the context if the tls pipe is established or not.
...
raise exception ConnectionNotEstablished in sendData and recvData if
trying to use an invalid Context.
2012-01-25 16:01:55 +00:00
Vincent Hanquez
d387959195
documentation correction
2012-01-25 09:32:53 +00:00
Vincent Hanquez
b3671bdb38
bump version ahead of release
2012-01-21 07:06:12 +00:00
Vincent Hanquez
dcd8d82eae
Fix certificates that are received not in the dependency order.
...
Some server give certificates not necessarily in the order we expect it to be,
so reorder them correctly before verifying them to each other.
2012-01-21 07:02:58 +00:00
Vincent Hanquez
e2297626e5
improve the example program a bit so that we can use any host/port.
2012-01-19 07:07:00 +00:00
Vincent Hanquez
681992eeb5
bump version requirements
2012-01-19 06:05:05 +00:00
Vincent Hanquez
87d1afc1a4
bump version for next version.
2012-01-19 05:44:28 +00:00
Vincent Hanquez
e026e281bd
use new handshake in tests
2012-01-19 05:35:51 +00:00
Vincent Hanquez
ec0e6bc987
use catch from control.exception
2012-01-19 05:35:10 +00:00
Vincent Hanquez
370994a302
use the new handshake that doesn't returns anything.
2012-01-19 05:35:05 +00:00
Vincent Hanquez
3e7a6c5c17
export the content of HandshakeFailed
2012-01-19 05:31:31 +00:00
Vincent Hanquez
5fc65bb0bb
expose HandshakeFailed exception
2012-01-18 06:41:32 +00:00
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
5765e27bb1
bump version to 0.4.2
2011-12-20 08:00:52 +00:00
Vincent Hanquez
5a54c39714
bump depedencies on tls to 0.8.4 to get session code working.
2011-12-20 07:59:17 +00:00
Vincent Hanquez
2e2278226d
add simple client as an executable in cabal file.
2011-12-20 07:58:36 +00:00
Vincent Hanquez
779220b4f1
add some session related code in stunnel.
2011-12-20 07:58:12 +00:00
Vincent Hanquez
ac6cf2cc26
add a simple client example, and useful test program.
2011-12-20 07:57:41 +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