Commit Graph

2620 Commits

Author SHA1 Message Date
Dirkjan Ochtman 55a5b9599b Fix formatting with cargo fmt 2018-05-16 16:10:26 +02:00
Dirkjan Ochtman 9e02025f67 Get rid of unused receive queue 2018-05-16 16:10:07 +02:00
Benjamin Saunders f1e7bd4e54 session resumption 2018-05-16 00:23:57 -07:00
Benjamin Saunders 9e3467c0a2 core: fix underflow on recv of already-read stream frame 2018-05-16 00:20:38 -07:00
Dirkjan Ochtman 4ef5ee5f2e Add basic Streams object to collect stream interactions 2018-05-15 21:48:27 +02:00
Dirkjan Ochtman 8d31d2a8ab Hoist creation of transport parameters out of TLS code 2018-05-13 21:46:50 +02:00
Dirkjan Ochtman 7b7aeb5749 Implement Default for transport parameter structs 2018-05-13 21:39:05 +02:00
Dirkjan Ochtman 89b1398bba Replace DRAFT_11 with QUIC_VERSION 2018-05-13 21:34:17 +02:00
Dirkjan Ochtman 9b7c118da7 Fix value for initial_version in ClientTransportParameters 2018-05-13 21:31:42 +02:00
Dirkjan Ochtman 9f5a4aa597 Move transport parameter types into separate module 2018-05-13 21:30:17 +02:00
Dirkjan Ochtman b481583476 Store transport parameters from remote 2018-05-13 21:23:14 +02:00
Dirkjan Ochtman 7073e4a1ce Make src_pn field private 2018-05-13 14:53:11 +02:00
Dirkjan Ochtman 4699ec3c9c Update to use new rustls QUIC API 2018-05-13 14:52:52 +02:00
Dirkjan Ochtman e366c59100 Store data for both endpoints in separate struct 2018-05-13 14:13:04 +02:00
Dirkjan Ochtman d9c0fa9960 Fix formatting with cargo fmt 2018-05-13 14:09:36 +02:00
Dirkjan Ochtman c036a12fc5 Streamline how server endpoints pick src_cid values 2018-05-13 14:09:30 +02:00
Dirkjan Ochtman 32bb288f69 Convert transport parameter types to internal Codec trait 2018-05-13 13:28:07 +02:00
Benjamin Saunders af50ca0154 core: fix stream ID fencepost error 2018-05-12 23:25:32 -07:00
Benjamin Saunders 6045f79bd6 core: don't ignore handshake completion ACKs
Improves early RTT estimation
2018-05-12 22:35:36 -07:00
Benjamin Saunders 31d35944aa core: fix high-latency handshakes and related bugs
Packets that complete the handshake must be considered implicit
acknowledgement of all outstanding handshake packets, otherwise
retransmitted handshake packets that are not ultimately needed might
never be acknowledged, leading to infinite retransmits until the
congestion window shrinks to unusability.
2018-05-12 16:17:33 -07:00
Benjamin Saunders 15662a3f44 core: refactor tests to support passage of time 2018-05-12 11:02:30 -07:00
Dirkjan Ochtman 946a41af37 Don't error out on Handshake messages without Stream 0 2018-05-12 15:04:16 +02:00
Dirkjan Ochtman 44a7de1808 Use Handshake key for late-arriving Handshake messages 2018-05-12 15:03:35 +02:00
Dirkjan Ochtman 74fe4f77b1 Fix integer width for some transport parameters 2018-05-12 14:56:33 +02:00
Dirkjan Ochtman 5641a67cbc Actually use check function 2018-05-12 14:37:30 +02:00
Dirkjan Ochtman bc56d27bba Allow streams by default 2018-05-12 14:36:58 +02:00
Benjamin Saunders a4fbb443ea examples: less monolithic server future 2018-05-11 18:05:38 -07:00
Dirkjan Ochtman 2216273b0d Store received short packets 2018-05-11 15:10:45 +02:00
Dirkjan Ochtman ac6b5b7eef Validate packet type of short packet 2018-05-11 15:07:59 +02:00
Dirkjan Ochtman 30866210cd Use higher-level endpoint API in tests 2018-05-11 15:07:14 +02:00
Dirkjan Ochtman 4079636e99 Let Endpoint handle packet decoding where possible 2018-05-11 15:03:34 +02:00
Dirkjan Ochtman 8740b7b222 Add comprehensive handle() method to Endpoint 2018-05-11 14:51:41 +02:00
Dirkjan Ochtman 67f02021a9 Make client future more generically usable 2018-05-11 14:37:18 +02:00
Dirkjan Ochtman 7d98846de0 Rely on new match binding mechanics to simplify code 2018-05-11 10:21:53 +02:00
Dirkjan Ochtman 7f90699f94 Reformat with updated toolchain 2018-05-11 10:10:55 +02:00
Benjamin Saunders e40d241c0d core: sni accessor 2018-05-11 00:29:42 -07:00
Benjamin Saunders 6160a53625 tokio: update for rustc 1.26 2018-05-11 00:25:27 -07:00
Benjamin Saunders 1078ce9f76 core: fix inadvertent sending of certificate requests 2018-05-11 00:24:21 -07:00
Dirkjan Ochtman ca49ab8f1b Use simpler Buf/BufMut methods to handle byte order 2018-05-08 15:28:21 +02:00
Dirkjan Ochtman 38f31287ba Fix Debug impl for ConnectionId to zero-pad hex formatting 2018-05-08 12:09:42 +02:00
Dirkjan Ochtman 23c03b5114 Fix formatting with cargo fmt 2018-05-08 09:25:22 +02:00
Dirkjan Ochtman d7f1a03024 Extend test to cover decoding of protected packets 2018-05-08 09:25:11 +02:00
Dirkjan Ochtman 0138147f71 Implement basic support for PING frames 2018-05-08 09:24:11 +02:00
Dirkjan Ochtman a852b48247 Export separate 1-RTT secrets for client and server 2018-05-08 09:23:47 +02:00
Dirkjan Ochtman 794c1b78fe Correct encoding of short packet headers 2018-05-07 14:57:31 +02:00
Dirkjan Ochtman 0c5a598cf8 Build packet queue instead of doing strict request-response 2018-05-07 14:57:31 +02:00
Dirkjan Ochtman d06976f86a Keep track of stream 0 offsets 2018-05-07 14:04:48 +02:00
Dirkjan Ochtman 02a37af854 Implement basic support for close frames 2018-05-07 13:55:35 +02:00
Dirkjan Ochtman 7c1026b507 Fix formatting with cargo fmt 2018-05-07 13:24:48 +02:00
Dirkjan Ochtman 4400dea713 Add support for responding to PATH_CHALLENGE frames 2018-05-07 13:24:41 +02:00