Commit Graph

  • 1035ca61cb Improve error message on invalid connection state Dirkjan Ochtman 2018-05-29 14:23:51 +02:00
  • ee6412d443 Add FinalHandshake state to connection state machine Dirkjan Ochtman 2018-05-29 14:13:30 +02:00
  • 92e8c4d06d ConnectionState::decode_key() can now be private Dirkjan Ochtman 2018-05-29 13:53:58 +02:00
  • 9a2d032eb5 Trigger client initial packet creation from connect() method Dirkjan Ochtman 2018-05-29 11:26:53 +02:00
  • 2ad307fb52 Simplify Future implementation for Client Dirkjan Ochtman 2018-05-29 11:08:31 +02:00
  • b3af4f3432 Simplify socket address literals Dirkjan Ochtman 2018-05-29 09:37:11 +02:00
  • b452b06c00 Implement support for header-only negotiation packets Dirkjan Ochtman 2018-05-29 09:12:35 +02:00
  • 8952e53878 Implement more refined handling of packet number extraction Dirkjan Ochtman 2018-05-29 09:12:18 +02:00
  • 9045e9eacc Refactor Client/ConnectFuture construction sequence Dirkjan Ochtman 2018-05-28 17:11:14 +02:00
  • d08f36add7 Enable synchronous access to server send queue Dirkjan Ochtman 2018-05-28 16:34:42 +02:00
  • 19c79b6e66 Move handling of received packets into a separate method Dirkjan Ochtman 2018-05-28 16:26:37 +02:00
  • cbaf2b5154 Switch decode fn from codec trait to return error Emeric Chevalier 2018-05-28 11:56:11 +02:00
  • d9cf21ef18 Reformat without screwing up carefully formatted byte array Dirkjan Ochtman 2018-05-28 15:13:56 +02:00
  • e21abf471b Simplify server handling of Initial packets Dirkjan Ochtman 2018-05-28 14:45:02 +02:00
  • 6e556e1b70 Ignore unknown TransportParameterIds when decoding Joseph Birr-Pixton 2018-05-28 13:45:17 +01:00
  • ba82eaa219 Change Server to spawn one task per connection (fixes #7) Dirkjan Ochtman 2018-05-24 21:53:55 +02:00
  • adcb68121e Fix and simplify decoding of padding frames Dirkjan Ochtman 2018-05-28 14:25:12 +02:00
  • 4ce89742ab Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-28 12:10:41 +02:00
  • 7a5fa3ea64 Merge packet building functions Dirkjan Ochtman 2018-05-28 12:09:54 +02:00
  • 3ef0ca35ef Add links to slides and animation Dirkjan Ochtman 2018-05-26 17:18:46 +02:00
  • 4cecc71a86 core: update for current rust-openssl Benjamin Saunders 2018-05-24 22:24:19 -07:00
  • 4b01245187 core: only report stateless resets once Benjamin Saunders 2018-05-24 22:08:13 -07:00
  • 897b804d96 tokio: fix stateless reset handling Benjamin Saunders 2018-05-24 21:52:45 -07:00
  • 0a93bf4bda tokio: expose 0-RTT writes Benjamin Saunders 2018-05-24 21:39:17 -07:00
  • a53a0b384c core: optional stateless reset token, fix CID spoofing attack Benjamin Saunders 2018-05-24 21:38:48 -07:00
  • 7f9bf85271 Update Travis CI config to add code coverage Dirkjan Ochtman 2018-05-24 08:53:16 +02:00
  • 05438091ff Add project metadata and licenses Dirkjan Ochtman 2018-05-24 08:59:28 +02:00
  • b2ed63bd14 refactor and expose session tickets; add initial interop test Benjamin Saunders 2018-05-22 19:22:08 -07:00
  • 52163298e8 Upgrade to rand-0.5 Dirkjan Ochtman 2018-05-22 16:42:28 +02:00
  • e6eb7324d0 Use SVG badge for Gitter Dirkjan Ochtman 2018-05-22 08:52:59 +02:00
  • df21488c0c Update README Benjamin Saunders 2018-05-21 21:57:38 -07:00
  • fb9190a0b6 core: fix 0-RTT send/recv Benjamin Saunders 2018-05-21 21:49:14 -07:00
  • 8cb6440557 Add some badges to the README Dirkjan Ochtman 2018-05-21 21:39:52 +02:00
  • e19a548925 Improve ConnectFuture API for robustness (fixes #9) Dirkjan Ochtman 2018-05-21 21:34:32 +02:00
  • 945ea60c5a Improve logging for server-sent messages Dirkjan Ochtman 2018-05-21 21:19:02 +02:00
  • 1e54ee7ee8 Improve robustness of encoded handshake test (fixes #10) Dirkjan Ochtman 2018-05-21 21:17:54 +02:00
  • 5ec14c185f Move PeerData into conn_state module Dirkjan Ochtman 2018-05-21 20:52:09 +02:00
  • 680622ebf2 Remove almost unused convenience method Dirkjan Ochtman 2018-05-21 20:51:59 +02:00
  • 4fa0e684af Fix Travis configuration Dirkjan Ochtman 2018-05-21 20:20:40 +02:00
  • 32fbd6bbeb Rely on public rustls branch Dirkjan Ochtman 2018-05-21 20:19:53 +02:00
  • 4ee71cb2c8 Rename Endpoint type to ConnectionState Dirkjan Ochtman 2018-05-21 20:18:17 +02:00
  • 733faaeb78 Update draft versions in README Dirkjan Ochtman 2018-05-21 20:13:27 +02:00
  • 7ee593e889 Add Travis CI configuration Dirkjan Ochtman 2018-05-21 17:30:20 +02:00
  • 7a60ccedf7 Fix use statement order per cargo fmt Dirkjan Ochtman 2018-05-21 17:29:19 +02:00
  • 6e9d638e4e Start adding some code for HTTP Dirkjan Ochtman 2018-05-21 17:29:08 +02:00
  • a3e6cbb901 Add back question mark for client socket connect Dirkjan Ochtman 2018-05-21 17:27:54 +02:00
  • b2e0c83e39 Be more flexible about supporting IPv4 and IPv6 Dirkjan Ochtman 2018-05-21 17:24:23 +02:00
  • a9f9ec614d core: allow ACK-only handshake packets Benjamin Saunders 2018-05-19 11:10:42 -07:00
  • 5993415434 core: draft 0-RTT transmit support Benjamin Saunders 2018-05-19 10:48:50 -07:00
  • 5e79ef3342 Only require tokio-udp for the library Dirkjan Ochtman 2018-05-19 14:18:54 +02:00
  • 8c27706cec Split up tests module Dirkjan Ochtman 2018-05-19 14:08:50 +02:00
  • 9f87c5de6b Send one Handshake packet per TLS message to prevent large packets Dirkjan Ochtman 2018-05-18 15:17:18 +02:00
  • dc950a183c Add logging in the server Dirkjan Ochtman 2018-05-18 15:16:17 +02:00
  • 7c7f635527 core: draft 0-RTT receive support Benjamin Saunders 2018-05-17 21:46:56 -07:00
  • 14f33b74be core: remove dead code Benjamin Saunders 2018-05-17 12:43:00 -07:00
  • 140c22d0cc update README Benjamin Saunders 2018-05-17 12:39:06 -07:00
  • 1f1f9463fe core: don't inspect reserved short header bit Benjamin Saunders 2018-05-17 12:38:15 -07:00
  • e65eaa2ea3 core: clarify some errors Benjamin Saunders 2018-05-17 12:38:01 -07:00
  • 8ccd95c703 core: don't send MAX_DATA after handshake Benjamin Saunders 2018-05-17 12:09:04 -07:00
  • a53135dc99 Remove reference to staged module http Dirkjan Ochtman 2018-05-17 20:59:08 +02:00
  • 36b9a8d874 Merge Endpoint packet handling methods Dirkjan Ochtman 2018-05-17 20:32:08 +02:00
  • 114544197a Make loop nicer as suggested by clippy Dirkjan Ochtman 2018-05-17 15:00:58 +02:00
  • a05067e358 Let Streams request new stream and notify connection about it Dirkjan Ochtman 2018-05-17 14:57:30 +02:00
  • 18d7662414 Add mechanism for Streams to wake up connection future Dirkjan Ochtman 2018-05-17 14:56:34 +02:00
  • a7b2e0868f Make some Endpoint methods private Dirkjan Ochtman 2018-05-17 14:54:52 +02:00
  • 0311393a6e Let Endpoint queue frames from Streams Dirkjan Ochtman 2018-05-17 14:49:59 +02:00
  • c405587c7f Enable logging SSL keys Dirkjan Ochtman 2018-05-17 14:39:33 +02:00
  • 72c9e4be35 tokio: work around panic on handshake failure Benjamin Saunders 2018-05-17 02:54:24 -07:00
  • f2d88da66b nix: always have backtraces Benjamin Saunders 2018-05-17 02:54:09 -07:00
  • 9f13021841 core: fix server dedup of retransmitted Initial under stateful hs Benjamin Saunders 2018-05-17 02:23:13 -07:00
  • e6bd7cad9c core: fix incorrect retransmission of ClientHello under high latency Benjamin Saunders 2018-05-17 01:15:56 -07:00
  • 5e3e85ab08 core: include TLS alert, if any, in handshake error Benjamin Saunders 2018-05-17 00:55:35 -07:00
  • 5ca79bb6b9 examples: allow arbitrary listen address Benjamin Saunders 2018-05-17 00:36:53 -07:00
  • 843fc3c89a examples: expose stateless retry Benjamin Saunders 2018-05-17 00:26:13 -07:00
  • b0a3bc8837 core: ensure we don't use later TLS versions inadvertently Benjamin Saunders 2018-05-17 00:25:58 -07:00
  • a5989575d2 core: minimal resumption UT Benjamin Saunders 2018-05-17 00:25:44 -07:00
  • 55bf7621a6 core: optional stateless retry Benjamin Saunders 2018-05-16 23:08:07 -07:00
  • f65a59a22e core: sanity-check NEW_CONNECTION_ID Benjamin Saunders 2018-05-16 22:53:25 -07:00
  • d76f9e2040 core: tolerate NEW_CONNECTION_ID Benjamin Saunders 2018-05-16 22:47:35 -07:00
  • 989284511d core: improve handling of unexpected long header packets Benjamin Saunders 2018-05-16 20:40:50 -07:00
  • 643c6829e9 core: fix openssl version bound Benjamin Saunders 2018-05-16 20:40:42 -07:00
  • d8f16f261a Apply some further clippy suggestions Dirkjan Ochtman 2018-05-16 23:10:14 +02:00
  • 63a1a408b2 Remove unused method Dirkjan Ochtman 2018-05-16 23:08:37 +02:00
  • 6dd211007d Let TLS session types return what Side they are Dirkjan Ochtman 2018-05-16 23:07:20 +02:00
  • 6cf018de62 Yield Streams from ConnectFuture Dirkjan Ochtman 2018-05-16 22:58:54 +02:00
  • 65266337e5 Implement basic support for StreamIdBlocked frames Dirkjan Ochtman 2018-05-16 22:18:37 +02:00
  • 1420318e22 Wrap ConnectFuture around generic Future impl for Client Dirkjan Ochtman 2018-05-16 22:17:36 +02:00
  • 69f043a919 Update max open streams from initial transport parameters Dirkjan Ochtman 2018-05-16 22:16:22 +02:00
  • dbd698ed7a Use smarter data structures to track open streams Dirkjan Ochtman 2018-05-16 22:15:32 +02:00
  • 7af569b1f9 Hide clippy lint directives from rustc Dirkjan Ochtman 2018-05-16 21:09:22 +02:00
  • 10fa7fc2f0 Apply suggestions from clippy to clean up code Dirkjan Ochtman 2018-05-16 20:41:18 +02:00
  • 44c8a4cfa6 Store encoded packets in Endpoint's send queue Dirkjan Ochtman 2018-05-16 20:32:43 +02:00
  • b44a612304 examples: mark unreachable case Benjamin Saunders 2018-05-16 08:55:12 -07:00
  • 0912edaaf2 core: fix panic on malformed header Benjamin Saunders 2018-05-16 08:55:00 -07:00
  • f142ca761c Let Endpoint handle packet encoding Dirkjan Ochtman 2018-05-16 16:32:42 +02:00
  • 55a5b9599b Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-16 16:10:26 +02:00
  • 9e02025f67 Get rid of unused receive queue Dirkjan Ochtman 2018-05-16 16:10:07 +02:00
  • f1e7bd4e54 session resumption Benjamin Saunders 2018-05-16 00:23:30 -07:00
  • 9e3467c0a2 core: fix underflow on recv of already-read stream frame Benjamin Saunders 2018-05-16 00:20:38 -07:00
  • 4ef5ee5f2e Add basic Streams object to collect stream interactions Dirkjan Ochtman 2018-05-15 21:48:27 +02:00