Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Team
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 39
    • Issues 39
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Anti-censorship
  • Team
  • Issues
  • #20
Closed
Open
Created Jan 29, 2018 by David Fifield@dcfOwner

goptlib doesn't allow optimistic SOCKS data

goptlib wraps its socket in a bufio.ReadWriter while processing the SOCKS handshake. Before returning the socket back to the application, it makes sure there is no unread data sitting in the buffer (which would otherwise be lost).

In legacy/trac#24432 (moved), we're trying to have Tor Browser use meek-client as a proxy directly, not going through Tor. The problem (comment:19:ticket:24432) is that Tor Browser has a special optimistic data SOCKS patch that causes it to send data exactly where goptlib checks to make sure there isn't any.

A mild rewrite of goptlib's SOCKS code could eliminate the internal buffer and enable Tor Browser's optimistic data.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking