Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
S
Snowflake
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 43
    • Issues 43
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 5
    • Merge Requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • The Tor Project
    • A
      Anti-censorship
  • Pluggable Transports
  • Snowflake
  • Issues
  • #40023

Closed
Open
Created Nov 23, 2020 by Cecylia Bocovich@cohoshOwner

Snowflake client's global session manager is tied to melted SnowflakeCollector

There was a bug introduced by our solution to #21314 (closed). We moved the broker poll loop inside the SOCKS handler, which means that each SOCKS connection effectively has their own pool of snowflakes (i.e., their own SnowflakeCollector). However, the session manager was kept global (shared by all connections). The session manager defines the dialContext for RedialPacketConn and is tied to the SnowflakeCollector it was created with.

The problem with this showed up most clearly in #40018 (closed), where mobile applications using Snowflake as a library are stopping and restarting Snowflake, but will happen in any scenario where the first SnowflakeCollector is melted, but a new SOCKS connection is created.

Assignee
Assign to
Snowflake in Tor Browser 10.5
Milestone
Snowflake in Tor Browser 10.5
Assign milestone
Time tracking
None
Due date
None