Loading src/or/circuitbuild.c +1 −1 Original line number Diff line number Diff line Loading @@ -855,7 +855,7 @@ static routerinfo_t *choose_good_exit_server(uint8_t purpose, routerlist_t *dir) case CIRCUIT_PURPOSE_C_GENERAL: return choose_good_exit_server_general(dir); case CIRCUIT_PURPOSE_C_ESTABLISH_REND: r = router_choose_random_node(dir, options.RendNodes, options.RendExcludeNodes, NULL); r = router_choose_random_node(options.RendNodes, options.RendExcludeNodes, NULL); return r; default: log_fn(LOG_WARN,"unhandled purpose %d", purpose); Loading src/or/or.h +1 −2 Original line number Diff line number Diff line Loading @@ -1292,8 +1292,7 @@ routerinfo_t *router_pick_directory_server(void); struct smartlist_t; void add_nickname_list_to_smartlist(struct smartlist_t *sl, const char *list); void router_add_running_routers_to_smartlist(struct smartlist_t *sl); routerinfo_t *router_choose_random_node(routerlist_t *dir, char *preferred, char *excluded, routerinfo_t *router_choose_random_node(char *preferred, char *excluded, struct smartlist_t *excludedsmartlist); routerinfo_t *router_get_by_addr_port(uint32_t addr, uint16_t port); routerinfo_t *router_get_by_nickname(char *nickname); Loading src/or/rendservice.c +1 −4 Original line number Diff line number Diff line Loading @@ -772,14 +772,12 @@ upload_service_descriptor(rend_service_t *service) void rend_services_introduce(void) { int i,j,r; routerinfo_t *router; routerlist_t *rl; rend_service_t *service; char *intro; int changed, prev_intro_nodes; smartlist_t *intro_routers, *exclude_routers; time_t now; router_get_routerlist(&rl); intro_routers = smartlist_create(); exclude_routers = smartlist_create(); now = time(NULL); Loading Loading @@ -830,8 +828,7 @@ void rend_services_introduce(void) { smartlist_add_all(exclude_routers, intro_routers); /* The directory is now here. Pick three ORs as intro points. */ for (j=prev_intro_nodes; j < NUM_INTRO_POINTS; ++j) { router = router_choose_random_node(rl, service->intro_prefer_nodes, router = router_choose_random_node(service->intro_prefer_nodes, service->intro_exclude_nodes, exclude_routers); if (!router) { Loading src/or/routerlist.c +2 −3 Original line number Diff line number Diff line Loading @@ -149,13 +149,12 @@ void router_add_running_routers_to_smartlist(smartlist_t *sl) { } } /** Pick a random running router from a routerlist <b>dir</b>. If any node /** Return a random running router from the routerlist. If any node * named in <b>preferred</b> is available, pick one of those. Never pick a * node named in <b>excluded</b>, or whose routerinfo is in * <b>excludedsmartlist</b>, even if they are the only nodes available. */ routerinfo_t *router_choose_random_node(routerlist_t *dir, char *preferred, char *excluded, routerinfo_t *router_choose_random_node(char *preferred, char *excluded, smartlist_t *excludedsmartlist) { smartlist_t *sl, *excludednodes; Loading Loading
src/or/circuitbuild.c +1 −1 Original line number Diff line number Diff line Loading @@ -855,7 +855,7 @@ static routerinfo_t *choose_good_exit_server(uint8_t purpose, routerlist_t *dir) case CIRCUIT_PURPOSE_C_GENERAL: return choose_good_exit_server_general(dir); case CIRCUIT_PURPOSE_C_ESTABLISH_REND: r = router_choose_random_node(dir, options.RendNodes, options.RendExcludeNodes, NULL); r = router_choose_random_node(options.RendNodes, options.RendExcludeNodes, NULL); return r; default: log_fn(LOG_WARN,"unhandled purpose %d", purpose); Loading
src/or/or.h +1 −2 Original line number Diff line number Diff line Loading @@ -1292,8 +1292,7 @@ routerinfo_t *router_pick_directory_server(void); struct smartlist_t; void add_nickname_list_to_smartlist(struct smartlist_t *sl, const char *list); void router_add_running_routers_to_smartlist(struct smartlist_t *sl); routerinfo_t *router_choose_random_node(routerlist_t *dir, char *preferred, char *excluded, routerinfo_t *router_choose_random_node(char *preferred, char *excluded, struct smartlist_t *excludedsmartlist); routerinfo_t *router_get_by_addr_port(uint32_t addr, uint16_t port); routerinfo_t *router_get_by_nickname(char *nickname); Loading
src/or/rendservice.c +1 −4 Original line number Diff line number Diff line Loading @@ -772,14 +772,12 @@ upload_service_descriptor(rend_service_t *service) void rend_services_introduce(void) { int i,j,r; routerinfo_t *router; routerlist_t *rl; rend_service_t *service; char *intro; int changed, prev_intro_nodes; smartlist_t *intro_routers, *exclude_routers; time_t now; router_get_routerlist(&rl); intro_routers = smartlist_create(); exclude_routers = smartlist_create(); now = time(NULL); Loading Loading @@ -830,8 +828,7 @@ void rend_services_introduce(void) { smartlist_add_all(exclude_routers, intro_routers); /* The directory is now here. Pick three ORs as intro points. */ for (j=prev_intro_nodes; j < NUM_INTRO_POINTS; ++j) { router = router_choose_random_node(rl, service->intro_prefer_nodes, router = router_choose_random_node(service->intro_prefer_nodes, service->intro_exclude_nodes, exclude_routers); if (!router) { Loading
src/or/routerlist.c +2 −3 Original line number Diff line number Diff line Loading @@ -149,13 +149,12 @@ void router_add_running_routers_to_smartlist(smartlist_t *sl) { } } /** Pick a random running router from a routerlist <b>dir</b>. If any node /** Return a random running router from the routerlist. If any node * named in <b>preferred</b> is available, pick one of those. Never pick a * node named in <b>excluded</b>, or whose routerinfo is in * <b>excludedsmartlist</b>, even if they are the only nodes available. */ routerinfo_t *router_choose_random_node(routerlist_t *dir, char *preferred, char *excluded, routerinfo_t *router_choose_random_node(char *preferred, char *excluded, smartlist_t *excludedsmartlist) { smartlist_t *sl, *excludednodes; Loading