p-quic / pquic

The PQUIC implementation, a framework that enables QUIC clients and servers to dynamically exchange protocol plugins that extend the protocol on a per-connection basis
https://pquic.org
MIT License
126 stars 20 forks source link

Incomplete frames being send during MultiPath-supported connection #16

Closed The3ternum closed 3 years ago

The3ternum commented 3 years ago

While handling a connection that supports the multipath extension, the server sends MP-frames, such as ADD_ADDRESS and MP_NEW_CONNECTION_ID, which lack certain fields. E.g.: there is no retire_prior_to-field being wirtten to the frame MP_NEW_CONNECTION_ID.

I will update this issue with other frames that are incomplete when I inspect the source-code of the multipath plugin.

qdeconinck commented 3 years ago

The format of ADD_ADDRESS and MP_NEW_CONNECTION_ID should be fixed now.

The3ternum commented 3 years ago

The handling of received ACK-frames also seems to have an issue when using the multipath plugin. The error it gives is the following, logged everytime a regular ack was received: ERROR: trying to get input 5, but there are only 5 inputs available

mpiraux commented 3 years ago

ERROR: trying to get input 5, but there are only 5 inputs available

This is due to also plugging in the MP ACK logic to the ACK logic, but the code does handle that properly. It's a bit ambiguous for sure though.