Quant server misbehaves when a ping is sent as the first Initial packet.
Hi,
During testing commit 511d91c3, we discovered that when a Ping frame is sent as the first message, the Quant server misbehaves. The quant server sends another Ping instead of acknowledging the Ping sent by the client. However, when the client acknowledges the server's Ping, the server send close the connection with "got ACK for Initial pkt 0 never sent" error message.
We believe this is because the Quant server does not properly handle the first packet sent by the client if the first packet does not contain a CRYPTO frame that carries Client Hello (quant/lib/src/conn.c:1044 in the latest commit). As stated in RFC 9000, the Initial packet can carry a Ping frame. This means sending a Ping in the first Initial packet is possible.
Thanks for the report. It's very likely that you identified a bug. Quant isn't under active maintenance anymore, since it was meant as a proof-of-concept to validate the evolving QUIC spec during its standardization. So it's unlikely I'll fix this.