Marten Seemann
e193568342
update initial salts and test vectors for draft-29
2020-06-05 09:54:14 +07:00
Marten Seemann
05514ab375
Merge pull request #2584 from lucas-clemente/http-body-fixes
...
fix closing of the http.Request.Body
2020-06-04 16:05:13 +07:00
Marten Seemann
b9f26ac99d
Merge pull request #2576 from lucas-clemente/split-pto-calculation
...
split PTO calculation into a separate function
2020-06-03 16:11:56 +07:00
Marten Seemann
94971976cd
Merge pull request #2585 from lucas-clemente/chacha20-test-vector
...
add a unit test using the ChaCha20 test vector from the draft
2020-06-03 16:11:36 +07:00
Marten Seemann
ff5d0b89fc
Merge pull request #2583 from lucas-clemente/fix-frame-sorter-test-seed-generation
...
fix seed generation in frame sorter tests
2020-06-03 15:55:00 +07:00
Marten Seemann
28fd878778
add a unit test using the ChaCha20 test vector from the draft
2020-06-03 10:02:15 +07:00
Marten Seemann
83695e6f71
don't close the stream when the http.Request.Body is closed
...
On the server side, the http.Request is consumed by the HTTP handler.
The HTTP handler may close the body (it doesn't have to though). In any
case, closing the stream is the wrong thing to do, since that closes the
write side of the stream. All we want to do is cancel the stream (if the
EOF hasn't been read yet).
2020-06-02 14:54:21 +07:00
Marten Seemann
5720053807
simplify stream handling in the http3.Server
2020-06-02 14:39:48 +07:00
Marten Seemann
dda9c27d07
only send a single packet to unblock the server during the handshake
2020-06-01 12:39:36 +07:00
Marten Seemann
d137e7672d
implement a GetPTOTimeAndSpace() as outlined in the draft
2020-06-01 11:18:57 +07:00
Marten Seemann
96acf36cbd
rename sentPacketHandler.getEarliestLossTimeAndSpace to getLossTimeAndSpace
2020-06-01 11:18:57 +07:00
Marten Seemann
feb3e9a713
rename lastSentAckElicitingPacketTime to lastAckElicitingPacketTime
2020-06-01 11:18:57 +07:00
Marten Seemann
c8e5bb5b50
Merge pull request #2543 from lucas-clemente/bundle-acks
...
make sure that ACK frames are bundled with data
2020-06-01 10:15:26 +07:00
Marten Seemann
004d372ed6
fix seed generation in frame sorter tests
2020-06-01 09:59:54 +07:00
Marten Seemann
b91874a0e5
add an integration test testing that ACKs are bundled
2020-06-01 09:56:07 +07:00
Marten Seemann
9177500096
bundle ACK frames when packing a packet
2020-06-01 09:56:06 +07:00
Marten Seemann
fa381fffa0
add a function to tell if the framer has data
2020-06-01 09:31:11 +07:00
Marten Seemann
df55c30c86
add a function to tell if there's app data in the retransmission queue
2020-06-01 09:31:11 +07:00
Marten Seemann
77b1021a54
make it possible to generate an ACK frame, even if no ACK is queued yet
2020-06-01 09:31:11 +07:00
Marten Seemann
bee5ef624f
determine if a received packet is new (and not a duplicate / delayed packet)
2020-06-01 09:31:11 +07:00
Marten Seemann
f54953fb1d
Merge pull request #2582 from lucas-clemente/add-v0.16-changelog
...
add a Changelog for v0.16
2020-05-31 14:02:44 +07:00
Marten Seemann
ce40a7e28b
Merge pull request #2567 from lucas-clemente/authenticate-connection-ids
...
authenticate connection IDs
2020-05-31 14:01:58 +07:00
Marten Seemann
90acaf85d9
Merge pull request #2581 from lucas-clemente/fix-early-retransmit
...
don't switch to PTO mode after using early loss detection
2020-05-31 13:47:36 +07:00
Marten Seemann
5d55a9a3ab
add a Changelog for v0.16
2020-05-31 11:02:09 +07:00
Marten Seemann
64ef72fd68
don't switch to PTO mode after early retransmit
2020-05-31 10:47:13 +07:00
Marten Seemann
ee8a0aeb1b
improve unit tests for early retransmit
2020-05-31 10:43:04 +07:00
Marten Seemann
4f19b15670
set and verify the retry_source_connection_id TP
2020-05-29 19:57:39 +07:00
Marten Seemann
cdb22513f3
save the source conn ID used on the Retry packet in the Retry token
2020-05-29 19:50:14 +07:00
Marten Seemann
f1924b3182
qlog the retry_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
4451f3bf5c
marshal and unmarshal the retry_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
fb2a5f413e
set and verify the initial_source_connection_id
2020-05-29 19:50:14 +07:00
Marten Seemann
a9dc1e49ab
qlog the initial_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
72d7592fb2
marshal and unmarshal the initial_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
193f18bbe5
always qlog the original_destination_connection_id for the server's TPs
2020-05-29 19:50:14 +07:00
Marten Seemann
b391cce35c
always send the original_destination_connection_id TP as a server
2020-05-29 19:50:14 +07:00
Marten Seemann
a7005ac936
use a separate function to restore transport parameters for 0-RTT
2020-05-29 19:50:14 +07:00
Marten Seemann
7e62a2fecc
rename original_connection_id to original_destination_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
fe85b52eed
Merge pull request #2580 from lucas-clemente/duplicate-initial-handling
...
only create a single session for duplicate Initials
2020-05-29 17:27:52 +07:00
Marten Seemann
99dac1581a
fix broken unit test in ackhandler
2020-05-29 17:20:47 +07:00
Marten Seemann
fefed78973
Merge pull request #2570 from lucas-clemente/update-alpn-to-draft-28
...
update the ALPN tokens to draft-28
2020-05-29 16:44:18 +07:00
Marten Seemann
8d00ec135e
Merge pull request #2569 from lucas-clemente/drop-duplicate-packets
...
drop duplicate packets
2020-05-29 16:39:46 +07:00
Marten Seemann
05398bd3c9
Merge pull request #2571 from lucas-clemente/reduce-frame-sorter-test-verbosity
...
remove noisy log statement in frame sorter test
2020-05-29 16:38:23 +07:00
Marten Seemann
690bb5468c
Merge pull request #2572 from lucas-clemente/fix-flaky-qlog-tests
...
fix flaky qlog unit tests
2020-05-29 16:37:56 +07:00
Marten Seemann
dad30e7c33
only create a single session for duplicate Initials
2020-05-29 16:04:45 +07:00
Marten Seemann
85c19fbb5a
Merge pull request #2536 from lucas-clemente/amplification-protection
...
implement the 3x amplification limit
2020-05-27 10:06:32 +07:00
Marten Seemann
6cea2f8a65
fix flaky qlog unit tests
2020-05-27 10:03:36 +07:00
Marten Seemann
d896b5e6c8
remove noisy log statement in frame sorter test
2020-05-27 09:59:28 +07:00
Marten Seemann
dbe925d74a
update the ALPN tokens to draft-28
2020-05-27 09:54:03 +07:00
Marten Seemann
e33f7d0fb9
add integration tests using a very long certificate chain
...
This will trigger the amplification protection.
2020-05-27 09:40:51 +07:00
Marten Seemann
e4f02ff68c
generate a new CA and cert chain for every run of the integration tests
2020-05-27 09:40:51 +07:00