[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #33582 [Core Tor/Tor]: Make bridges wait until they have bootstrapped, before publishing their descriptor
#33582: Make bridges wait until they have bootstrapped, before publishing their
descriptor
-------------------------------------------------+-------------------------
Reporter: teor | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone: Tor:
| 0.4.4.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: tor-bridge, tor-relay, prop311, | Actual Points:
outreachy-ipv6, easy |
Parent ID: #33050 | Points: 1
Reviewer: | Sponsor:
| Sponsor55-can
-------------------------------------------------+-------------------------
Old description:
> When `AssumeReachable` is set on bridges, there's a race condition when
> bridges try to publish their descriptor to the bridge authority:
> * bridges try to publish their descriptors before bootstrapping
> * but bridges can't publish their descriptors, because they don't have
> enough directory info to build a circuit to the bridge authority
>
> Bridges will eventually try to publish their descriptors again, when they
> become dirty.
>
> We should make bridges wait until they have bootstrapped, before they try
> to publish their descriptors. (This might be a good change for relays as
> well: there isn't much point in publishing a relay that can't bootstrap.)
New description:
On bridges, there's a race condition when bridges try to publish their
descriptor to the bridge authority:
* bridges try to publish their descriptors before bootstrapping
* but bridges can't publish their descriptors, because they don't have
enough directory info to build a circuit to the bridge authority
Bridges will eventually try to publish their descriptors again, when they
become dirty.
We should make bridges wait until they have bootstrapped, before they try
to publish their descriptors. (This might be a good change for relays as
well: there isn't much point in publishing a relay that can't bootstrap.)
This issue happens regardless of `AssumeReachable`. It is most obvious in
chutney networks.
--
Comment (by teor):
Replying to [comment:2 teor]:
> Replying to [comment:1 arma]:
> > To clarify, right now both bridges and relays *do* wait until they
have reached 100% bootstrapped, if AssumeReachable is default (0)? But
this bug appears when AssumeReachable is set to 1, and then it tries to
publish without regard for whether it has bootstrapped to 100%?
>
> That's not quite right.
>
> When AssumeReachable is 1, relays and bridges wait until they have done
reachability self-checks. These self-checks can't happen until the
relay/bridge is 100% bootstrapped.
It turns out that this isn't true, either.
Tor's current relay and bridge reachability self-test only checks for the
first inbound CREATE cell. This cell can be sent by a bridge client, even
before the bridge has bootstrapped.
We might end up fixing this bug in #33222, if we check for returned
CREATED cells *and* their corresponding inbound CREATE cells, rather than
just inbound CREATE cells.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33582#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs