mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge branch 'bug19639_squashed'
This commit is contained in:
commit
f0488551e7
3
changes/bug19639
Normal file
3
changes/bug19639
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
o Minor bugfixes (circuits):
|
||||||
|
- Make sure extend_info_from_router is only called on servers.
|
||||||
|
Fixes bug 19639; bugfix on 0.2.8.1-alpha.
|
@ -1284,15 +1284,17 @@ decide_to_advertise_begindir(const or_options_t *options,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Allocate and return a new extend_info_t that can be used to build
|
/** Allocate and return a new extend_info_t that can be used to build
|
||||||
* a circuit to or through the router <b>r</b>. Use the primary
|
* a circuit to or through the router <b>r</b>. Uses the primary
|
||||||
* address of the router unless <b>for_direct_connect</b> is true, in
|
* address of the router, so should only be called on a server. */
|
||||||
* which case the preferred address is used instead. */
|
|
||||||
static extend_info_t *
|
static extend_info_t *
|
||||||
extend_info_from_router(const routerinfo_t *r)
|
extend_info_from_router(const routerinfo_t *r)
|
||||||
{
|
{
|
||||||
tor_addr_port_t ap;
|
tor_addr_port_t ap;
|
||||||
tor_assert(r);
|
tor_assert(r);
|
||||||
|
|
||||||
|
/* Make sure we don't need to check address reachability */
|
||||||
|
tor_assert_nonfatal(!router_skip_or_reachability(get_options(), 0));
|
||||||
|
|
||||||
router_get_prim_orport(r, &ap);
|
router_get_prim_orport(r, &ap);
|
||||||
return extend_info_new(r->nickname, r->cache_info.identity_digest,
|
return extend_info_new(r->nickname, r->cache_info.identity_digest,
|
||||||
r->onion_pkey, r->onion_curve25519_pkey,
|
r->onion_pkey, r->onion_curve25519_pkey,
|
||||||
|
@ -1870,7 +1870,7 @@ router_picked_poor_directory_log(const routerstatus_t *rs)
|
|||||||
/* When iterating through the routerlist, can OR address/port preference
|
/* When iterating through the routerlist, can OR address/port preference
|
||||||
* and reachability checks be skipped?
|
* and reachability checks be skipped?
|
||||||
*/
|
*/
|
||||||
static int
|
int
|
||||||
router_skip_or_reachability(const or_options_t *options, int try_ip_pref)
|
router_skip_or_reachability(const or_options_t *options, int try_ip_pref)
|
||||||
{
|
{
|
||||||
/* Servers always have and prefer IPv4.
|
/* Servers always have and prefer IPv4.
|
||||||
|
@ -58,6 +58,7 @@ const routerstatus_t *router_pick_trusteddirserver(dirinfo_type_t type,
|
|||||||
int flags);
|
int flags);
|
||||||
const routerstatus_t *router_pick_fallback_dirserver(dirinfo_type_t type,
|
const routerstatus_t *router_pick_fallback_dirserver(dirinfo_type_t type,
|
||||||
int flags);
|
int flags);
|
||||||
|
int router_skip_or_reachability(const or_options_t *options, int try_ip_pref);
|
||||||
int router_get_my_share_of_directory_requests(double *v3_share_out);
|
int router_get_my_share_of_directory_requests(double *v3_share_out);
|
||||||
void router_reset_status_download_failures(void);
|
void router_reset_status_download_failures(void);
|
||||||
int routers_have_same_or_addrs(const routerinfo_t *r1, const routerinfo_t *r2);
|
int routers_have_same_or_addrs(const routerinfo_t *r1, const routerinfo_t *r2);
|
||||||
|
Loading…
Reference in New Issue
Block a user