Skip to content

Safari iOS Fails from SETTINGS_WT_MAX_SESSIONS #355

Description

@jlukic

Thanks for your library its made my life a lot easier and has worked brilliantly. Have a bug report for you from my testing that was preventing Safari from working in my testing on iOS. (Unsure of Mac/Safari as i don't have any to test from)

Quick Version

A server using empty Config advertises SETTINGS_WT_MAX_SESSIONS = 2^62-1 but none of the three WT_INITIAL_MAX_* settings.

  • This causes Safari to refuse the session before sending the extended CONNECT request.
  • In v0.11.0 it sent all four and is accepted.

Client-side the refusal is a WebTransportError with an empty message about 50 ms after construction, which is what makes this hard to diagnose.

Reproduction

I've set up two live endpoints for testing this you can use.

  • https://echo.semantic-ui.com:4433/echo — v0.12.0, nil Config
  • https://echo.semantic-ui.com:4436/echo — v0.11.0, defaults

You can also run this bug specifically from any iphone/ipad from Safari at:
https://echo.semantic-ui.com/exhibits/quic-go

More debug tools at https://echo.semantic-ui.com

Source Truth

Issue verified in master at 23b4cd1, and ConfigureHTTP3Server there still sets WT_MAX_SESSIONS alone

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions