Commit Graph

35 Commits

Author SHA1 Message Date
Benjamin Saunders b2ed63bd14 refactor and expose session tickets; add initial interop test 2018-05-22 19:22:28 -07:00
Benjamin Saunders fb9190a0b6 core: fix 0-RTT send/recv
Not explicitly shutting down TLS connections caused OpenSSL to omit them
from the anti-replay cache, preventing resumption. Additionally, the
wrong header type was being used when sending 0-RTT packes.
2018-05-21 21:49:14 -07:00
Benjamin Saunders 7c7f635527 core: draft 0-RTT receive support 2018-05-17 21:47:22 -07:00
Benjamin Saunders a5989575d2 core: minimal resumption UT 2018-05-17 00:25:44 -07:00
Benjamin Saunders 55bf7621a6 core: optional stateless retry 2018-05-16 23:08:07 -07:00
Benjamin Saunders f1e7bd4e54 session resumption 2018-05-16 00:23:57 -07:00
Benjamin Saunders 6045f79bd6 core: don't ignore handshake completion ACKs
Improves early RTT estimation
2018-05-12 22:35:36 -07:00
Benjamin Saunders 31d35944aa core: fix high-latency handshakes and related bugs
Packets that complete the handshake must be considered implicit
acknowledgement of all outstanding handshake packets, otherwise
retransmitted handshake packets that are not ultimately needed might
never be acknowledged, leading to infinite retransmits until the
congestion window shrinks to unusability.
2018-05-12 16:17:33 -07:00
Benjamin Saunders 15662a3f44 core: refactor tests to support passage of time 2018-05-12 11:02:30 -07:00
Benjamin Saunders 934f681b77 core: unit test for congestion 2018-05-02 18:30:34 -07:00
Benjamin Saunders 5d3aca186f core: fix default cert verification behavior 2018-05-02 18:29:26 -07:00
Benjamin Saunders d0ee87feba core: test finishing streams 2018-05-01 19:37:16 -07:00
Benjamin Saunders f82774a367 core: deliver buffered data even after reset 2018-05-01 19:37:04 -07:00
Benjamin Saunders ace87bbeec core: test and debug stop_sending 2018-05-01 19:32:20 -07:00
Benjamin Saunders 3743b75934 API refactoring, test fixes 2018-04-30 23:55:11 -07:00
Benjamin Saunders b4bd5bc551 core: TLS certificate verification 2018-04-28 19:18:37 -07:00
Benjamin Saunders 59876386ab Fold PersistentState into ListenConfig
It's only needed for servers, so no sense cluttering the arguments on
its own.
2018-04-25 01:02:54 -07:00
Benjamin Saunders c14c59dc7e Rearrange names
This should improve discoverability.
2018-04-24 23:19:49 -07:00
Benjamin Saunders 5dd7ac1359 Factor connection out of event enum 2018-04-24 21:52:57 -07:00
Benjamin Saunders 00e1e1443c Stream ID flow control, expose SNI and ALPN 2018-04-23 17:58:42 -07:00
Benjamin Saunders bb2bc79582 Cleanup 2018-04-17 21:53:13 -07:00
Benjamin Saunders 9ccb503b91 Towards flow control and a usable API 2018-04-11 23:24:50 -07:00
Benjamin Saunders 33d34c93a5 Separate send/recv stream states 2018-04-09 19:00:23 -07:00
Benjamin Saunders 791a19889f Fix missing test log values 2018-04-08 21:07:21 -07:00
Benjamin Saunders 8f44da3023 Fix handshake keys, work towards usable streams, misc. cleanup 2018-04-08 11:43:49 -07:00
Benjamin Saunders 60da6a068a Better-behaved test logging 2018-04-07 21:32:51 -07:00
Benjamin Saunders 5227fa91e3 Version negotiation test 2018-04-07 19:24:01 -07:00
Benjamin Saunders e1f84debd1 Implement ping, fix stateless reset handling 2018-03-19 22:12:35 -07:00
Benjamin Saunders 47634ceced Compact packet numbers, connection closing 2018-03-19 21:32:52 -07:00
Benjamin Saunders 546739f915 Towards ACKs and error handling 2018-03-11 21:05:41 -07:00
Benjamin Saunders b352e28bf8 Working handshake happy path 2018-03-09 02:12:58 -08:00
Benjamin Saunders 041d87bea6 Towards reliable communication 2018-03-08 01:48:49 -08:00
Benjamin Saunders 52c6434796 Transport parameters 2018-03-06 00:21:46 -08:00
Benjamin Saunders 0fbf87b37e Working stateless handshake 2018-03-05 17:41:38 -08:00
Benjamin Saunders ad6f61b4a4 Towards a working handshake 2018-03-04 16:45:35 -08:00