Merge branch 'tor-github/pr/1067'

This commit is contained in:
David Goulet 2019-06-04 09:57:03 -04:00
commit a63c5f844b
4 changed files with 18 additions and 3 deletions

11
changes/bug29875 Normal file
View File

@ -0,0 +1,11 @@
o Major bugfixes (bridges):
- Do not count previously configured working bridges towards our total of
working bridges. Previously, when Tor's list of bridges changed, it
would think that the old bridges were still usable, and delay fetching
router descriptors for the new ones. Fixes part of bug 29875; bugfix
on 0.3.0.1-alpha.
- Consider our directory information to have changed when our list of
bridges changes. Previously, Tor would not re-compute the status of its
directory information when bridges changed, and therefore would not
realize that it was no longer able to build circuits. Fixes part of bug
29875.

View File

@ -32,7 +32,7 @@
problem file-size /src/app/config/config.c 8520
problem include-count /src/app/config/config.c 88
problem function-size /src/app/config/config.c:options_act_reversible() 296
problem function-size /src/app/config/config.c:options_act() 588
problem function-size /src/app/config/config.c:options_act() 590
problem function-size /src/app/config/config.c:resolve_my_address() 192
problem function-size /src/app/config/config.c:options_validate() 1220
problem function-size /src/app/config/config.c:options_init_from_torrc() 210
@ -136,7 +136,7 @@ problem function-size /src/feature/client/addressmap.c:addressmap_rewrite() 112
problem function-size /src/feature/client/bridges.c:rewrite_node_address_for_bridge() 126
problem function-size /src/feature/client/circpathbias.c:pathbias_measure_close_rate() 108
problem function-size /src/feature/client/dnsserv.c:evdns_server_callback() 153
problem file-size /src/feature/client/entrynodes.c 3817
problem file-size /src/feature/client/entrynodes.c 3820
problem function-size /src/feature/client/entrynodes.c:entry_guards_upgrade_waiting_circuits() 153
problem function-size /src/feature/client/entrynodes.c:entry_guard_parse_from_state() 246
problem function-size /src/feature/client/transports.c:handle_proxy_line() 108

View File

@ -2387,7 +2387,8 @@ options_act(const or_options_t *old_options)
if (!bool_eq(directory_fetches_dir_info_early(options),
directory_fetches_dir_info_early(old_options)) ||
!bool_eq(directory_fetches_dir_info_later(options),
directory_fetches_dir_info_later(old_options))) {
directory_fetches_dir_info_later(old_options)) ||
!config_lines_eq(old_options->Bridges, options->Bridges)) {
/* Make sure update_router_have_minimum_dir_info() gets called. */
router_dir_info_changed();
/* We might need to download a new consensus status later or sooner than

View File

@ -3300,6 +3300,9 @@ num_bridges_usable,(int use_maybe_reachable))
}
SMARTLIST_FOREACH_BEGIN(gs->sampled_entry_guards, entry_guard_t *, guard) {
/* Not a bridge, or not one we are configured to be able to use. */
if (! guard->is_filtered_guard)
continue;
/* Definitely not usable */
if (guard->is_reachable == GUARD_REACHABLE_NO)
continue;