Commit Graph

3746 Commits

Author SHA1 Message Date
Marten Seemann
3e65cfd9c0 Merge pull request #2074 from lucas-clemente/invalid-ack-delays
gracefully handle invalid ACK delay values when parsing ACK frames
2019-08-19 11:30:34 +07:00
Marten Seemann
295533595a Merge pull request #2073 from lucas-clemente/conn-close-frame-frame-type
parse and write the frame type field in the CONNECTION_CLOSE frame
2019-08-18 20:16:22 +07:00
Marten Seemann
b307b3d06f Merge pull request #2072 from lucas-clemente/fix-new-conn-id-frame
fix connection ID length check in the NEW_CONNECTION_ID frame
2019-08-18 20:15:46 +07:00
Marten Seemann
f0bdf4f982 gracefully handle invalid ACK delay values when parsing ACK frames 2019-08-17 12:42:10 +07:00
Marten Seemann
96f0e96e45 parse and write the frame type field in the CONNECTION_CLOSE frame 2019-08-17 11:19:39 +07:00
Marten Seemann
6bcd740f56 reject NEW_CONNECTION_ID frames with invalid Retire Prior To values 2019-08-17 11:07:38 +07:00
Marten Seemann
bb4cfe29cb fix connection ID length check in the NEW_CONNECTION_ID frame 2019-08-17 10:58:40 +07:00
Marten Seemann
7df59b855f remove stray TODO in the server 2019-08-13 10:58:01 +07:00
Marten Seemann
dfedde672c add a Changelog entry for the EarlyListener 2019-08-13 09:43:58 +07:00
Marten Seemann
9c00802303 Merge pull request #2023 from lucas-clemente/early-data
implement sending of 0.5-RTT data
2019-08-12 22:20:51 -04:00
Marten Seemann
8215e70de0 add an integration test for 0.5-RTT data 2019-08-13 09:07:18 +07:00
Marten Seemann
5cbb8d6597 implement a listener that returns early sessions 2019-08-13 09:07:13 +07:00
Marten Seemann
8c777dab01 Merge pull request #2044 from lucas-clemente/packet-reordering-loss-detection
implement packet-threshhold based loss detection
2019-08-12 22:02:10 -04:00
Marten Seemann
842435a3d4 Merge pull request #2053 from lucas-clemente/improve-mitm-tests
improve the MITM tests
2019-08-12 21:52:45 -04:00
Marten Seemann
cc76441539 implement a function that blocks until an early session can be used 2019-08-13 08:52:26 +07:00
Marten Seemann
b06d7b0cba use the HandshakeComplete() context for accepting sessions in the server 2019-08-13 08:52:26 +07:00
Marten Seemann
3724f91f33 simplify setup of the server 2019-08-13 08:52:26 +07:00
Marten Seemann
6eb72f712d implement a session method to tell if the handshake is already complete 2019-08-13 08:52:26 +07:00
Marten Seemann
e34f6b651d Merge pull request #2056 from lucas-clemente/fix-flaky-stateless-reset-test
fix flaky stateless reset integration test
2019-08-12 21:50:56 -04:00
Marten Seemann
1a9b568177 implement packet-threshhold based loss detection 2019-08-13 08:35:48 +07:00
Marten Seemann
94a760ecff refactor DetectLostPackets to match the draft 2019-08-13 08:35:48 +07:00
Marten Seemann
97699ea26e improve the MITM tests 2019-08-13 08:35:16 +07:00
Marten Seemann
d201ecb03b fix flaky stateless reset integration test 2019-08-13 08:34:57 +07:00
Marten Seemann
264eaf2a7b Merge pull request #2051 from lucas-clemente/aead-open-rcv-time
pass the time a packet was received to the short header opener
2019-08-12 21:06:39 -04:00
Marten Seemann
bceefa2f70 Merge pull request #2049 from lucas-clemente/fix-initial-pto
fix initial PTO timer duration
2019-08-12 21:05:54 -04:00
Marten Seemann
ee3f501d5b Merge pull request #2047 from lucas-clemente/fix-stream-frame-length-calculation
fix calculation of the length of appended STREAM frames
2019-08-12 12:15:32 -04:00
Marten Seemann
90ac248ae4 Merge pull request #2043 from lucas-clemente/early-retransmit-crypto-packets
use early retransmit for crypto packets
2019-08-12 11:53:36 -04:00
Marten Seemann
7778d6e4b2 Merge pull request #2052 from lucas-clemente/travis-retry
use travis-retry for downloading remote resources
2019-08-12 11:52:22 -04:00
Marten Seemann
4e004cc5d1 Merge pull request #2050 from lucas-clemente/appveyor-retry
use appveyor-retry for downloading remote resources
2019-08-12 11:50:33 -04:00
Marten Seemann
e03f834dce Merge pull request #2055 from lucas-clemente/reduce-multiplex-transfer-size
reduce the data size transfered in the mutliplex integration test
2019-08-12 11:47:48 -04:00
Marten Seemann
f82a6a74b5 reduce the data size transfered in the mutliplex integration test 2019-08-11 19:18:16 +07:00
Marten Seemann
48b5bef8c8 use travis-retry for downloading remote resources 2019-08-11 14:11:27 +07:00
Marten Seemann
bb48c9b31a pass the time a packet was received to the short header opener
This saves us one time.Now() syscall per received 1-RTT packet.
2019-08-11 13:33:02 +07:00
Marten Seemann
3b9abbd076 use appveyor-retry for downloading remote resources 2019-08-10 17:33:51 +07:00
Marten Seemann
5189cb94f1 fix initial PTO timer duration 2019-08-10 17:21:31 +07:00
Marten Seemann
fc77dee22d add a bug check for consistent payload length in the packet packer 2019-08-10 14:57:39 +07:00
Marten Seemann
1f950da751 fix calculation of the length of retransmitted STREAM frames 2019-08-10 14:57:13 +07:00
Marten Seemann
c0286b0c2e fix calculation of the length of appended STREAM frames
For the last STREAM frame we omit the Length field. When packing STREAM
frames, we need to account for this byte saving when calculating the
length of the payload.
2019-08-10 14:55:27 +07:00
Marten Seemann
0e4b25958f use early retransmit for crypto packets 2019-08-08 15:47:51 +07:00
Marten Seemann
ee00cbe088 Merge pull request #2033 from tatianab/injection-attacks
Successful early-handshake injection attacks
2019-08-08 00:05:43 -04:00
Marten Seemann
0d3452746b update Changelog 2019-08-05 08:23:16 +07:00
Marten Seemann
d270d9c28e Merge pull request #2029 from lucas-clemente/delete-old-ack-ranges
never keep track of more than 500 ACK ranges
2019-08-04 20:45:23 -04:00
Marten Seemann
32402f066a Merge pull request #2039 from lucas-clemente/fix-racy-accept-queue
fix race condition when determining the length of the accept queue
2019-08-04 20:45:04 -04:00
Marten Seemann
300884f2bf fix race condition when determining the length of the accept queue 2019-08-05 07:33:59 +07:00
Marten Seemann
d5585628d8 remove unneeded return value of ReceivedPacketHandler.ReceivedPacket() 2019-08-05 06:55:26 +07:00
Marten Seemann
475ba63164 never keep track of more than 500 ACK ranges
This is achieved by deleting the oldest ACK ranges when receiving a
packet that creates a new ACK range such that this limit is exceeded.
2019-08-05 06:55:22 +07:00
Marten Seemann
320d4a868e Merge pull request #2030 from lucas-clemente/merge-crypto-timer-and-pto
merge crypto and PTO timeout
2019-08-04 19:48:25 -04:00
Marten Seemann
245a815b8f Merge pull request #2035 from lucas-clemente/quic-trace-ack-connection-state
output the connection state after processing the ACK for quic-trace
2019-08-05 06:29:36 +07:00
Marten Seemann
8324c08022 Merge pull request #2034 from lucas-clemente/example-server-interop
make example server conform with the GET /xxx format used for interop
2019-08-04 15:15:21 +07:00
Marten Seemann
99f9c8ca99 Merge pull request #2036 from lucas-clemente/session-ticket-tests
add unit tests for session resumption
2019-08-03 20:59:21 +07:00