Skip to content
This repository was archived by the owner on Aug 11, 2020. It is now read-only.

quic: fixing stateless reset (again) #332

Closed
wants to merge 3 commits into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Feb 6, 2020

The update to ngtcp2-25 appears to have broken the association of the
initial stateless reset token and the server's initial CID.

See: ngtcp2/ngtcp2#213

We can see the failure in the debug output:

QuicSession Client (zzz, 15) Receiving QUIC packet.
QuicSession Client (zzz, 15) Processing received packet
QuicSession Client (zzz, 15) Receiving 683 bytes of crypto data.
QuicSession Client (zzz, 15) Received secrets for app crypto level
QuicSession Client (zzz, 15) Updating connection ID dc90c8b81dce2649a79ef3a8909b7a9eb9bf6c8f (has reset token? No)
QuicSession Client (zzz, 15) Initializing application handler for ALPN zzz
QuicSession Client (zzz, 15) Default QUIC Application Initialized
QuicSession Client (zzz, 15) Writing 36 bytes of handshake handshake data.
QuicSession Client (zzz, 15) Sending pending data after processing packet
QuicSession Client (zzz, 15) Serializing session packets
QuicSession Client (zzz, 15) Handshake is completed. Remote Transport Params:
  Ack Delay Exponent: 3
  Active Connection ID Limit: 2
  Disable Active Migration: No
  Initial Max Data: 1048576
  Initial Max Stream Data Bidi Local: 262144
  Initial Max Stream Data Bidi Remote: 262144
  Initial Max Stream Data Uni: 262144
  Initial Max Streams Bidi: 100
  Initial Max Streams Uni: 3
  Max Ack Delay: 25000000
  Max Idle Timeout: 10000000000
  Max Packet Size: 65527
  Original Connection ID: N/A
  Preferred Address Present: No
  Stateless Reset Token: 2f39a010f89d95a95f35a9d00c39d862

The line QuicSession Client (zzz, 15) Updating connection ID dc90c8b81dce2649a79ef3a8909b7a9eb9bf6c8f (has reset token? No) reports that there is no stateless reset token associated with the initial CID but the server provided transport params does include the reset token (Stateless Reset Token: 2f39a010f89d95a95f35a9d00c39d862)

This is a work in progress until that is fixed

@jasnell
Copy link
Member Author

jasnell commented Feb 7, 2020

PR to fix upstream: ngtcp2/ngtcp2#214

The update to ngtcp2-25 appears to have broken the association of the
initial stateless reset token and the server's initial CID.

See: ngtcp2/ngtcp2#213

This is a work in progress until that is fixed
@jasnell jasnell force-pushed the fixing-stateless-reset2 branch from 2ebacbf to f867947 Compare February 10, 2020 14:32
@jasnell jasnell changed the title [WIP] quic: fixing stateless reset (again) quic: fixing stateless reset (again) Feb 10, 2020
@jasnell jasnell requested a review from addaleax February 10, 2020 14:36
@jasnell
Copy link
Member Author

jasnell commented Feb 10, 2020

Upstream fix landed, PR rebased and ready to go!

jasnell added a commit that referenced this pull request Feb 10, 2020
The update to ngtcp2-25 appears to have broken the association of the
initial stateless reset token and the server's initial CID.

See: ngtcp2/ngtcp2#213

This is a work in progress until that is fixed

PR-URL: #332
Reviewed-By: Anna Henningsen <[email protected]>
jasnell added a commit that referenced this pull request Feb 10, 2020
PR-URL: #332
Reviewed-By: Anna Henningsen <[email protected]>
jasnell added a commit that referenced this pull request Feb 10, 2020
@jasnell
Copy link
Member Author

jasnell commented Feb 10, 2020

Landed

@jasnell jasnell closed this Feb 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants