1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-08-09 20:42:44 +03:00
Commit Graph

10 Commits

Author SHA1 Message Date
Luca Niccolini
9d3883e341 do not barf if the peer advertises max_datagram_frame_size=0
Summary: ^

Reviewed By: jbeshay

Differential Revision: D29698252

fbshipit-source-id: 8bf20fb749ba76155bd71899dafc095d9e864bc2
2021-07-14 10:30:37 -07:00
Luca Niccolini
99110ccf83 consider max packet header and datagram frame payload
Summary:
make getDatagramSizeLimit return the maximum datagram payload size that the
peer can accept.
This is currently the most conservative length, considering the maximum length
of a QUIC short header packet and a datagram frame header

Reviewed By: mjoras

Differential Revision: D28784866

fbshipit-source-id: cce8944a77f6f7b2d3535758c3c29ad88382710f
2021-06-13 21:13:19 -07:00
Yang Chi
cc4f57811d Custom crypto factory
Summary:
as title. This also moves a FizzCryptoTestFactory from FizzCryptoFactoryTest to TestUtils so that it can be used in other test code

This change has an unfortunate side-effect that cryptoFactory_ in both client and server will be moved from stack to heap.

Reviewed By: mjoras

Differential Revision: D27264488

fbshipit-source-id: febc307fb02cb136d58fe70bee648d35431acff0
2021-04-27 13:57:51 -07:00
Andres Suarez
05d07cbfd0 Apply clang-format update fixes
Reviewed By: igorsugak

Differential Revision: D25849213

fbshipit-source-id: a2a538230e769b2c328ae3dd0a19dfbfd693fe3b
2021-01-09 15:39:52 -08:00
Yang Chi
72eeeb8a4f QUIC Retry + HappyEyeballs fix on client transport
Summary:
(1) Receiving a valid retry packet is a HappyEyeballs signal. We should
use that to update the happy eyeballs state.

(2) HappyEyeballs state should also be preserved when we undo client connection
state for retry.

Reviewed By: mjoras

Differential Revision: D25728713

fbshipit-source-id: 4ff06879f5a05e6fb4faeb1e9f330e251d3dbcb6
2021-01-04 15:28:19 -08:00
Matt Joras
43a0b7e02d Always update max packet size after 0-rtt.
Summary: This is a temporary hack until we properly implement 0-rtt transport parameter updating. Now after 0-rtt we will use the packet size from the peer as the max packet size, if the can ignore setting is set.

Reviewed By: xttjsn

Differential Revision: D23690019

fbshipit-source-id: b4dbf5702e81e52ccd437e0fa68f4d156c7123be
2020-09-15 08:36:59 -07:00
Matt Joras
b86f136376 Back out "Don't use old max packet size for 0rtt."
Summary: This was in the right spirit, but doesn't work because we don't actually update the transport parameters if 0-rtt was accepted, so this ends up being the packet size in perpetuity.

Reviewed By: lnicco, xttjsn

Differential Revision: D23689185

fbshipit-source-id: c45eca1e388534f07eeafbb2c075e133bac071f8
2020-09-14 15:17:06 -07:00
Matt Joras
36bef91503 Don't use old max packet size for 0rtt.
Summary:
This is a bug, for 0rtt, even if the can ignore flag is set, we shouldn't trust the old max packet size. If it has changed then the peer will fail to decrypt anything.

There are open questions here around the PMTU we use for the handshake/0rtt, but let's just punt on those for now.

Reviewed By: udippant, xttjsn

Differential Revision: D23641082

fbshipit-source-id: aba93713091805e9498ab2c14b24bccf18192c02
2020-09-11 08:14:56 -07:00
Luca Niccolini
be36a04dfe cleanup dead code
Reviewed By: mjoras

Differential Revision: D23413683

fbshipit-source-id: d332ae4f9cba51bf9a27efa856fb1ff1a7ffddea
2020-09-10 22:55:10 -07:00
Xiaoting Tang
2690a07389 Add basic client state machine unit tests
Summary: This adds the Mocks for ClientHandshake and ClientHandshakeFactory. I added a simple test for `updateTransportParamsFromCachedEarlyParams`.

Reviewed By: mjoras

Differential Revision: D23308946

fbshipit-source-id: 6c22412efc6708ad13cd64ade3e9bccc7c80305d
2020-08-25 15:02:06 -07:00