Opened 9 years ago

Closed 2 years ago

#1852 closed enhancement (implemented)

Tor clients should remember bridge info across restarts

Reported by: arma Owned by:
Priority: High Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: SponsorS-pt, needs-design, needs-proposal, tor-bridge
Cc: twilde@… Actual Points:
Parent ID: Points:
Reviewer: Sponsor: SponsorS

Description

In Tor 0.2.2.x if you stop your Tor client, it forgets everything it's learned about its bridges. So when you start it again, it just goes back to the torrc file to learn which bridges it should try.

We need to teach Tor how to remember bridge fingerprints, reachability, longevity, IP addresses, etc across restarts.

Step one is to brainstorm about the range of information we might remember, and how we can learn it, and how we might use it productively. This part will be tricky -- for example, right now we remember bridge descriptors across restarts, but we don't use them because we don't know whether they're fresh enough.

Step two is to design a format for the state file, so we can capture everything we want to capture in a future-compatible way.

Step three is to design a protocol (i.e. write a proposal) by which Tor clients can learn new bridge lines in-band, e.g. by asking the bridge authority for some more (perhaps the new bridges will be a function of the current bridges; but that's a separate proposal). We should make sure the results of this project are compatible with that protocol.

Step four is to prioritize the items from step one, and implement the key ones (learning, storing, and using).

Part of step four might turn out to be "refactor Tor's use of entry guards and bridges in circuitbuild.c", since right now it's increasingly turning into a hacked together mess.

Child Tickets

Change History (13)

comment:1 Changed 8 years ago by twilde

Cc: twilde@… added

comment:2 Changed 8 years ago by arma

Component: Tor ClientTor Bridge

comment:3 Changed 8 years ago by nickm

Milestone: Deliverable-Mar2011Tor: 0.2.3.x-final
Priority: normalmajor

arma says that this would be super-useful, make some funders happy, and generally bring peace and harmony to a troubled planet earth.

comment:4 Changed 8 years ago by karsten

Summary: Project: Tor clients remember bridge info across restartsTor clients remember bridge info across restarts

This sounds like an enhancement, but not like a project. Removing the "Project: " part from the ticket summary. If this is really a project, please change ticket type to "project."

comment:5 Changed 7 years ago by nickm

Milestone: Tor: 0.2.3.x-finalTor: unspecified

Nice-to-have, but I can't see it completing in time for the 30-nov big-feature deadline, or being small enough for the 6-jan small-feature deadline. Tossing it out of 0.2.3.x

comment:7 Changed 7 years ago by rransom

Summary: Tor clients remember bridge info across restartsTor clients should remember bridge info across restarts

comment:8 Changed 6 years ago by nickm

Keywords: needs-design needs-proposal added

comment:9 Changed 6 years ago by nickm

Keywords: tor-bridge added

comment:10 Changed 6 years ago by nickm

Component: Tor BridgeTor

comment:11 Changed 5 years ago by arma

Keywords: SponsorS-pt added

comment:12 Changed 3 years ago by nickm

Keywords: SponsorS-pt needs-design needs-proposal tor-bridgeSponsorS-pt, needs-design, needs-proposal, tor-bridge
Sponsor: SponsorS

Bulk-replace SponsorS keyword with SponsorS sponsor field in Tor component.

comment:13 Changed 2 years ago by nickm

Resolution: implemented
Severity: Normal
Status: newclosed

This is done for free as part of prop#271, I believe.

Note: See TracTickets for help on using tickets.