Commit Graph

2620 Commits

Author SHA1 Message Date
Dirkjan Ochtman a3e6cbb901 Add back question mark for client socket connect 2018-05-21 17:27:54 +02:00
Dirkjan Ochtman b2e0c83e39 Be more flexible about supporting IPv4 and IPv6 2018-05-21 17:24:23 +02: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
Dirkjan Ochtman 5e79ef3342 Only require tokio-udp for the library 2018-05-19 14:18:54 +02:00
Dirkjan Ochtman 8c27706cec Split up tests module 2018-05-19 14:08:50 +02:00
Dirkjan Ochtman 9f87c5de6b Send one Handshake packet per TLS message to prevent large packets 2018-05-18 15:18:08 +02:00
Dirkjan Ochtman dc950a183c Add logging in the server 2018-05-18 15:16:17 +02: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
Dirkjan Ochtman a53135dc99 Remove reference to staged module http 2018-05-17 20:59:08 +02:00
Dirkjan Ochtman 36b9a8d874 Merge Endpoint packet handling methods 2018-05-17 20:32:08 +02:00
Dirkjan Ochtman 114544197a Make loop nicer as suggested by clippy 2018-05-17 15:00:58 +02:00
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