msquic
msquic copied to clipboard
VN Transport Parameter tests
Describe the bug
The versions lists are validated when set on a QUIC object, which prevents testing scenarios where the version negotiation transport parameter is incorrect or contains incorrect data. Since this is an encrypted and validated payload in the handshake, it is almost impossible to change it externally, so what is needed is a way to set the version lists without validation.
One approach would be to use the TEST_TRANSPORT_PARAMETER to set the transport parameter data directly without validation. It would need updating to use the correct type
value.
Tests possible would include:
- [ ] Version Info is the wrong size (not a multiple of 4.)
- [ ] Version Info.OtherVersions list contains the original version
- [ ] Version Info.OtherVersions does not contain the negotiated version (may overlap with a test case in #2503)
Affected OS
- [X] All
Need a way to set the transport parameter and disable generating the usual one. We could disable VNE on the side that is generating the transport parameter, but that also disables validation, which would change server behavior and possibly make the test invalid.