mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Switch most uses of *_by_addr_port to *_by_identity_digest
svn:r1997
This commit is contained in:
parent
e1ba0c4663
commit
cbab134bd9
@ -77,7 +77,7 @@ void circuit_log_path(int severity, circuit_t *circ) {
|
||||
hop=circ->cpath;
|
||||
do {
|
||||
s = buf + strlen(buf);
|
||||
router = router_get_by_addr_port(hop->addr,hop->port);
|
||||
router = router_get_by_digest(hop->identity_digest);
|
||||
if(router) {
|
||||
snprintf(s, sizeof(buf) - (s - buf), "%s(%s) ",
|
||||
router->nickname, states[hop->state]);
|
||||
@ -115,7 +115,7 @@ void circuit_rep_hist_note_result(circuit_t *circ) {
|
||||
prev_nickname = options.Nickname;
|
||||
}
|
||||
do {
|
||||
router = router_get_by_addr_port(hop->addr,hop->port);
|
||||
router = router_get_by_digest(hop->identity_digest);
|
||||
if (router) {
|
||||
if (prev_nickname) {
|
||||
if (hop->state == CPATH_STATE_OPEN)
|
||||
@ -218,7 +218,8 @@ circuit_t *circuit_establish_circuit(uint8_t purpose,
|
||||
|
||||
log_fn(LOG_DEBUG,"Looking for firsthop '%s:%u'",
|
||||
firsthop->address,firsthop->or_port);
|
||||
n_conn = connection_twin_get_by_addr_port(firsthop->addr,firsthop->or_port);
|
||||
n_conn = connection_get_by_identity_digest(firsthop->identity_digest,
|
||||
CONN_TYPE_OR);
|
||||
if(!n_conn || n_conn->state != OR_CONN_STATE_OPEN) { /* not currently connected */
|
||||
circ->n_addr = firsthop->addr;
|
||||
circ->n_port = firsthop->or_port;
|
||||
@ -954,7 +955,8 @@ static int count_acceptable_routers(smartlist_t *routers) {
|
||||
goto next_i_loop;
|
||||
}
|
||||
if(options.ORPort) {
|
||||
conn = connection_exact_get_by_addr_port(r->addr, r->or_port);
|
||||
conn = connection_get_by_identity_digest(r->identity_digest,
|
||||
CONN_TYPE_OR);
|
||||
if(!conn || conn->type != CONN_TYPE_OR || conn->state != OR_CONN_STATE_OPEN) {
|
||||
log_fn(LOG_DEBUG,"Nope, %d is not connected.",i);
|
||||
goto next_i_loop;
|
||||
@ -1090,7 +1092,7 @@ onion_extend_cpath(crypt_path_t **head_ptr, cpath_build_state_t
|
||||
remove_twins_from_smartlist(sl,router_get_by_nickname(state->chosen_exit));
|
||||
remove_twins_from_smartlist(sl,router_get_my_routerinfo());
|
||||
for (i = 0, cpath = *head_ptr; i < cur_len; ++i, cpath=cpath->next) {
|
||||
r = router_get_by_addr_port(cpath->addr, cpath->port);
|
||||
r = router_get_by_digest(cpath->identity_digest);
|
||||
tor_assert(r);
|
||||
remove_twins_from_smartlist(sl,r);
|
||||
}
|
||||
|
@ -160,7 +160,8 @@ connection_t *connection_or_connect(routerinfo_t *router) {
|
||||
|
||||
/* this function should never be called if we're already connected to router, but */
|
||||
/* check first to be sure */
|
||||
conn = connection_exact_get_by_addr_port(router->addr,router->or_port);
|
||||
conn = connection_get_by_identity_digest(router->identity_digest,
|
||||
CONN_TYPE_OR);
|
||||
if(conn)
|
||||
return conn;
|
||||
|
||||
@ -304,7 +305,7 @@ connection_tls_finish_handshake(connection_t *conn) {
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
if((c=connection_exact_get_by_addr_port(router->addr,router->or_port))) {
|
||||
if((c=connection_get_by_identity_digest(router->identity_digest, CONN_TYPE_OR))) {
|
||||
log_fn(LOG_INFO,"Router %s is already connected on fd %d. Dropping fd %d.", router->nickname, c->s, conn->s);
|
||||
return -1;
|
||||
}
|
||||
|
@ -132,6 +132,8 @@ int connection_cpu_process_inbuf(connection_t *conn) {
|
||||
/* parse out the circ it was talking about */
|
||||
tag_unpack(buf, &addr, &port, &circ_id);
|
||||
circ = NULL;
|
||||
/* XXXX This is actually right: we want a specific port here in
|
||||
* case there are multiple connections. */
|
||||
p_conn = connection_exact_get_by_addr_port(addr,port);
|
||||
if(p_conn)
|
||||
circ = circuit_get_by_circ_id_conn(circ_id, p_conn);
|
||||
|
@ -317,7 +317,8 @@ void router_retry_connections(void) {
|
||||
router = smartlist_get(rl->routers, i);
|
||||
if(router_is_me(router))
|
||||
continue;
|
||||
if(!connection_exact_get_by_addr_port(router->addr,router->or_port)) {
|
||||
if(!connection_get_by_identity_digest(router->identity_digest,
|
||||
CONN_TYPE_OR)) {
|
||||
/* not in the list */
|
||||
log_fn(LOG_DEBUG,"connecting to OR %s:%u.",router->address,router->or_port);
|
||||
connection_or_connect(router);
|
||||
|
@ -147,7 +147,8 @@ void router_add_running_routers_to_smartlist(smartlist_t *sl) {
|
||||
router = smartlist_get(routerlist->routers, i);
|
||||
if(router->is_running &&
|
||||
(!options.ORPort ||
|
||||
connection_twin_get_by_addr_port(router->addr, router->or_port) ))
|
||||
connection_get_by_identity_digest(router->identity_digest,
|
||||
CONN_TYPE_OR)))
|
||||
smartlist_add(sl, router);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user