summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-04-06 06:43:21 +0000
committerNick Mathewson <nickm@torproject.org>2005-04-06 06:43:21 +0000
commit88dc243bb53d8e3a320d04ce525452e692df4fb6 (patch)
tree56a726cbf6579b1f9f973bf7e04d4a7e9cf3e9e7
parent716d9bc99ae876ffc108f1b172f13a9d68eb3d06 (diff)
downloadtor-88dc243bb53d8e3a320d04ce525452e692df4fb6.tar.gz
tor-88dc243bb53d8e3a320d04ce525452e692df4fb6.zip
Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start using it. Watch out, kids!
svn:r4026
-rw-r--r--src/or/circuitlist.c2
-rw-r--r--src/or/circuituse.c2
-rw-r--r--src/or/connection.c4
-rw-r--r--src/or/connection_edge.c19
-rw-r--r--src/or/dns.c16
-rw-r--r--src/or/or.h1
-rw-r--r--src/or/relay.c4
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 */