Benjamin Saunders
b2ed63bd14
refactor and expose session tickets; add initial interop test
2018-05-22 19:22:28 -07:00
Benjamin Saunders
df21488c0c
Update README
2018-05-21 21:57:38 -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
a9f9ec614d
core: allow ACK-only handshake packets
2018-05-19 11:10:42 -07:00
Benjamin Saunders
5993415434
core: draft 0-RTT transmit support
2018-05-19 10:55:56 -07:00
Benjamin Saunders
7c7f635527
core: draft 0-RTT receive support
2018-05-17 21:47:22 -07:00
Benjamin Saunders
14f33b74be
core: remove dead code
2018-05-17 12:43:00 -07:00
Benjamin Saunders
140c22d0cc
update README
2018-05-17 12:39:13 -07:00
Benjamin Saunders
1f1f9463fe
core: don't inspect reserved short header bit
2018-05-17 12:38:15 -07:00
Benjamin Saunders
e65eaa2ea3
core: clarify some errors
2018-05-17 12:38:01 -07:00
Benjamin Saunders
8ccd95c703
core: don't send MAX_DATA after handshake
...
This is unnecessary because stream 0 is exempt from connection-level
flow control.
2018-05-17 12:09:04 -07:00
Benjamin Saunders
72c9e4be35
tokio: work around panic on handshake failure
2018-05-17 02:54:24 -07:00
Benjamin Saunders
f2d88da66b
nix: always have backtraces
2018-05-17 02:54:09 -07:00
Benjamin Saunders
9f13021841
core: fix server dedup of retransmitted Initial under stateful hs
2018-05-17 02:23:13 -07:00
Benjamin Saunders
e6bd7cad9c
core: fix incorrect retransmission of ClientHello under high latency
...
If the ClientHello got retransmitted prematurely and the handshake then
proceeded, the client's Finished packet would contain a unneeded copy of
the ClientHello, and hence be deemed an Initial by the transmit logic,
leading to it being dropped by the server and the handshake stalling.
2018-05-17 01:15:56 -07:00
Benjamin Saunders
5e3e85ab08
core: include TLS alert, if any, in handshake error
2018-05-17 00:55:35 -07:00
Benjamin Saunders
5ca79bb6b9
examples: allow arbitrary listen address
2018-05-17 00:36:53 -07:00
Benjamin Saunders
843fc3c89a
examples: expose stateless retry
2018-05-17 00:26:13 -07:00
Benjamin Saunders
b0a3bc8837
core: ensure we don't use later TLS versions inadvertently
2018-05-17 00:25:58 -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
f65a59a22e
core: sanity-check NEW_CONNECTION_ID
2018-05-16 22:53:25 -07:00
Benjamin Saunders
d76f9e2040
core: tolerate NEW_CONNECTION_ID
2018-05-16 22:47:35 -07:00
Benjamin Saunders
989284511d
core: improve handling of unexpected long header packets
2018-05-16 20:41:47 -07:00
Benjamin Saunders
643c6829e9
core: fix openssl version bound
2018-05-16 20:40:42 -07:00
Benjamin Saunders
b44a612304
examples: mark unreachable case
2018-05-16 08:55:12 -07:00
Benjamin Saunders
0912edaaf2
core: fix panic on malformed header
2018-05-16 08:55:00 -07:00
Benjamin Saunders
f1e7bd4e54
session resumption
2018-05-16 00:23:57 -07:00
Benjamin Saunders
9e3467c0a2
core: fix underflow on recv of already-read stream frame
2018-05-16 00:20:38 -07:00
Benjamin Saunders
af50ca0154
core: fix stream ID fencepost error
2018-05-12 23:25:32 -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
a4fbb443ea
examples: less monolithic server future
2018-05-11 18:05:38 -07:00
Benjamin Saunders
e40d241c0d
core: sni accessor
2018-05-11 00:29:42 -07:00
Benjamin Saunders
6160a53625
tokio: update for rustc 1.26
2018-05-11 00:25:27 -07:00
Benjamin Saunders
1078ce9f76
core: fix inadvertent sending of certificate requests
2018-05-11 00:24:21 -07:00
Benjamin Saunders
91924a7387
Iterate on documentation
2018-05-02 22:09:20 -07:00
Benjamin Saunders
8e67460f34
Bump versions
2018-05-02 19:02:12 -07:00
Benjamin Saunders
5e8dcc71ee
core: fix bad delay in server's first ACK
2018-05-02 19:00:58 -07:00
Benjamin Saunders
9ac732dd86
core: log ACK delay
2018-05-02 18:34:41 -07:00
Benjamin Saunders
7b5499f1e7
examples: use packaged single-threaded runtime
2018-05-02 18:34:17 -07:00
Benjamin Saunders
aa5300da58
core: fix connect test
2018-05-02 18:33:05 -07:00
Benjamin Saunders
75785976cd
Update to OpenSSL-pre6
...
This allows for logging key material sufficient for decryption by Wireshark.
2018-05-02 18:32:25 -07:00
Benjamin Saunders
a0b07ddb7b
core: fix client bidi stream limit fencepost
2018-05-02 18:31:39 -07:00
Benjamin Saunders
f1862b55fe
core: fix panic on long packet with empty payload
2018-05-02 18:31:07 -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
6cef002e07
core: more detailed logging
2018-05-01 22:17:43 -07:00
Benjamin Saunders
82016c47a2
core: fix panic composing PNs before receiving ACKs
2018-05-01 20:44:00 -07:00