mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
fix a bridge edge case similar to 2511
If you had configured a bridge but then switched to a different bridge via the controller, you would still be willing to use the old one.
This commit is contained in:
parent
56771f392e
commit
7039c34519
7
changes/bug3321
Normal file
7
changes/bug3321
Normal file
@ -0,0 +1,7 @@
|
||||
o Minor bugfixes:
|
||||
- In bug 2511 we fixed a case where you could use an unconfigured
|
||||
bridge if you had configured it as a bridge the last time you ran
|
||||
Tor. Now fix another edge case: if you had configured it as a bridge
|
||||
but then switched to a different bridge via the controller, you
|
||||
would still be willing to use the old one. Bugfix on 0.2.0.1-alpha;
|
||||
fixes bug 3321.
|
@ -3383,6 +3383,8 @@ entry_guard_set_status(entry_guard_t *e, routerinfo_t *ri,
|
||||
*reason = "down";
|
||||
else if (options->UseBridges && ri->purpose != ROUTER_PURPOSE_BRIDGE)
|
||||
*reason = "not a bridge";
|
||||
else if (options->UseBridges && !routerinfo_is_a_configured_bridge(ri))
|
||||
*reason = "not a configured bridge";
|
||||
else if (!options->UseBridges && !ri->is_possible_guard &&
|
||||
!routerset_contains_router(options->EntryNodes,ri))
|
||||
*reason = "not recommended as a guard";
|
||||
@ -3467,11 +3469,16 @@ entry_is_live(entry_guard_t *e, int need_uptime, int need_capacity,
|
||||
*msg = "no descriptor";
|
||||
return NULL;
|
||||
}
|
||||
if (get_options()->UseBridges && r->purpose != ROUTER_PURPOSE_BRIDGE) {
|
||||
*msg = "not a bridge";
|
||||
return NULL;
|
||||
}
|
||||
if (!get_options()->UseBridges && r->purpose != ROUTER_PURPOSE_GENERAL) {
|
||||
if (options->UseBridges) {
|
||||
if (r->purpose != ROUTER_PURPOSE_BRIDGE) {
|
||||
*msg = "not a bridge";
|
||||
return NULL;
|
||||
}
|
||||
if (!routerinfo_is_a_configured_bridge(r)) {
|
||||
*msg = "not a configured bridge";
|
||||
return NULL;
|
||||
}
|
||||
} else if (r->purpose != ROUTER_PURPOSE_GENERAL) {
|
||||
*msg = "not general-purpose";
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user