1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-06-24 01:41:35 +03:00
Commit Graph

845 Commits

Author SHA1 Message Date
ba958b8bdc Add test for server-initiated renego
Just assuming the HelloRequest isn't lost for now
2014-10-21 16:32:50 +02:00
46fb942046 Fix warning about function that should be static 2014-10-21 16:32:49 +02:00
f1e9b09a0c Fix missing #ifdef's 2014-10-21 16:32:48 +02:00
4e2f245752 Fix timer issues
- timer not firing when constantly receiving bad messages
- timer not reset on failed reads
- timer incorrectly restarted on resend during read
2014-10-21 16:32:47 +02:00
df9a0a8460 Drop unexpected ApplicationData
This is likely to happen on resumption if client speaks first at the
application level.
2014-10-21 16:32:46 +02:00
6b65141718 Implement ssl_read() timeout (DTLS only for now) 2014-10-21 16:32:46 +02:00
2707430a4d Fix types and comments about read_timeout 2014-10-21 16:32:45 +02:00
6c1fa3a184 Fix misplaced initialisation of timeout 2014-10-21 16:32:45 +02:00
c8d8e97cbd Move to milliseconds in recv_timeout() 2014-10-21 16:32:44 +02:00
905dd2425c Add ssl_set_handshake_timeout() 2014-10-21 16:32:43 +02:00
0ac247fd88 Implement timeout back-off (fixed range for now) 2014-10-21 16:32:43 +02:00
7de3c9eecb Count timeout per flight, not per message 2014-10-21 16:32:41 +02:00
db2858ce96 Preparation for timers
Currently directly using timing.c, plan to use callbacks later to loosen
coupling, but first just get things working.
2014-10-21 16:32:41 +02:00
08a1d4bce1 Fix bug with client auth with DTLS 2014-10-21 16:32:39 +02:00
23b7b703aa Fix issue with renego & resend 2014-10-21 16:32:38 +02:00
2739313cea Make anti-replay a runtime option 2014-10-21 16:32:35 +02:00
8464a46b6b Make DTLS_ANTI_REPLAY depends on PROTO_DTLS 2014-10-21 16:32:35 +02:00
246c13a05f Fix epoch checking 2014-10-21 16:32:34 +02:00
b47368a00a Add replay detection 2014-10-21 16:32:34 +02:00
4956fd7437 Test and fix anti-replay functions 2014-10-21 16:32:34 +02:00
7a7e140d4e Add functions for replay protection 2014-10-21 16:32:33 +02:00
ea22ce577e Rm unneeded counter increment with DTLS 2014-10-21 16:32:33 +02:00
abf16240dd Add ability to resend last flight 2014-10-21 16:32:31 +02:00
767c69561b Drop out-of-sequence ChangeCipherSpec messages 2014-10-21 16:32:29 +02:00
93017de47e Minor optim: don't resend on duplicated HVR 2014-10-21 16:32:29 +02:00
c715aed744 Fix epoch swapping 2014-10-21 16:32:28 +02:00
6a2bdfaf73 Actually resend flights 2014-10-21 16:32:28 +02:00
5d8ba53ace Expand and fix resend infrastructure 2014-10-21 16:32:28 +02:00
ffa67be698 Infrastructure for buffering & resending flights 2014-10-21 16:32:27 +02:00
8fa6dfd560 Introduce f_recv_timeout callback 2014-10-21 16:32:26 +02:00
e6bdc4497c Merge I/O contexts into one 2014-10-21 16:32:25 +02:00
ca6440b246 Small cleanups in parse_finished() 2014-10-21 16:30:31 +02:00
624bcb5260 No memmove: done, rm temporary things 2014-10-21 16:30:31 +02:00
f49a7daa1a No memmove: ssl_parse_certificate() 2014-10-21 16:30:29 +02:00
4abc32734e No memmove: ssl_parse_finished() 2014-10-21 16:30:29 +02:00
f899583f94 Prepare moving away from memmove() on incoming HS 2014-10-21 16:30:29 +02:00
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