Opened 3 years ago
Last modified 5 months ago
#19129 new enhancement
Allow Fallback Directories with no DirPort
| Reported by: | teor | Owned by: | |
|---|---|---|---|
| Priority: | Low | Milestone: | |
| Component: | Core Tor/Fallback Scripts | Version: | |
| Severity: | Minor | Keywords: | tor-client, fallback-directory, needs-design, reachability, bootstrap, 034-triage-20180328, 034-removed-20180328 |
| Cc: | Actual Points: | ||
| Parent ID: | Points: | 2 | |
| Reviewer: | Sponsor: |
Description
In #12538, we made almost every relay support begindir-style directory fetches. In #18483, we made clients never use DirPorts. Both of these features are scheduled for 0.2.8.
Eventually, we can allow fallback directories with no DirPort.
(Perhaps this works already with a zero DirPort?)
If we implement #7798, we might want this feature, but only for directory guards in the state file.
If we want to include fallback directories with no DirPort in the default fallback list, we will need to make some some changes to the fallback directory checks in scripts/maint/updateFallbackDirs.py. In particular, stem can't do begindir, so it will be harder to verify these fallback directories have connectivity and support begindir. So maybe we should require a DirPort for fallback directories for the moment.
Child Tickets
Change History (16)
comment:1 Changed 3 years ago by
comment:2 Changed 3 years ago by
#19810 is a duplicate of this. It had the following additional info:
In 0.2.8, relays automatically support begindir over ORPort, even if they don't have a DirPort.
I wonder if we're missing out on (m)any high-bandwidth relays by excluding relays without a DirPort. That said, we wouldn't want too many, because relays still use the DirPort to bootstrap off fallbacks. (But if the fallback only has an ORPort, the relay will use that.)
We'd need to make the following changes for this to happen:
- modify the DirPort requirement during fallback selection to check for either a DirPort, or declared begindir support in the descriptor
- make a DirPort optional for configured FallbackDirs in Tor
- this may be as simple as setting the DirPort to 0, and disabling the validation. The rest of the code might just work, because it ignores 0 DirPorts
- test, test, test
comment:4 Changed 2 years ago by
| Keywords: | tor-03-unspecified-201612 added |
|---|---|
| Milestone: | Tor: 0.3.??? → Tor: unspecified |
Finally admitting that 0.3.??? was a euphemism for Tor: unspecified all along.
comment:5 Changed 2 years ago by
| Keywords: | tor-03-unspecified-201612 removed |
|---|
Remove an old triaging keyword.
comment:6 Changed 2 years ago by
| Keywords: | tor-client fallback-directory needs-design reachability bootstrap added |
|---|
comment:7 follow-up: 8 Changed 2 years ago by
For what it's worth stem's descriptor downloader *doesn't* use fallback directories because they lack extrainfo descriptors...
https://gitweb.torproject.org/stem.git/commit/?id=758f632
This is fine. Tor doesn't need it (nor does it need the DirPort). However, if you want the fallbacks to relieve DirAuth load from other sources such as stem then these are both issues.
comment:8 Changed 2 years ago by
Replying to atagar:
For what it's worth stem's descriptor downloader *doesn't* use fallback directories because they lack extrainfo descriptors...
https://gitweb.torproject.org/stem.git/commit/?id=758f632
This is fine. Tor doesn't need it (nor does it need the DirPort). However, if you want the fallbacks to relieve DirAuth load from other sources such as stem then these are both issues.
Ah, but all stem needs to know is *whether* the fallback has a DirPort and caches extra-info, right? I opened #22760 to implement this.
comment:10 Changed 17 months ago by
| Component: | Core Tor/Tor → Core Tor/Fallback Scripts |
|---|---|
| Milestone: | Tor: unspecified → Tor: 0.3.4.x-final |
| Parent ID: | #7798 → #24786 |
We might do this in 0.3.4 if stem implements ORPort support by then. See #18856.
This will require a fallback script change, and a Tor change.
And we will have to think about whether we want to backport the tor change.
(We could backport a minimal change that ignores fallbacks with no DirPort.)
comment:11 Changed 17 months ago by
| Priority: | Medium → Low |
|---|---|
| Severity: | Normal → Minor |
comment:12 Changed 15 months ago by
| Keywords: | 034-triage-20180328 added |
|---|
comment:13 Changed 15 months ago by
| Keywords: | 034-removed-20180328 added |
|---|
Per our triage process, these tickets are pending removal from 0.3.4.
comment:14 Changed 14 months ago by
| Milestone: | Tor: 0.3.4.x-final → Tor: unspecified |
|---|
These tickets, tagged with 034-removed-*, are no longer in-scope for 0.3.4. We can reconsider any of them, if time permits.
comment:15 Changed 14 months ago by
| Parent ID: | #24786 |
|---|
This ticket is not part of the minimal fallback rebuild, and it depends on stem's ORPort support stabilising.
Also, I would do fallback opt-ins in relay torrcs (#24839) before this ticket.
comment:16 Changed 5 months ago by
| Milestone: | Tor: unspecified |
|---|
After #27914, fallback-scripts is its own repository. Fallback changes are no longer tied to Tor releases.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.


Yup. If somebody wanted to write a Stem patch so it could retrieve directory information from the ORPort I'd love to have that. Haven't a clue how difficult it would be though.