Skip to content

Commit d0b7fb0

Browse files
committed
handle multipath renew path id
1 parent 0e43048 commit d0b7fb0

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

picoquic/packet.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1950,7 +1950,12 @@ int picoquic_find_incoming_path(picoquic_cnx_t* cnx, picoquic_packet_header* ph,
19501950
/* If the local CID is not set, set it */
19511951
if (path_x->first_tuple->p_local_cnxid == NULL) {
19521952
path_x->first_tuple->p_local_cnxid = picoquic_find_local_cnxid(cnx, path_x->unique_path_id, &ph->dest_cnx_id);
1953-
1953+
if (!cnx->client_mode && cnx->is_multipath_enabled && path_x->first_tuple->challenge_verified) {
1954+
/* If the peer renewed its connection id, the retire connection ID frame may already
1955+
* have arrived on a separate path. If the server noticed that, it should also renew
1956+
* its "remote path" ID */
1957+
(void)picoquic_renew_connection_id(cnx, path_id);
1958+
}
19541959
}
19551960

19561961
/* Treat the special case of the unkown local address, which should only happen

0 commit comments

Comments
 (0)