diff options
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/circuitlist.c | 2 | ||||
-rw-r--r-- | src/or/circuituse.c | 2 | ||||
-rw-r--r-- | src/or/connection.c | 4 | ||||
-rw-r--r-- | src/or/connection_edge.c | 19 | ||||
-rw-r--r-- | src/or/dns.c | 16 | ||||
-rw-r--r-- | src/or/or.h | 1 | ||||
-rw-r--r-- | src/or/relay.c | 4 |
7 files changed, 25 insertions, 23 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index cf55b51dd2..c3a3f56507 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -324,7 +324,7 @@ circuit_t *circuit_get_by_circid_orconn(uint16_t circ_id, connection_t *conn) { } /** DOCDOC */ -circuit_t *circuit_get_by_stream(connection_t *conn) +circuit_t *circuit_get_by_edge_conn(connection_t *conn) { circuit_t *circ; connection_t *tmpconn; diff --git a/src/or/circuituse.c b/src/or/circuituse.c index bfaafdbe82..257d521683 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -501,7 +501,7 @@ void circuit_about_to_close_connection(connection_t *conn) { * been sent. But don't kill the circuit. */ - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (!circ) return; diff --git a/src/or/connection.c b/src/or/connection.c index 363848f21b..39ebf2870e 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -295,7 +295,7 @@ void connection_about_to_close_connection(connection_t *conn) break; case CONN_TYPE_EXIT: if (conn->state == EXIT_CONN_STATE_RESOLVING) { - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (circ) circuit_detach_stream(circ, conn); connection_dns_remove(conn); @@ -1209,7 +1209,7 @@ void connection_write_to_buf(const char *string, size_t len, connection_t *conn) /* if it failed, it means we have our package/delivery windows set wrong compared to our max outbuf size. close the whole circuit. */ log_fn(LOG_WARN,"write_to_buf failed. Closing circuit (fd %d).", conn->s); - circuit_mark_for_close(circuit_get_by_conn(conn)); + circuit_mark_for_close(circuit_get_by_edge_conn(conn)); } else { log_fn(LOG_WARN,"write_to_buf failed. Closing connection (fd %d).", conn->s); connection_mark_for_close(conn); diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index f9273d2bc2..9b920a175d 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -66,7 +66,8 @@ int connection_edge_reached_eof(connection_t *conn) { connection_edge_end(conn, END_STREAM_REASON_DONE, conn->cpath_layer); connection_mark_for_close(conn); } else { - connection_edge_send_command(conn, circuit_get_by_conn(conn), RELAY_COMMAND_END, + connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), + RELAY_COMMAND_END, NULL, 0, conn->cpath_layer); } return 0; @@ -195,7 +196,7 @@ connection_edge_end(connection_t *conn, char reason, crypt_path_t *cpath_layer) payload_len += 4; } - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (circ && !circ->marked_for_close) { log_fn(LOG_DEBUG,"Marking conn (fd %d) and sending end.",conn->s); connection_edge_send_command(conn, circ, RELAY_COMMAND_END, @@ -278,12 +279,12 @@ int connection_edge_finished_connecting(connection_t *conn) connection_start_writing(conn); /* deliver a 'connected' relay cell back through the circuit. */ if (connection_edge_is_rendezvous_stream(conn)) { - if (connection_edge_send_command(conn, circuit_get_by_conn(conn), + if (connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), RELAY_COMMAND_CONNECTED, NULL, 0, conn->cpath_layer) < 0) return 0; /* circuit is closed, don't continue */ } else { *(uint32_t*)connected_payload = htonl(conn->addr); - if (connection_edge_send_command(conn, circuit_get_by_conn(conn), + if (connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), RELAY_COMMAND_CONNECTED, connected_payload, 4, conn->cpath_layer) < 0) return 0; /* circuit is closed, don't continue */ } @@ -328,7 +329,7 @@ void connection_ap_expire_beginning(void) { continue; if (now - conn->timestamp_lastread < 15) continue; - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (!circ) { /* it's vanished? */ log_fn(LOG_INFO,"Conn is waiting (address %s), but lost its circ.", conn->socks_request->address); @@ -1476,7 +1477,7 @@ connection_exit_connect(connection_t *conn) { router_compare_to_my_exit_policy(conn) == ADDR_POLICY_REJECTED) { log_fn(LOG_INFO,"%s:%d failed exit policy. Closing.", conn->address, conn->port); connection_edge_end(conn, END_STREAM_REASON_EXITPOLICY, conn->cpath_layer); - circuit_detach_stream(circuit_get_by_conn(conn), conn); + circuit_detach_stream(circuit_get_by_edge_conn(conn), conn); connection_free(conn); return; } @@ -1507,7 +1508,7 @@ connection_exit_connect(connection_t *conn) { switch (connection_connect(conn, conn->address, addr, port)) { case -1: connection_edge_end_errno(conn, conn->cpath_layer); - circuit_detach_stream(circuit_get_by_conn(conn), conn); + circuit_detach_stream(circuit_get_by_edge_conn(conn), conn); connection_free(conn); return; case 0: @@ -1530,12 +1531,12 @@ connection_exit_connect(connection_t *conn) { /* also, deliver a 'connected' cell back through the circuit. */ if (connection_edge_is_rendezvous_stream(conn)) { /* rendezvous stream */ /* don't send an address back! */ - connection_edge_send_command(conn, circuit_get_by_conn(conn), RELAY_COMMAND_CONNECTED, + connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), RELAY_COMMAND_CONNECTED, NULL, 0, conn->cpath_layer); } else { /* normal stream */ /* This must be the original address, not the redirected address. */ *(uint32_t*)connected_payload = htonl(conn->addr); - connection_edge_send_command(conn, circuit_get_by_conn(conn), RELAY_COMMAND_CONNECTED, + connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), RELAY_COMMAND_CONNECTED, connected_payload, 4, conn->cpath_layer); } } diff --git a/src/or/dns.c b/src/or/dns.c index 1a488920e2..de30fe09e0 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -156,7 +156,7 @@ static void purge_expired_resolves(uint32_t now) { pendconn = pend->conn; connection_edge_end(pendconn, END_STREAM_REASON_TIMEOUT, pendconn->cpath_layer); - circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); + circuit_detach_stream(circuit_get_by_edge_conn(pendconn), pendconn); connection_free(pendconn); tor_free(pend); } @@ -192,7 +192,7 @@ static void send_resolved_cell(connection_t *conn, uint8_t answer_type) default: tor_assert(0); } - connection_edge_send_command(conn, circuit_get_by_conn(conn), + connection_edge_send_command(conn, circuit_get_by_edge_conn(conn), RELAY_COMMAND_RESOLVED, buf, buflen, conn->cpath_layer); } @@ -274,7 +274,7 @@ int dns_resolve(connection_t *exitconn) { exitconn->s, exitconn->address); if (exitconn->purpose == EXIT_PURPOSE_RESOLVE) send_resolved_cell(exitconn, RESOLVED_TYPE_ERROR); - circ = circuit_get_by_conn(exitconn); + circ = circuit_get_by_edge_conn(exitconn); if (circ) circuit_detach_stream(circ, exitconn); if (!exitconn->marked_for_close) @@ -455,7 +455,7 @@ void dns_cancel_pending_resolve(char *address) { connection_edge_end(pendconn, END_STREAM_REASON_RESOURCELIMIT, pendconn->cpath_layer); } - circ = circuit_get_by_conn(pendconn); + circ = circuit_get_by_edge_conn(pendconn); if (circ) circuit_detach_stream(circ, pendconn); connection_free(pendconn); @@ -553,11 +553,11 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { if (pendconn->purpose == EXIT_PURPOSE_CONNECT) { connection_edge_end(pendconn, END_STREAM_REASON_RESOLVEFAILED, pendconn->cpath_layer); /* This detach must happen after we send the end cell. */ - circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); + circuit_detach_stream(circuit_get_by_edge_conn(pendconn), pendconn); } else { send_resolved_cell(pendconn, RESOLVED_TYPE_ERROR); /* This detach must happen after we send the resolved cell. */ - circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); + circuit_detach_stream(circuit_get_by_edge_conn(pendconn), pendconn); } connection_free(pendconn); } else { @@ -565,7 +565,7 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { /* prevent double-remove. */ pend->conn->state = EXIT_CONN_STATE_CONNECTING; - circ = circuit_get_by_conn(pend->conn); + circ = circuit_get_by_edge_conn(pend->conn); tor_assert(circ); /* unlink pend->conn from resolving_streams, */ circuit_detach_stream(circ, pend->conn); @@ -580,7 +580,7 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { * but it does the right thing. */ pendconn->state = EXIT_CONN_STATE_RESOLVEFAILED; send_resolved_cell(pendconn, RESOLVED_TYPE_IPV4); - circ = circuit_get_by_conn(pendconn); + circ = circuit_get_by_edge_conn(pendconn); tor_assert(circ); circuit_detach_stream(circ, pendconn); connection_free(pendconn); diff --git a/src/or/or.h b/src/or/or.h index 1a07ee0884..6dbe98b350 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1173,6 +1173,7 @@ void circuit_set_circid_orconn(circuit_t *circ, uint16_t id, void circuit_close_all_marked(void); circuit_t *circuit_new(uint16_t p_circ_id, connection_t *p_conn); circuit_t *circuit_get_by_circid_orconn(uint16_t circ_id, connection_t *conn); +circuit_t *circuit_get_by_edge_conn(connection_t *conn); circuit_t *circuit_get_by_conn(connection_t *conn); circuit_t *circuit_get_by_global_id(uint32_t id); circuit_t *circuit_get_by_rend_query_and_purpose(const char *rend_query, uint8_t purpose); diff --git a/src/or/relay.c b/src/or/relay.c index 5bc8dc46c3..c5554c2634 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -1008,7 +1008,7 @@ int connection_edge_package_raw_inbuf(connection_t *conn, int package_partial) { repeat_connection_edge_package_raw_inbuf: - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (!circ) { log_fn(LOG_INFO,"conn has no circuit! Closing."); return -1; @@ -1085,7 +1085,7 @@ void connection_edge_consider_sending_sendme(connection_t *conn) { if (connection_outbuf_too_full(conn)) return; - circ = circuit_get_by_conn(conn); + circ = circuit_get_by_edge_conn(conn); if (!circ) { /* this can legitimately happen if the destroy has already * arrived and torn down the circuit */ |