-
-
Notifications
You must be signed in to change notification settings - Fork 533
Open
Labels
enhancementNew feature or requestNew feature or request
Description
When we respond to a probing packet off the active path
quinn/quinn-proto/src/connection/mod.rs
Line 842 in 434c358
| if let Some((token, remote)) = self.path_responses.pop_off_path(self.path.remote) { |
we reuse the prepared packet builder, which was created with the active path's remote connection ID:
quinn/quinn-proto/src/connection/mod.rs
Lines 759 to 768 in 434c358
| let builder = builder_storage.insert(PacketBuilder::new( | |
| now, | |
| space_id, | |
| self.rem_cids.active(), | |
| buf, | |
| buf_capacity, | |
| datagram_start, | |
| ack_eliciting, | |
| self, | |
| )?); |
This allows an external observer to correlate the response with the active connection, and might help the observer correlate future migrated traffic despite the eventual use of a fresh connection ID for non-probing traffic.
For better security, we should check for and potentially send such a response before preparing a builder for the active path, making one-time use of a fresh connection ID. This may be a little tricky because CidQueue currently assumes strictly in-order consumption of CIDs, but discarding the active CID would undermine the goal of avoiding linkability.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request