private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
523 stars 153 forks source link

Fix negotiation of multipath option #1574

Closed huitema closed 8 months ago

huitema commented 8 months ago

We have observed cases where the multipath option negotiation fails, despite being agreeable by both parties. This was kind of a "Heisenbug" -- it did not repro when compiling in debug mode and running under debugger. The root cause appears to be, trying to set the default transport option in the Quic context before the field is allocated. Changing that, and adding negotiation reports in the picoquicdemo client.

Also, allocate and initialize the "default tp" field as part of Quic context allocation, which removes the code required for handling pointer allocation and optional presence.