Commit Graph

  • d96ef19268 Hoist creation of ConnectionLost events out of drive_tls() Dirkjan Ochtman 2018-11-24 19:51:46 +01:00
  • d0d5e73a7f Move guards from write_inner() to write() Dirkjan Ochtman 2018-11-24 19:26:29 +01:00
  • 41d9b3a2d2 Move read_unordered() logic into Recv type Dirkjan Ochtman 2018-11-24 19:24:17 +01:00
  • 9513f6fef3 Move read() logic into Recv type Dirkjan Ochtman 2018-11-24 19:17:58 +01:00
  • 9a720434c7 Update rand requirement from 0.5 to 0.6 dependabot[bot] 2018-11-26 04:34:07 +00:00
  • f7e01ae1c9 Provide high-level API for getting stream references Dirkjan Ochtman 2018-11-23 21:40:36 +01:00
  • 449202b26c Improve ordering of code in connection module Dirkjan Ochtman 2018-11-23 20:06:49 +01:00
  • 2a54c81090 Hoist event creation out of Connection::process_payload() Dirkjan Ochtman 2018-11-23 20:04:47 +01:00
  • 13a5991885 Include packet number length in length field Dirkjan Ochtman 2018-11-23 17:13:00 +01:00
  • 7efb934bb2 Set version to draft-15 Dirkjan Ochtman 2018-11-12 14:52:37 +01:00
  • b5f27aa7b4 Add tests for packet number encryption and decryption Dirkjan Ochtman 2018-11-14 12:05:19 +01:00
  • 2c21532ea6 Apply packet number encryption and decryption Dirkjan Ochtman 2018-11-12 17:27:04 +01:00
  • 4342c92712 Add support for ChaCha20 packet number encryption/decryption Dirkjan Ochtman 2018-11-12 17:51:27 +01:00
  • 929156469f Add support for AES-128-CTR packet number encryption/decryption Dirkjan Ochtman 2018-10-16 21:02:15 +02:00
  • ac2287e6c1 Implement new-style variable length packet number encoding Dirkjan Ochtman 2018-11-12 14:53:19 +01:00
  • 76cc763006 Implement draft 15 transport parameters Benjamin Saunders 2018-10-17 23:20:54 -07:00
  • fe1a668047 Replace handshake crypto with draft-14 initial crypto Dirkjan Ochtman 2018-10-17 14:29:37 +02:00
  • ae4701d387 Add support for different header types Dirkjan Ochtman 2018-10-17 13:53:49 +02:00
  • 3b2476ba63 Add convenience method to generate new connection IDs Dirkjan Ochtman 2018-11-14 11:33:24 +01:00
  • 1d97f24a27 Prevent extraneous copy of short packet connection ID Dirkjan Ochtman 2018-11-14 11:31:40 +01:00
  • 302eba170a Store local CID length in Config Dirkjan Ochtman 2018-11-14 11:28:08 +01:00
  • 1380a8c4ea Fix type for ConnectionId::random() len argument Dirkjan Ochtman 2018-11-14 11:18:22 +01:00
  • 911570e15e Clarify data dependencies in Connection::next_packet() Dirkjan Ochtman 2018-11-12 12:04:03 +01:00
  • 7d02d4b2ed Clarify some high-level documentation Benjamin Saunders 2018-11-16 00:43:35 -08:00
  • 16e3a49938 Get rid of Clone for ListenKeys stammw 2018-11-18 12:47:42 +01:00
  • 272f7a571f Do not rebuild reset_token signing key on each reset stammw 2018-11-17 17:35:36 +01:00
  • c53e97faf5 Remove Blake2 and use SHA512_256 for reset_token instead stammw 2018-11-16 18:05:34 +01:00
  • 6f4ec8b3b9 Tweak solicited RESET_STREAM error code to match recommendation Benjamin Saunders 2018-11-16 00:58:30 -08:00
  • a19b346463 Upgrade to rand 0.6 Dirkjan Ochtman 2018-11-14 13:46:19 +01:00
  • d33b4ac126 Only emit UDP packets from tests when logging TLS keys Benjamin Saunders 2018-11-09 20:09:01 -08:00
  • 5bfc0492f8 Per-connection Logger Benjamin Saunders 2018-11-09 19:16:13 -08:00
  • 4110ddf170 Factor stream state out into a private sub-structure Benjamin Saunders 2018-11-09 19:13:35 -08:00
  • 563f43daa9 Isolate per-connection event polling Benjamin Saunders 2018-11-09 18:57:43 -08:00
  • 9f071bb2c1 Wrap comments in quinn-proto at 100 columns Dirkjan Ochtman 2018-11-08 10:03:44 +01:00
  • 848d6ed366 Remove unused memory_stream module Dirkjan Ochtman 2018-11-08 10:03:27 +01:00
  • ea9ffcaef7 Explicitly make Connection methods private Dirkjan Ochtman 2018-10-23 22:02:22 +02:00
  • 39cbb10c2a Complete packet decoding in one place Dirkjan Ochtman 2018-10-23 21:47:53 +02:00
  • 7ef63cea99 Keep Packet intact through decryption Dirkjan Ochtman 2018-10-23 20:54:29 +02:00
  • 8f7175cd6f Inline Connection::update_keys() into decrypt_packet() Dirkjan Ochtman 2018-10-23 20:52:43 +02:00
  • 370e11c5b3 Inline Connection::decrypt() into Connection::decrypt_packet() Dirkjan Ochtman 2018-10-23 20:29:11 +02:00
  • c9a88bbf9e Use convenient helper method for decrypting packets Dirkjan Ochtman 2018-10-23 20:22:19 +02:00
  • 8d27d61e4f Rename HeaderError to PacketDecodeError Dirkjan Ochtman 2018-10-23 16:04:18 +02:00
  • 6cbd6f5278 Split packet decoding into two phases Dirkjan Ochtman 2018-10-23 16:03:03 +02:00
  • 206702a0a7 Pass all Initial packets to handle_initial() as Packet Dirkjan Ochtman 2018-10-22 22:19:31 +02:00
  • ae2d60d67c Use LOCAL_ID_LEN directly in decoding code Dirkjan Ochtman 2018-10-22 21:55:23 +02:00
  • 1ea990b9b5 Handle retry packets inside receiving Connection Dirkjan Ochtman 2018-10-22 21:44:52 +02:00
  • 080b1e1b26 Move Endpoint::handle_connected() into Connection type Dirkjan Ochtman 2018-10-22 20:37:06 +02:00
  • c3a931e72e Move handshake_close() function into connection module Dirkjan Ochtman 2018-10-22 20:35:03 +02:00
  • 8e665ab7c0 Extract packet loss function from timeout handler Dirkjan Ochtman 2018-10-17 21:34:34 +02:00
  • 29cd0e60e4 Move more Endpoint::write() code into Connection type Dirkjan Ochtman 2018-10-17 21:27:37 +02:00
  • 50780c8473 Consistently rename connection ID variables Dirkjan Ochtman 2018-10-17 21:18:29 +02:00
  • f338404f37 Add helper method to encode connection ids Dirkjan Ochtman 2018-10-17 13:50:08 +02:00
  • 23cd264cf6 Refactor header decoding method Dirkjan Ochtman 2018-10-17 13:17:10 +02:00
  • 02c607b0e6 Use enum for long packet type values Dirkjan Ochtman 2018-10-17 12:28:44 +02:00
  • 204635275c Use assert_eq!() in tests where possible Dirkjan Ochtman 2018-10-17 12:27:57 +02:00
  • 3e92c2b89f Rename random value field in VersionNegotiate header variant Dirkjan Ochtman 2018-11-06 10:26:12 +01:00
  • 8a7841280f Move Header decoding code into Header type Dirkjan Ochtman 2018-10-17 11:32:21 +02:00
  • a286fddeda Reorder code in packet module Dirkjan Ochtman 2018-10-17 11:22:05 +02:00
  • 2d25904bdd Improve a log message and ConnectionId Debug impl Benjamin Saunders 2018-10-31 21:08:55 -07:00
  • 39267e8d54 Fix warnings about unnecessary macro imports Dirkjan Ochtman 2018-10-29 12:05:36 +01:00
  • b6def268de Update formatting for rust 1.30.0 Dirkjan Ochtman 2018-10-29 11:54:32 +01:00
  • a2922b4828 Move TLS out of state enum Benjamin Saunders 2018-10-21 19:50:34 -07:00
  • 1523bbea91 Fix typo in readme kryptan 2018-10-25 21:59:46 +03:00
  • 963a4bb473 Fix panic on Endpoint::connect Benjamin Saunders 2018-10-19 17:35:29 -07:00
  • aeacba5a2b Try to fix code coverage reporting Dirkjan Ochtman 2018-10-18 10:48:41 +02:00
  • f17f0b54e9 Add a little guide to running the example code Dirkjan Ochtman 2018-10-15 10:33:25 +02:00
  • c9dfed3b7b Add note about stable Rust Dirkjan Ochtman 2018-10-15 10:34:06 +02:00
  • a65292b37d Collapse implementation details in README features list Dirkjan Ochtman 2018-10-15 10:29:25 +02:00
  • 14e5e93eeb Remove status from features Dirkjan Ochtman 2018-10-15 10:29:04 +02:00
  • a10e6ee140 Remove required feature from client example, tweak CLI docs Benjamin Saunders 2018-10-17 19:28:53 -07:00
  • d28a702ab6 More use of constants Benjamin Saunders 2018-10-17 22:23:08 -07:00
  • 10c09ef64f Fix handling of unset idle timeout Benjamin Saunders 2018-10-17 22:19:31 -07:00
  • e66d71d815 Fix panics on invalid transport parameters Benjamin Saunders 2018-10-17 22:18:38 -07:00
  • dc41b8bff0 Prior to this patch, we had duplicated lots of error handling logic inside handle_connected_inner, mostly in the way of event recording. This patch simplifies this by instead returning a Result, which allows the caller to handle either case and create events more succinctly than handle_connected_inner could. Tyler Wilcock 2018-10-08 22:57:23 -05:00
  • 6741657e02 Client configuration API Benjamin Saunders 2018-10-13 15:19:25 -07:00
  • 3492f61142 Derive Clone for Connection and Endpoint Benjamin Saunders 2018-10-15 00:35:21 -07:00
  • f04f059893 Implement backpressure on incoming connections Benjamin Saunders 2018-10-13 21:09:37 -07:00
  • 02b536336b Test and debug stream ID flow control Benjamin Saunders 2018-10-13 20:11:52 -07:00
  • 2085b0a7f8 Improve debug formatting for transport errors and frame types Benjamin Saunders 2018-10-13 15:04:24 -07:00
  • c0e0603cd2 Upgrade to blake2-0.8 Dirkjan Ochtman 2018-10-12 15:24:41 +02:00
  • 1045617dee Copy ConnectionIds instead of cloning them Dirkjan Ochtman 2018-10-12 15:51:24 +02:00
  • 57bb05cd96 Handle ALPN with &[u8] instead of Strings stammw 2018-10-07 11:27:15 +02:00
  • f9d64e783e use a constant for ALPN QUIC_HTTP value stammw 2018-10-06 11:05:55 +02:00
  • 6e1eab4bed Let the user select ALPN protocols values #32 Jean-Christophe BEGUE 2018-10-05 16:59:35 +02:00
  • d4ec5ca865 Remove ArrayVec in favor of a simple array Tyler Wilcock 2018-10-06 19:15:27 -05:00
  • 4807a970a0 Fix panic when closing a connection during handshake Benjamin Saunders 2018-10-05 21:51:31 -07:00
  • 977397ef1e Get ConnectionHandle from self Dirkjan Ochtman 2018-10-04 12:48:39 +02:00
  • 6729f26cd3 Store ConnectionHandle in Connection Dirkjan Ochtman 2018-10-04 12:33:54 +02:00
  • ac7424b151 Remove lingering references to quicr. Simon Heath 2018-10-04 19:38:31 -04:00
  • 0d25cd7686 Apply clippy suggestions Dirkjan Ochtman 2018-10-04 09:33:33 +02:00
  • d4bf4bcb1a Fix formatting Dirkjan Ochtman 2018-10-04 09:31:13 +02:00
  • 2c11eb71dd Check formatting in CI Dirkjan Ochtman 2018-10-04 09:16:39 +02:00
  • e5cb4e3abc Fix stateless resets Benjamin Saunders 2018-10-03 19:04:49 -07:00
  • 9bb759fe0b README cleanup Benjamin Saunders 2018-10-03 19:10:08 -07:00
  • 1b3906555c Close #29 rename Value trait to Codec Andrii Radyk 2018-10-04 00:20:21 +02:00
  • 43f3ec0fc8 Clarify status of HTTP as unimplemented Dirkjan Ochtman 2018-10-03 20:36:50 +02:00
  • c07561744f Fix method name for set_certificate_authority() Dirkjan Ochtman 2018-10-03 20:31:03 +02:00
  • 042266aa81 Upgrade to rand-0.5 Dirkjan Ochtman 2018-10-03 13:45:07 +02:00
  • 4e747108f0 Add CodeCov and Travis badges to Cargo manifest Dirkjan Ochtman 2018-10-03 13:47:36 +02:00
  • f4231eaa7d Use latest version of blake2 Dirkjan Ochtman 2018-10-03 11:06:49 +02:00