mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
bridge: Don't initiate connection without a transport
Don't pick the bridge as the guard or launch descriptor fetch if no transport is found. Fixes #40106 Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
18654b629f
commit
09c6d03246
@ -656,6 +656,15 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
|
||||
DIR_PURPOSE_FETCH_SERVERDESC))
|
||||
return; /* it's already on the way */
|
||||
|
||||
if (transport_get_by_name(bridget_get_transport_name(bridge)) == NULL) {
|
||||
download_status_mark_impossible(&bridge->fetch_status);
|
||||
log_warn(LD_CONFIG, "Can't use bridge at %s: there is no configured "
|
||||
"transport called \"%s\".",
|
||||
safe_str_client(fmt_and_decorate_addr(&bridge->addr)),
|
||||
bridget_get_transport_name(bridge));
|
||||
return; /* Can't use this bridge; it has not */
|
||||
}
|
||||
|
||||
if (routerset_contains_bridge(options->ExcludeNodes, bridge)) {
|
||||
download_status_mark_impossible(&bridge->fetch_status);
|
||||
log_warn(LD_APP, "Not using bridge at %s: it is in ExcludeNodes.",
|
||||
|
@ -804,6 +804,9 @@ get_sampled_guard_for_bridge(guard_selection_t *gs,
|
||||
entry_guard_t *guard;
|
||||
if (BUG(!addrport))
|
||||
return NULL; // LCOV_EXCL_LINE
|
||||
if (!transport_get_by_name(bridget_get_transport_name(bridge))) {
|
||||
return NULL;
|
||||
}
|
||||
guard = get_sampled_guard_by_bridge_addr(gs, addrport);
|
||||
if (! guard || (id && tor_memneq(id, guard->identity, DIGEST_LEN)))
|
||||
return NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user