You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2025-02-03 19:39:53,325 First server packet on new path (('fd00:cafe:cafe:100::100', 4433), ('fd00:cafe:cafe::100', 60060)) did not contain a PATH_CHALLENGE frame
Actually, the first packet that server received contained PATH_CHALLENGE and PADDING. Server just responded to it with PATH_RESPONSE in its first packet to the new path. And test failed with this.
The condition "First server packet on new path must contain PATH_CHALLENGE" should be deleted because nothing in RFC requires it.
The text was updated successfully, but these errors were encountered:
I think it does. You’re not supposed to use a new path without probing it first, are you?
tatsuhiro-t
changed the title
Server is not required to send PATH_CHALLENGE in response to a patch on new path.
Server is not required to send PATH_CHALLENGE in response to a packet on new path.
Feb 4, 2025
A server might receive a packet addressed to its preferred IP address at any time after it accepts a connection. If this packet contains a PATH_CHALLENGE frame, the server sends a packet containing a PATH_RESPONSE frame as per Section 8.2. The server MUST send non-probing packets from its original address until it receives a non-probing packet from the client at its preferred address and until the server has validated the new path.
It does not say the first packet server sends to the new path MUST contain PATH_CHALLENGE.
In the particular CM testcase between client(neqo) and server(ngtcp2), neqo sent PATH_CHALLENGE and PADDING in the first packet on new path. ngtcp2 sent PATH_RESPONSE in response to it.
On receiving a PATH_CHALLENGE frame, an endpoint MUST respond by echoing the data contained in the PATH_CHALLENGE frame in a PATH_RESPONSE frame. An endpoint MUST NOT delay transmission of a packet containing a PATH_RESPONSE frame unless constrained by congestion control.
RFC does not say server must include PATH_CHALLENGE when responding to PATH_CHALLENGE.
An endpoint MAY defer path validation until after a peer sends the next non-probing frame to its new address.
ngtcp2 sends PATH_CHALLENGE when it receives non-probing frames from neqo.
If I understand them correctly, these facts suggest that requiring PATH_CHALLENGE in the first packet that server sends to the new path is not correct.
Actually, the first packet that server received contained PATH_CHALLENGE and PADDING. Server just responded to it with PATH_RESPONSE in its first packet to the new path. And test failed with this.
The condition "First server packet on new path must contain PATH_CHALLENGE" should be deleted because nothing in RFC requires it.
The text was updated successfully, but these errors were encountered: