Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • 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.

  • Legacy
  • TracTrac
  • Issues
  • #7691

Closed (moved)
Open
Opened Dec 10, 2012 by Mike Perry@mikeperry

Path bias code should probe unusable circuits

There are a couple of cases where the path bias "use" accounting from #7440 (moved) can run into issues. In particular, circuits used in attempts to connect to unresponsive external hosts are indistinguishable from malicious failure. Also, cannibalized circuits have a similar problem, in that they are technically immediately "dirty" but they are actually unused.

So the plan is to issue a probe RELAY_BEGIN cell upon circuit close to an internal address such as 0.a.b.c:25. This will cause well-behaved exit nodes to kick us an EXITPOLICY RELAY_END cell back, which we can then use to declare the circuit as functional, avoiding the path bias false positive.

For some additional best-practice checks, we should perhaps locally track the a.b.c tuple for each probe to ensure it is the same in the response (yes, the IP is echoed, but not the port), and we should ensure no other unexpected/corrupted RELAY cells arrive on that same circuit, otherwise we should close it and mark it failed. Hopefully this latter property is already always enforced. If not, we should probably enforce it while we're at it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Tor: 0.2.4.x-final
Milestone
Tor: 0.2.4.x-final
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#7691