Dirkjan Ochtman
a05067e358
Let Streams request new stream and notify connection about it
2018-05-17 14:58:09 +02:00
Dirkjan Ochtman
18d7662414
Add mechanism for Streams to wake up connection future
2018-05-17 14:56:34 +02:00
Dirkjan Ochtman
a7b2e0868f
Make some Endpoint methods private
2018-05-17 14:54:52 +02:00
Dirkjan Ochtman
0311393a6e
Let Endpoint queue frames from Streams
2018-05-17 14:49:59 +02:00
Dirkjan Ochtman
c405587c7f
Enable logging SSL keys
2018-05-17 14:39:33 +02: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
Dirkjan Ochtman
d8f16f261a
Apply some further clippy suggestions
2018-05-16 23:10:14 +02:00
Dirkjan Ochtman
63a1a408b2
Remove unused method
2018-05-16 23:08:37 +02:00
Dirkjan Ochtman
6dd211007d
Let TLS session types return what Side they are
2018-05-16 23:07:20 +02:00
Dirkjan Ochtman
6cf018de62
Yield Streams from ConnectFuture
2018-05-16 22:58:54 +02:00
Dirkjan Ochtman
65266337e5
Implement basic support for StreamIdBlocked frames
2018-05-16 22:39:57 +02:00
Dirkjan Ochtman
1420318e22
Wrap ConnectFuture around generic Future impl for Client
2018-05-16 22:38:55 +02:00
Dirkjan Ochtman
69f043a919
Update max open streams from initial transport parameters
2018-05-16 22:32:35 +02:00
Dirkjan Ochtman
dbd698ed7a
Use smarter data structures to track open streams
2018-05-16 22:27:58 +02:00
Dirkjan Ochtman
7af569b1f9
Hide clippy lint directives from rustc
2018-05-16 21:09:22 +02:00
Dirkjan Ochtman
10fa7fc2f0
Apply suggestions from clippy to clean up code
2018-05-16 20:41:18 +02:00
Dirkjan Ochtman
44c8a4cfa6
Store encoded packets in Endpoint's send queue
2018-05-16 20:32:57 +02: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
Dirkjan Ochtman
f142ca761c
Let Endpoint handle packet encoding
2018-05-16 16:34:50 +02:00
Dirkjan Ochtman
55a5b9599b
Fix formatting with cargo fmt
2018-05-16 16:10:26 +02:00
Dirkjan Ochtman
9e02025f67
Get rid of unused receive queue
2018-05-16 16:10:07 +02: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
Dirkjan Ochtman
4ef5ee5f2e
Add basic Streams object to collect stream interactions
2018-05-15 21:48:27 +02:00
Dirkjan Ochtman
8d31d2a8ab
Hoist creation of transport parameters out of TLS code
2018-05-13 21:46:50 +02:00
Dirkjan Ochtman
7b7aeb5749
Implement Default for transport parameter structs
2018-05-13 21:39:05 +02:00
Dirkjan Ochtman
89b1398bba
Replace DRAFT_11 with QUIC_VERSION
2018-05-13 21:34:17 +02:00
Dirkjan Ochtman
9b7c118da7
Fix value for initial_version in ClientTransportParameters
2018-05-13 21:31:42 +02:00
Dirkjan Ochtman
9f5a4aa597
Move transport parameter types into separate module
2018-05-13 21:30:17 +02:00
Dirkjan Ochtman
b481583476
Store transport parameters from remote
2018-05-13 21:23:14 +02:00
Dirkjan Ochtman
7073e4a1ce
Make src_pn field private
2018-05-13 14:53:11 +02:00
Dirkjan Ochtman
4699ec3c9c
Update to use new rustls QUIC API
2018-05-13 14:52:52 +02:00
Dirkjan Ochtman
e366c59100
Store data for both endpoints in separate struct
2018-05-13 14:13:04 +02:00
Dirkjan Ochtman
d9c0fa9960
Fix formatting with cargo fmt
2018-05-13 14:09:36 +02:00
Dirkjan Ochtman
c036a12fc5
Streamline how server endpoints pick src_cid values
2018-05-13 14:09:30 +02:00
Dirkjan Ochtman
32bb288f69
Convert transport parameter types to internal Codec trait
2018-05-13 13:28:07 +02:00