Commit Graph

  • 8d31d2a8ab Hoist creation of transport parameters out of TLS code Dirkjan Ochtman 2018-05-13 21:46:50 +02:00
  • 7b7aeb5749 Implement Default for transport parameter structs Dirkjan Ochtman 2018-05-13 21:39:05 +02:00
  • 89b1398bba Replace DRAFT_11 with QUIC_VERSION Dirkjan Ochtman 2018-05-13 21:34:17 +02:00
  • 9b7c118da7 Fix value for initial_version in ClientTransportParameters Dirkjan Ochtman 2018-05-13 21:31:42 +02:00
  • 9f5a4aa597 Move transport parameter types into separate module Dirkjan Ochtman 2018-05-13 21:30:17 +02:00
  • b481583476 Store transport parameters from remote Dirkjan Ochtman 2018-05-13 21:23:14 +02:00
  • 7073e4a1ce Make src_pn field private Dirkjan Ochtman 2018-05-13 14:53:11 +02:00
  • 4699ec3c9c Update to use new rustls QUIC API Dirkjan Ochtman 2018-05-13 14:52:52 +02:00
  • e366c59100 Store data for both endpoints in separate struct Dirkjan Ochtman 2018-05-13 14:13:04 +02:00
  • d9c0fa9960 Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-13 14:09:36 +02:00
  • c036a12fc5 Streamline how server endpoints pick src_cid values Dirkjan Ochtman 2018-05-13 14:09:30 +02:00
  • 32bb288f69 Convert transport parameter types to internal Codec trait Dirkjan Ochtman 2018-05-13 13:28:07 +02:00
  • af50ca0154 core: fix stream ID fencepost error Benjamin Saunders 2018-05-12 22:53:44 -07:00
  • 6045f79bd6 core: don't ignore handshake completion ACKs Benjamin Saunders 2018-05-12 22:14:07 -07:00
  • 31d35944aa core: fix high-latency handshakes and related bugs Benjamin Saunders 2018-05-12 14:59:01 -07:00
  • 15662a3f44 core: refactor tests to support passage of time Benjamin Saunders 2018-05-12 11:02:30 -07:00
  • 946a41af37 Don't error out on Handshake messages without Stream 0 Dirkjan Ochtman 2018-05-12 15:04:16 +02:00
  • 44a7de1808 Use Handshake key for late-arriving Handshake messages Dirkjan Ochtman 2018-05-12 15:03:35 +02:00
  • 74fe4f77b1 Fix integer width for some transport parameters Dirkjan Ochtman 2018-05-12 14:56:33 +02:00
  • 5641a67cbc Actually use check function Dirkjan Ochtman 2018-05-12 14:37:30 +02:00
  • bc56d27bba Allow streams by default Dirkjan Ochtman 2018-05-12 14:36:58 +02:00
  • a4fbb443ea examples: less monolithic server future Benjamin Saunders 2018-05-11 18:05:38 -07:00
  • 2216273b0d Store received short packets Dirkjan Ochtman 2018-05-11 15:10:45 +02:00
  • ac6b5b7eef Validate packet type of short packet Dirkjan Ochtman 2018-05-11 15:07:59 +02:00
  • 30866210cd Use higher-level endpoint API in tests Dirkjan Ochtman 2018-05-11 15:07:14 +02:00
  • 4079636e99 Let Endpoint handle packet decoding where possible Dirkjan Ochtman 2018-05-11 15:03:34 +02:00
  • 8740b7b222 Add comprehensive handle() method to Endpoint Dirkjan Ochtman 2018-05-11 14:51:41 +02:00
  • 67f02021a9 Make client future more generically usable Dirkjan Ochtman 2018-05-11 14:37:18 +02:00
  • 7d98846de0 Rely on new match binding mechanics to simplify code Dirkjan Ochtman 2018-05-11 10:21:53 +02:00
  • 7f90699f94 Reformat with updated toolchain Dirkjan Ochtman 2018-05-11 10:10:55 +02:00
  • e40d241c0d core: sni accessor Benjamin Saunders 2018-05-11 00:29:42 -07:00
  • 6160a53625 tokio: update for rustc 1.26 Benjamin Saunders 2018-05-11 00:25:27 -07:00
  • 1078ce9f76 core: fix inadvertent sending of certificate requests Benjamin Saunders 2018-05-11 00:24:21 -07:00
  • ca49ab8f1b Use simpler Buf/BufMut methods to handle byte order Dirkjan Ochtman 2018-05-08 15:28:21 +02:00
  • 38f31287ba Fix Debug impl for ConnectionId to zero-pad hex formatting Dirkjan Ochtman 2018-05-08 12:09:24 +02:00
  • 23c03b5114 Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-08 09:25:22 +02:00
  • d7f1a03024 Extend test to cover decoding of protected packets Dirkjan Ochtman 2018-05-08 09:25:11 +02:00
  • 0138147f71 Implement basic support for PING frames Dirkjan Ochtman 2018-05-08 09:24:11 +02:00
  • a852b48247 Export separate 1-RTT secrets for client and server Dirkjan Ochtman 2018-05-08 09:23:47 +02:00
  • 794c1b78fe Correct encoding of short packet headers Dirkjan Ochtman 2018-05-07 14:56:35 +02:00
  • 0c5a598cf8 Build packet queue instead of doing strict request-response Dirkjan Ochtman 2018-05-07 14:32:40 +02:00
  • d06976f86a Keep track of stream 0 offsets Dirkjan Ochtman 2018-05-07 14:04:48 +02:00
  • 02a37af854 Implement basic support for close frames Dirkjan Ochtman 2018-05-07 13:55:35 +02:00
  • 7c1026b507 Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-07 13:24:48 +02:00
  • 4400dea713 Add support for responding to PATH_CHALLENGE frames Dirkjan Ochtman 2018-05-07 13:24:41 +02:00
  • f88bd55e0f Maintain explicit state in Endpoint Dirkjan Ochtman 2018-05-07 13:09:37 +02:00
  • 1a085dd5ff Implement Debug for Secret Dirkjan Ochtman 2018-05-07 13:09:20 +02:00
  • 734c1e1e6c Fix decoding of padding frames, add test Dirkjan Ochtman 2018-05-07 13:01:12 +02:00
  • bc0f0a79af Add basic support for PathChallenge/PathResponse frames Dirkjan Ochtman 2018-05-07 11:40:50 +02:00
  • bafbb59749 Assert to check payload length in header Dirkjan Ochtman 2018-05-07 09:48:40 +02:00
  • bcca684176 Rename variable for consistency Dirkjan Ochtman 2018-05-07 09:47:23 +02:00
  • 0cba76cc3b Encode into byte slices Dirkjan Ochtman 2018-05-07 09:46:43 +02:00
  • 2a4b14503d Introduce custom error type and stop unwrapping Dirkjan Ochtman 2018-05-05 17:58:58 +02:00
  • 2627ee5b61 Prevent use of unwrap() Dirkjan Ochtman 2018-05-05 17:26:06 +02:00
  • 4f72bd902c Add test for resolving Client::connect() Dirkjan Ochtman 2018-05-05 15:14:10 +02:00
  • 5d40a6a9b6 Split Client::connect() code to allow testing Dirkjan Ochtman 2018-05-05 15:13:55 +02:00
  • f79c780898 Check for IPv4 addresses in client connect code Dirkjan Ochtman 2018-05-05 15:13:22 +02:00
  • 4518f1ada2 Refactor test utilities to enable more tests Dirkjan Ochtman 2018-05-05 15:12:29 +02:00
  • b30b60e4aa Update ALPN protocol to draft-11 Dirkjan Ochtman 2018-05-05 14:14:32 +02:00
  • df82cfb190 Accept Handshake packets in server Dirkjan Ochtman 2018-05-05 14:07:07 +02:00
  • b0dd26129a Allow Client::connect() to resolve to Client Dirkjan Ochtman 2018-05-05 14:06:11 +02:00
  • 28b2eaae7c Rename QuicStream to Client Dirkjan Ochtman 2018-05-05 13:19:57 +02:00
  • 949f491bdc Directly use QuicClientTls/QuicServerTls from rustls Dirkjan Ochtman 2018-05-03 16:21:00 +02:00
  • 010800dda6 Capture transport parameters as a struct, encode in this crate Dirkjan Ochtman 2018-05-03 14:32:13 +02:00
  • 91924a7387 Iterate on documentation Benjamin Saunders 2018-05-02 22:04:59 -07:00
  • 8e67460f34 Bump versions Benjamin Saunders 2018-05-02 19:02:12 -07:00
  • 5e8dcc71ee core: fix bad delay in server's first ACK Benjamin Saunders 2018-05-02 19:00:58 -07:00
  • 9ac732dd86 core: log ACK delay Benjamin Saunders 2018-05-02 18:34:41 -07:00
  • 7b5499f1e7 examples: use packaged single-threaded runtime Benjamin Saunders 2018-05-02 18:34:05 -07:00
  • aa5300da58 core: fix connect test Benjamin Saunders 2018-05-02 18:33:05 -07:00
  • 75785976cd Update to OpenSSL-pre6 Benjamin Saunders 2018-05-02 18:32:02 -07:00
  • a0b07ddb7b core: fix client bidi stream limit fencepost Benjamin Saunders 2018-05-02 18:31:39 -07:00
  • f1862b55fe core: fix panic on long packet with empty payload Benjamin Saunders 2018-05-02 18:31:07 -07:00
  • 934f681b77 core: unit test for congestion Benjamin Saunders 2018-05-02 18:30:34 -07:00
  • 5d3aca186f core: fix default cert verification behavior Benjamin Saunders 2018-05-02 18:29:26 -07:00
  • 18c8bbda24 Extend test to cover complete handshake Dirkjan Ochtman 2018-05-02 16:39:53 +02:00
  • 60361f4d8b Send short packet header when handshake is complete Dirkjan Ochtman 2018-05-02 16:39:37 +02:00
  • 88dec0811d Add back support for short packet headers Dirkjan Ochtman 2018-05-02 16:34:46 +02:00
  • a28e9fe8f7 Force generated CIDs to have a fixed length Dirkjan Ochtman 2018-05-02 16:33:22 +02:00
  • 434fa3bed8 Simplify implementation of ConnectFuture Dirkjan Ochtman 2018-05-02 15:05:53 +02:00
  • 1d39c24c47 Derive Debug for Side Dirkjan Ochtman 2018-05-02 14:40:07 +02:00
  • 0d18f1836c Correctly match connection IDs in server Dirkjan Ochtman 2018-05-02 14:03:38 +02:00
  • e64baddaa8 Add custom Debug impl for ConnectionId Dirkjan Ochtman 2018-05-02 12:21:40 +02:00
  • 5eb3237463 Fix tests Dirkjan Ochtman 2018-05-02 12:21:30 +02:00
  • 9be1ef7f07 Set sender's src_cid as local dst_cid Dirkjan Ochtman 2018-05-02 12:12:10 +02:00
  • 6a7c3a032f Rename variable to be more generic Dirkjan Ochtman 2018-05-02 12:09:59 +02:00
  • e2bebbc108 Remove stray use statement Dirkjan Ochtman 2018-05-02 12:04:26 +02:00
  • 232b62728b Move Endpoint into new endpoint module Dirkjan Ochtman 2018-05-02 12:01:17 +02:00
  • ee9048ab0b Fix formatting with cargo fmt Dirkjan Ochtman 2018-05-02 11:56:41 +02:00
  • 205466a549 Clean up warnings in tests module Dirkjan Ochtman 2018-05-02 11:56:26 +02:00
  • d77188cd0e Add test for handshake encoding Dirkjan Ochtman 2018-05-02 11:43:25 +02:00
  • ca48982315 Let the Endpoint handle padding Dirkjan Ochtman 2018-05-02 11:43:00 +02:00
  • 51e1758890 Use correct side for decoding keys Dirkjan Ochtman 2018-05-02 11:40:11 +02:00
  • 05fb377b1b Assert on invalid ConnectionId lengths Dirkjan Ochtman 2018-05-02 10:47:57 +02:00
  • e254676d22 Fix encoding and decoding of CID lengths Dirkjan Ochtman 2018-05-02 10:47:41 +02:00
  • 9188fc010d Remove roundtrip test, doesn't work correctly Dirkjan Ochtman 2018-05-02 10:28:44 +02:00
  • 6cef002e07 core: more detailed logging Benjamin Saunders 2018-05-01 22:17:43 -07:00
  • 82016c47a2 core: fix panic composing PNs before receiving ACKs Benjamin Saunders 2018-05-01 19:38:51 -07:00
  • 08a7c2b9ec api tweaks, larger default windows Benjamin Saunders 2018-05-01 19:38:38 -07:00
  • d0ee87feba core: test finishing streams Benjamin Saunders 2018-05-01 19:37:16 -07:00