quiche icon indicating copy to clipboard operation
quiche copied to clipboard

Parse Version Information Transport Parameter

Open hawkinsw opened this issue 2 months ago • 8 comments

Does not (yet!) incorporate parsed Version Information Transport Parameter into version negotiotiation.

hawkinsw avatar Oct 08 '25 22:10 hawkinsw

@LPardue and @ghedo -- as usual, thank you both for this amazing implementation! I have added support for encoding/parsing the Version Information Transport Parameter. I realize there are additional changes that could be incorporated into this PR (namely, using the Version Information in the process of version negotiation) and I would be more than happy to talk that. But, I didn't want to get too far ahead in case this PR was unwelcome or you already had something planned.

If you think that what is here so far is reasonable and would like me to press on, just give me the nod! I would love to help however I can!

hawkinsw avatar Oct 08 '25 22:10 hawkinsw

Thanks for the PR Will. I think its probably ok to parse the received TP for debug/analysis reasons. However, adding full version negotiation support is a bit more work and something that has no been a high priority for us.

It would probably be best to keep this PR focuses just on parsing received TPs and not provide an API to allow apps to set them (and hence no encoding). That would let us land the PR soonish. Then follow up work could consider a more-complete version negotiation approach, which will need lots of testing etc

LPardue avatar Oct 13 '25 11:10 LPardue

Thanks for the PR Will. I think its probably ok to parse the received TP for debug/analysis reasons. However, adding full version negotiation support is a bit more work and something that has no been a high priority for us.

It would probably be best to keep this PR focuses just on parsing received TPs and not provide an API to allow apps to set them (and hence no encoding). That would let us land the PR soonish. Then follow up work could consider a more-complete version negotiation approach, which will need lots of testing etc

Funny that is your suggestion, because that is my preferred plan, too!! As you know, my use case is parsing TPs, so this will do exactly what I want. I will modify the PR (according to this plan and the helpful suggestion above) and resubmit!

Thanks, as usual!

hawkinsw avatar Oct 13 '25 14:10 hawkinsw

Let me know if you think that this version is better!

hawkinsw avatar Oct 13 '25 22:10 hawkinsw

I don't want to overstep, but if you would like me to add to the PR an update to the minimum supported Rust version (to solve this failure: 45b6494902ce0dc40fe8543f6d42f36385cd0e1e), I would be more than happy to do that!

hawkinsw avatar Oct 13 '25 22:10 hawkinsw

I don't want to overstep, but if you would like me to add to the PR an update to the minimum supported Rust version (to solve this failure: 45b6494902ce0dc40fe8543f6d42f36385cd0e1e), I would be more than happy to do that!

Yeah a separate PR to bump th MSRV to 1.83.0 would be welcomed!

LPardue avatar Oct 15 '25 11:10 LPardue

I don't want to overstep, but if you would like me to add to the PR an update to the minimum supported Rust version (to solve this failure: 45b6494902ce0dc40fe8543f6d42f36385cd0e1e), I would be more than happy to do that!

Yeah a separate PR to bump th MSRV to 1.83.0 would be welcomed!

Let me know if https://github.com/cloudflare/quiche/pull/2197 helps!

hawkinsw avatar Oct 15 '25 16:10 hawkinsw

Hope that the additional tests are helpful!

hawkinsw avatar Oct 29 '25 15:10 hawkinsw