Loading changes/bug19639 0 → 100644 +3 −0 Original line number Diff line number Diff line 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. src/or/router.c +5 −3 Original line number Diff line number Diff line Loading @@ -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 * a circuit to or through the router <b>r</b>. Use the primary * address of the router unless <b>for_direct_connect</b> is true, in * which case the preferred address is used instead. */ * a circuit to or through the router <b>r</b>. Uses the primary * address of the router, so should only be called on a server. */ static extend_info_t * extend_info_from_router(const routerinfo_t *r) { tor_addr_port_t ap; 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); return extend_info_new(r->nickname, r->cache_info.identity_digest, r->onion_pkey, r->onion_curve25519_pkey, Loading src/or/routerlist.c +1 −1 Original line number Diff line number Diff line Loading @@ -1870,7 +1870,7 @@ router_picked_poor_directory_log(const routerstatus_t *rs) /* When iterating through the routerlist, can OR address/port preference * and reachability checks be skipped? */ static int int router_skip_or_reachability(const or_options_t *options, int try_ip_pref) { /* Servers always have and prefer IPv4. Loading src/or/routerlist.h +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ const routerstatus_t *router_pick_trusteddirserver(dirinfo_type_t type, int flags); const routerstatus_t *router_pick_fallback_dirserver(dirinfo_type_t type, 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); void router_reset_status_download_failures(void); int routers_have_same_or_addrs(const routerinfo_t *r1, const routerinfo_t *r2); Loading Loading
changes/bug19639 0 → 100644 +3 −0 Original line number Diff line number Diff line 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.
src/or/router.c +5 −3 Original line number Diff line number Diff line Loading @@ -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 * a circuit to or through the router <b>r</b>. Use the primary * address of the router unless <b>for_direct_connect</b> is true, in * which case the preferred address is used instead. */ * a circuit to or through the router <b>r</b>. Uses the primary * address of the router, so should only be called on a server. */ static extend_info_t * extend_info_from_router(const routerinfo_t *r) { tor_addr_port_t ap; 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); return extend_info_new(r->nickname, r->cache_info.identity_digest, r->onion_pkey, r->onion_curve25519_pkey, Loading
src/or/routerlist.c +1 −1 Original line number Diff line number Diff line Loading @@ -1870,7 +1870,7 @@ router_picked_poor_directory_log(const routerstatus_t *rs) /* When iterating through the routerlist, can OR address/port preference * and reachability checks be skipped? */ static int int router_skip_or_reachability(const or_options_t *options, int try_ip_pref) { /* Servers always have and prefer IPv4. Loading
src/or/routerlist.h +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ const routerstatus_t *router_pick_trusteddirserver(dirinfo_type_t type, int flags); const routerstatus_t *router_pick_fallback_dirserver(dirinfo_type_t type, 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); void router_reset_status_download_failures(void); int routers_have_same_or_addrs(const routerinfo_t *r1, const routerinfo_t *r2); Loading