-
-
Notifications
You must be signed in to change notification settings - Fork 509
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.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request