mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 22:58:50 +01:00
Simply route length generation code.
The old code had logic to use a shorter path length if we didn't have enough nodes. But we don't support 2-node networks anwyay. Fix for #9926. I'm not calling this a bugfix on any particular version, since a 2-node network would fail to work for you for a lot of other reasons too, and it's not clear to me when that began, or if 2-node networks would ever have worked.
This commit is contained in:
parent
245ecfff36
commit
c8c2298015
2 changed files with 11 additions and 15 deletions
6
changes/bug9926
Normal file
6
changes/bug9926
Normal file
|
@ -0,0 +1,6 @@
|
|||
o Minor bugfixes:
|
||||
- Remove some old fallback code designed to keep Tor clients working
|
||||
in a network with only two working nodes. Elsewhere in the code we
|
||||
have long since stopped supporting such networks, so there wasn't
|
||||
much point in keeping it around. Fixes bug 9926.
|
||||
|
|
@ -2762,11 +2762,7 @@ onionskin_answer(or_circuit_t *circ,
|
|||
* number of endpoints that would give something away about our destination.
|
||||
*
|
||||
* If the routerlist <b>nodes</b> doesn't have enough routers
|
||||
* to handle the desired path length, return as large a path length as
|
||||
* is feasible, except if it's less than 2, in which case return -1.
|
||||
* XXX ^^ I think this behavior is a hold-over from back when we had only a
|
||||
* few relays in the network, and certainly back before guards existed.
|
||||
* We should very likely get rid of it. -RD
|
||||
* to handle the desired path length, return -1.
|
||||
*/
|
||||
static int
|
||||
new_route_len(uint8_t purpose, extend_info_t *exit, smartlist_t *nodes)
|
||||
|
@ -2787,17 +2783,11 @@ new_route_len(uint8_t purpose, extend_info_t *exit, smartlist_t *nodes)
|
|||
log_debug(LD_CIRC,"Chosen route length %d (%d/%d routers suitable).",
|
||||
routelen, num_acceptable_routers, smartlist_len(nodes));
|
||||
|
||||
if (num_acceptable_routers < 2) {
|
||||
log_info(LD_CIRC,
|
||||
"Not enough acceptable routers (%d). Discarding this circuit.",
|
||||
num_acceptable_routers);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (num_acceptable_routers < routelen) {
|
||||
log_info(LD_CIRC,"Not enough routers: cutting routelen from %d to %d.",
|
||||
routelen, num_acceptable_routers);
|
||||
routelen = num_acceptable_routers;
|
||||
log_info(LD_CIRC,
|
||||
"Not enough acceptable routers (%d/%d). Discarding this circuit.",
|
||||
num_acceptable_routers, routelen);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return routelen;
|
||||
|
|
Loading…
Add table
Reference in a new issue