Commit Graph

  • 06e65f7c1e Reorder badges in README Dirkjan Ochtman 2018-10-02 22:27:42 +02:00
  • 00ecf41200 Add docs.rs badge Dirkjan Ochtman 2018-10-02 22:27:16 +02:00
  • f194663f94 Fix crates.io badge image URL Dirkjan Ochtman 2018-10-02 22:26:40 +02:00
  • b6489cdf83 Merge branch 'master' into quicr Dirkjan Ochtman 2018-10-02 22:22:42 +02:00
  • 487c389536 Order extern crate statements 0.1.0 Dirkjan Ochtman 2018-10-02 22:16:40 +02:00
  • d9f0d93017 Restart version numbers from 0.1.0 Dirkjan Ochtman 2018-10-02 22:12:14 +02:00
  • 3da54b178c Rename crates from quicr{,-core} to quinn{,-proto} Dirkjan Ochtman 2018-10-02 21:57:46 +02:00
  • 0a5a9fa70e Update rustls to 0.14 Dirkjan Ochtman 2018-10-02 21:52:42 +02:00
  • dcfdf53f24 Merged README Dirkjan Ochtman 2018-10-02 21:43:57 +02:00
  • eb94a0a983 Order dependencies in Cargo manifests Dirkjan Ochtman 2018-10-02 21:30:33 +02:00
  • 62a9bf66e0 Add myself as crate author Dirkjan Ochtman 2018-10-02 21:26:54 +02:00
  • e26b47f371 Rename get_servername() to get_server_name() for consistency Dirkjan Ochtman 2018-10-02 21:14:58 +02:00
  • ed74848168 Fix deprecations Dirkjan Ochtman 2018-10-02 16:12:24 +02:00
  • a04dc1e4b9 Add Travis-CI configuration Dirkjan Ochtman 2018-10-02 15:06:29 +02:00
  • 3f09e982ff Flatten the workspace Dirkjan Ochtman 2018-10-02 11:59:06 +02:00
  • 8fc5fbbfc2 Pump test packets through sockets Dirkjan Ochtman 2018-10-01 13:57:58 +02:00
  • 9412d47762 Replace TLS backend with rustls Dirkjan Ochtman 2018-09-30 15:03:32 +02:00
  • bcdf6d6f21 Move set_payload_length() into packet module Dirkjan Ochtman 2018-09-10 12:02:56 +02:00
  • 97e4d584d4 Move most of Endpoint::close() into Connection Dirkjan Ochtman 2018-09-09 14:02:00 +02:00
  • 777bc132be Move Endpoint::close_common() into Connection Dirkjan Ochtman 2018-09-09 13:57:30 +02:00
  • 26f9dcb824 Move Endpoint::io into Context Dirkjan Ochtman 2018-09-09 13:51:54 +02:00
  • f57b2d7605 Let Connection handle processing on handshake completion Dirkjan Ochtman 2018-09-09 13:34:23 +02:00
  • a59849f5be Split server-side TLS handshake handling out into separate function Dirkjan Ochtman 2018-09-09 13:25:36 +02:00
  • 017c9c88b8 Move parse_initial() from endpoint to connection module Dirkjan Ochtman 2018-09-09 11:01:16 +02:00
  • 07bb1f15d1 Improve API interface for parse_initial() Dirkjan Ochtman 2018-09-09 10:58:33 +02:00
  • 05a3fd1421 Tweak style based on clippy suggestions Dirkjan Ochtman 2018-09-08 20:49:36 +02:00
  • 6b4f5db9f5 Change decryption API to require no allocations Dirkjan Ochtman 2018-09-07 21:18:52 +02:00
  • c9c6869209 Store packet payload as BytesMut Dirkjan Ochtman 2018-09-07 21:15:03 +02:00
  • 05dc97524e Split Packet creation out of parsing code Dirkjan Ochtman 2018-09-07 21:10:43 +02:00
  • e29c5245d1 Simplify logic for picking decryption Crypto Dirkjan Ochtman 2018-09-07 17:38:45 +02:00
  • 2782d3268a Improve Crypto encrypt() interface to reduce code duplication Dirkjan Ochtman 2018-09-07 17:23:44 +02:00
  • d447c58632 Move remaining crypto logic into Crypto type Dirkjan Ochtman 2018-09-07 15:14:40 +02:00
  • f37e4f1785 Move encryption/decryption logic into Crypto type Dirkjan Ochtman 2018-09-07 15:02:19 +02:00
  • cf6f737f11 Move creation of client-side TLS stream into crypto module Dirkjan Ochtman 2018-09-06 21:23:18 +02:00
  • 406718fb67 Extract new packet module for packet (de)serialization logic Dirkjan Ochtman 2018-09-06 16:22:22 +02:00
  • 13e0281fe8 Redistribute const definitions to be more sensible Dirkjan Ochtman 2018-09-06 16:01:00 +02:00
  • eff921f902 Move Endpoint::handle_connected_inner() into Connection Dirkjan Ochtman 2018-09-06 15:55:17 +02:00
  • 6e4268919a Move Endpoint::drive_tls() into Connection Dirkjan Ochtman 2018-09-06 15:48:06 +02:00
  • 0a6470e967 Merge Endpoint::on_packet_authenticated() into Connection::on_packet_authenticated() Dirkjan Ochtman 2018-09-06 15:08:51 +02:00
  • 5468e6b993 Move Endpoint::reset_idle_timeout() into Connection Dirkjan Ochtman 2018-09-06 15:03:28 +02:00
  • 7f141bf459 Move Endpoint::process_payload() into Connection Dirkjan Ochtman 2018-09-06 14:59:14 +02:00
  • fcfe1b3b6c Move ConnectionError into connection module Dirkjan Ochtman 2018-09-06 14:57:49 +02:00
  • 13b2221d43 Merge Endpoint::on_ack_received() into Connection::on_ack_received() Dirkjan Ochtman 2018-09-06 14:52:59 +02:00
  • fb13ce1eed Move connect() implementation into Connection type Dirkjan Ochtman 2018-09-06 14:37:52 +02:00
  • 7cc68816cd Move reset() method implementation into Connection Dirkjan Ochtman 2018-09-05 22:22:47 +02:00
  • 9327784e99 Move transmit_handshake() into Connection type Dirkjan Ochtman 2018-09-05 22:00:00 +02:00
  • e5558cb821 Move gen_initial_packet_num() into Context Dirkjan Ochtman 2018-09-05 21:53:55 +02:00
  • 4bc02e4b32 Introduce Context type to hold connection-accessible Endpoint state Dirkjan Ochtman 2018-09-05 21:48:12 +02:00
  • 6149d76ec7 Move core integration tests into library module Dirkjan Ochtman 2018-09-05 20:53:15 +02:00
  • 5a98c1fa8e Move Connection type and related code into separate module Dirkjan Ochtman 2018-09-04 17:13:08 +02:00
  • f2d4bb42a5 Move TLS code into a separate module Dirkjan Ochtman 2018-09-04 16:35:49 +02:00
  • b1d912c555 Abstract creation of TLS context into separate function Dirkjan Ochtman 2018-09-04 16:15:01 +02:00
  • 1c122c8fa3 Fix formatting with cargo fmt Dirkjan Ochtman 2018-08-30 17:32:09 +02:00
  • 36f1724586 Update recommended OpenSSL version pre-quinn-quicr Benjamin Saunders 2018-07-29 16:45:41 -07:00
  • 1876cbd28b rustls has draft 28 support on master now pre-quicr-quinn Dirkjan Ochtman 2018-07-29 21:06:16 +02:00
  • 383ff1d4d5 Update webpki-roots requirement to 0.15 dependabot[bot] 2018-07-16 04:34:11 +00:00
  • 05d0515c93 Update to new ring/webpki releases Dirkjan Ochtman 2018-07-13 20:43:39 +01:00
  • 108bfa436f Store protocol version in ConnectionState Dirkjan Ochtman 2018-07-03 11:28:12 +02:00
  • 066af2b16a Deduplicate code in Client constructors Dirkjan Ochtman 2018-07-03 11:23:48 +02:00
  • 5bcc87131d Pass version into transport parameters Dirkjan Ochtman 2018-07-03 11:16:20 +02:00
  • 82455bc917 Use new() to initialize transport parameters types Dirkjan Ochtman 2018-07-03 11:13:58 +02:00
  • bcb7a231aa Fix formatting with cargo fmt Dirkjan Ochtman 2018-07-03 11:16:29 +02:00
  • 845d60ed5d Expose callback for application-level authentication of client certs Benjamin Saunders 2018-06-27 19:49:03 -07:00
  • 68a8dd54a5 Require secure version of untrusted Dirkjan Ochtman 2018-06-26 10:03:26 +02:00
  • 6751a02543 Bump versions Benjamin Saunders 2018-06-22 18:32:52 -07:00
  • 031e852b29 Use released OpenSSL bindings Benjamin Saunders 2018-06-22 18:26:23 -07:00
  • 0a447c629d doc: typo fix king6cong 2018-06-22 12:58:04 +08:00
  • 19803d4c4e Add paragraph pointing to Patreon Dirkjan Ochtman 2018-06-22 22:08:30 +02:00
  • 9cca798104 Upgrade to tarpaulin-0.6.0 Dirkjan Ochtman 2018-06-12 09:20:16 +02:00
  • 3ba4932078 Improve error message about unexpected DCID Dirkjan Ochtman 2018-06-07 15:18:42 +02:00
  • ae21da1f10 Only set new state after queueing packet Dirkjan Ochtman 2018-06-07 15:18:08 +02:00
  • 55ba306a7b Derive Copy for State enum Dirkjan Ochtman 2018-06-07 15:17:31 +02:00
  • 6287c0bfb1 Apply formatting changes from newer cargo fmt Dirkjan Ochtman 2018-06-07 14:54:33 +02:00
  • 2a13a2ae36 Add new Client::connect_with_tls_config() API method Dirkjan Ochtman 2018-06-07 14:52:38 +02:00
  • 9cd7059741 Link to video from the talk in README Dirkjan Ochtman 2018-06-03 15:07:19 +02:00
  • b81937b522 Implement careful packetization and use stream buffers for TLS (fixes #3, #18) Dirkjan Ochtman 2018-06-02 15:51:49 +02:00
  • 37f4c9b4ee Only send ACK frames after receiving non-ACK payloads Dirkjan Ochtman 2018-06-02 15:47:25 +02:00
  • 8770660228 Rename Streams::queue to Streams::control Dirkjan Ochtman 2018-06-02 15:20:12 +02:00
  • 6925b216ab Make StreamRef id field public Dirkjan Ochtman 2018-06-02 15:18:37 +02:00
  • 64b8f3ba92 Always send long headers with two-byte payload length Dirkjan Ochtman 2018-06-02 15:14:34 +02:00
  • c838c970e4 Change Streams::init_send() to return Result instead of Option Dirkjan Ochtman 2018-06-01 15:14:53 +02:00
  • ddb73681d1 Open up stream 0 for both sides Dirkjan Ochtman 2018-06-01 15:13:24 +02:00
  • c50495e111 Use Default::default() for Stream constructor Dirkjan Ochtman 2018-06-01 15:12:30 +02:00
  • bb92fbb718 Derive Debug for Stream type Dirkjan Ochtman 2018-06-01 15:11:42 +02:00
  • 94b547c987 Address clippy suggestions Dirkjan Ochtman 2018-05-31 13:18:52 +02:00
  • 65bf02c924 Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-31 13:14:02 +02:00
  • 4174627231 Remove final traces of Packet type Dirkjan Ochtman 2018-05-31 13:13:36 +02:00
  • db77ec5c5e Move PartialDecode::finish() implementation into ConnectionState::handle_partial() Dirkjan Ochtman 2018-05-31 13:08:41 +02:00
  • eb3ec93934 Move packet encoding into ConnectionState::queue_packet() Dirkjan Ochtman 2018-05-31 12:57:28 +02:00
  • c641646870 Build packets just in time Dirkjan Ochtman 2018-05-31 12:05:37 +02:00
  • 4cb49b6d78 Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-30 15:58:29 +02:00
  • e32f9d99cf Handle errors from creating TLS server configuration Dirkjan Ochtman 2018-05-30 15:58:23 +02:00
  • 7db2c3753a Use tokio::run() to run the example server Dirkjan Ochtman 2018-05-30 15:54:51 +02:00
  • 94f31ffef3 Fix client default local addresses to allow any interface Dirkjan Ochtman 2018-05-30 15:47:47 +02:00
  • b6e436b514 Use current_thread::Runtime for running tests Dirkjan Ochtman 2018-05-30 13:24:04 +02:00
  • aa1e2f9afa Add utility methods to get Dir and Side from stream IDs Dirkjan Ochtman 2018-05-29 16:57:31 +02:00
  • 241b01d83a Use handle_tls() method for initial packet Dirkjan Ochtman 2018-05-29 14:55:38 +02:00
  • 438cbe5a70 Make packetization code more functional Dirkjan Ochtman 2018-05-29 14:44:53 +02:00
  • 4790475ad7 Always send two byte payload lengths in short headers Dirkjan Ochtman 2018-05-29 14:35:08 +02:00
  • 4b1b157be7 Decide header type based on connection state Dirkjan Ochtman 2018-05-29 14:29:21 +02:00