4a1753657c
Fix missing return in error check
2014-10-21 16:30:28 +02:00
63eca930d7
Drop invalid records with DTLS
2014-10-21 16:30:28 +02:00
167a37632d
Split two functions out of ssl_read_record()
2014-10-21 16:30:27 +02:00
990f9e428a
Handle late handshake messages gracefully
2014-10-21 16:30:26 +02:00
60ca5afaec
Drop records from wrong epoch
2014-10-21 16:30:25 +02:00
1aa586e41d
Check handshake message_seq field
2014-10-21 16:30:24 +02:00
9d1d7196e4
Check length before reading handshake header
2014-10-21 16:30:24 +02:00
d9ba0d96b6
Prepare for checking incoming handshake seqnum
2014-10-21 16:30:23 +02:00
ac03052f22
Fix segfault with some very short fragments
2014-10-21 16:30:23 +02:00
64dffc5d14
Make handshake reassembly work with openssl
2014-10-21 16:30:22 +02:00
502bf30fb5
Handle reassembly of handshake messages
...
Works only with GnuTLS for now, OpenSSL packs other records in the same
datagram after the last fragmented one, which we don't handle yet.
Also, ssl-opt.sh fails the tests with valgrind for now: we're so slow with
valgrind that gnutls-serv retransmits some messages, and we don't handle
duplicated messages yet.
2014-10-21 16:30:22 +02:00
ed79a4bb14
Prepare for DTLS handshake reassembly
2014-10-21 16:30:21 +02:00
edcbe549fd
Reorder checks in ssl_read_record
2014-10-21 16:30:21 +02:00
0557bd5fa4
Fix message_seq with server-initiated renego
2014-10-21 16:30:21 +02:00
c392b240c4
Fix server-initiated renegotiation with DTLS
2014-10-21 16:30:21 +02:00
30d16eb429
Fix client-initiated renegotiation with DTLS
2014-10-21 16:30:20 +02:00
7d38d215b1
Allow disabling HelloVerifyRequest
2014-10-21 16:30:18 +02:00
d485d194f9
Move to a callback interface for DTLS cookies
2014-10-21 16:30:17 +02:00
82202f0a9c
Make DTLS_HELLO_VERIFY a compile option
2014-10-21 16:30:16 +02:00
98545f128a
Generate random key for HelloVerifyRequest
2014-10-21 16:30:16 +02:00
43c021874d
Add ssl_set_client_transport_id()
2014-10-21 16:30:15 +02:00
879a4f9623
Abort on DTLS epoch wrap
2014-10-21 16:30:12 +02:00
805e2300af
Fix error message and return code
2014-10-21 16:30:12 +02:00
67427c07b2
Fix checksum computation with HelloVerifyRequest
2014-10-21 16:30:11 +02:00
74848811b4
Implement HelloVerifyRequest on client
2014-10-21 16:30:11 +02:00
b2f3be8757
Support multiple records in one datagram
2014-10-21 16:30:10 +02:00
34c1011b3d
Fix a few warnings in reduced configs
2014-10-21 16:30:09 +02:00
fe98aceb70
Adapt ssl_fetch_input() for UDP
2014-10-21 16:30:09 +02:00
e89bcf05da
Write new DTLS handshake fields correctly
2014-10-21 16:30:07 +02:00
ce441b3442
Add space for new DTLS fields in handshake
2014-10-21 16:30:07 +02:00
a59543af30
Minor refactoring in ssl_read_record()
2014-10-21 16:30:07 +02:00
f302fb52e1
Fix hmac computation for DTLS
2014-10-21 16:30:06 +02:00
5afb167e2c
Implement DTLS epochs
2014-10-21 16:30:06 +02:00
0619348288
Add explicit counter in DTLS record header
2014-10-21 16:30:06 +02:00
507e1e410a
Prep: allow {in,out}_len != {in,out}_hdr + 3
2014-10-21 16:30:06 +02:00
7ee6f0e6e5
Preparation: allow {in,out}_ctr != {in,out}_buf
2014-10-21 16:30:05 +02:00
abc7e3b4ba
Handle DTLS version encoding and fix some checks
2014-10-21 16:30:05 +02:00
864a81fdc0
More ssl_set_XXX() functions can return BAD_INPUT
2014-10-21 16:30:04 +02:00
b21ca2a69f
Adapt version-handling functions to DTLS
2014-10-21 16:30:04 +02:00
0b1ff29328
Add basic flags for DTLS
2014-10-21 16:30:03 +02:00
82788fb63b
Fix minor style issues
2014-10-20 13:59:19 +02:00
a13500fdf7
Fix bug with ssl_close_notify and non-blocking I/O
2014-08-19 16:14:04 +02:00
f07f421759
Fix server-initiated renego with non-blocking I/O
2014-08-19 13:32:15 +02:00
6591962f06
Allow delay on renego on client
...
Currently unbounded: will be fixed later
2014-08-19 12:50:30 +02:00
f26a1e8602
ssl_read() stops returning non-application data
2014-08-19 12:28:50 +02:00
55e4ff2ace
Tune comments
2014-08-19 11:52:33 +02:00
8d4ad07706
SHA-2 ciphersuites now require TLS 1.x
2014-08-14 11:34:34 +02:00
968afaa06f
ssl_key_cert not available in all configurations
2014-07-09 11:34:48 +02:00
84bbeb58df
Adapt cipher and MD layer with _init() and _free()
2014-07-09 10:19:24 +02:00
accaffe2c3
Restructure ssl_handshake_init() and small fixes
2014-07-09 10:19:24 +02:00