Merge remote-tracking branch 'asn/bug7896'

This commit is contained in:
Nick Mathewson 2013-01-16 11:41:37 -05:00
commit 5ed8ac4e57

View File

@ -1501,9 +1501,17 @@ learned_router_identity(const tor_addr_t *addr, uint16_t port,
bridge_info_t *bridge =
get_configured_bridge_by_addr_port_digest(addr, port, digest);
if (bridge && tor_digest_is_zero(bridge->identity)) {
char *transport_info = NULL;
const char *transport_name =
find_transport_name_by_bridge_addrport(addr, port);
if (transport_name)
tor_asprintf(&transport_info, " (with transport '%s')", transport_name);
memcpy(bridge->identity, digest, DIGEST_LEN);
log_notice(LD_DIR, "Learned fingerprint %s for bridge %s",
hex_str(digest, DIGEST_LEN), fmt_addrport(addr, port));
log_notice(LD_DIR, "Learned fingerprint %s for bridge %s%s.",
hex_str(digest, DIGEST_LEN), fmt_addrport(addr, port),
transport_info ? transport_info : "");
tor_free(transport_info);
}
}
@ -1629,7 +1637,9 @@ find_bridge_by_digest(const char *digest)
return NULL;
}
/* DOCDOC find_transport_name_by_bridge_addrport */
/** Given the <b>addr</b> and <b>port</b> of a bridge, if that bridge
* supports a pluggable transport, return its name. Otherwise, return
* NULL. */
const char *
find_transport_name_by_bridge_addrport(const tor_addr_t *addr, uint16_t port)
{