Loading trunk/src/or/connection.c +2 −0 Changes for trunk/src/or/connection.c: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -175,6 +175,8 @@ void connection_free_all(void) { void connection_about_to_close_connection(connection_t *conn) { assert(conn->marked_for_close); if(conn->type == CONN_TYPE_AP || conn->type == CONN_TYPE_EXIT) { if(!conn->has_sent_end) log_fn(LOG_WARN,"Edge connection hasn't sent end yet? Bug."); Loading trunk/src/or/connection_edge.c +0 −4 Changes for trunk/src/or/connection_edge.c: 0 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -648,7 +648,6 @@ int connection_exit_begin_conn(cell_t *cell, circuit_t *circ) { if(rend_service_set_connection_addr_port(n_stream, circ) < 0) { log_fn(LOG_INFO,"Didn't find rendezvous service (port %d)",n_stream->port); connection_edge_end(n_stream, END_STREAM_REASON_EXITPOLICY, n_stream->cpath_layer); connection_mark_for_close(n_stream); connection_free(n_stream); circuit_mark_for_close(circ); /* knock the whole thing down, somebody screwed up */ return 0; Loading Loading @@ -683,7 +682,6 @@ int connection_exit_begin_conn(cell_t *cell, circuit_t *circ) { case -1: /* resolve failed */ log_fn(LOG_INFO,"Resolve failed (%s).", n_stream->address); connection_edge_end(n_stream, END_STREAM_REASON_RESOLVEFAILED, n_stream->cpath_layer); connection_mark_for_close(n_stream); connection_free(n_stream); break; case 0: /* resolve added to pending list */ Loading @@ -710,7 +708,6 @@ void 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); connection_mark_for_close(conn); circuit_detach_stream(circuit_get_by_conn(conn), conn); connection_free(conn); return; Loading @@ -720,7 +717,6 @@ void connection_exit_connect(connection_t *conn) { switch(connection_connect(conn, conn->address, conn->addr, conn->port)) { case -1: connection_edge_end(conn, END_STREAM_REASON_CONNECTFAILED, conn->cpath_layer); connection_mark_for_close(conn); circuit_detach_stream(circuit_get_by_conn(conn), conn); connection_free(conn); return; Loading trunk/src/or/dns.c +3 −6 Changes for trunk/src/or/dns.c: 3 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ static void purge_expired_resolves(uint32_t now) { pendconn = pend->conn; connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_free(pendconn); tor_free(pend); } Loading Loading @@ -360,15 +360,13 @@ void dns_cancel_pending_resolve(char *address) { address); while(resolve->pending_connections) { pend = resolve->pending_connections; /* So that mark_for_close doesn't double-remove the connection. */ pend->conn->state = EXIT_CONN_STATE_RESOLVEFAILED; pendconn = pend->conn; /* don't pass complex things to the connection_mark_for_close macro */ pendconn = pend->conn; tor_assert(pendconn->s == -1); if(!pendconn->marked_for_close) { connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); } circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_free(pendconn); resolve->pending_connections = pend->next; tor_free(pend); Loading Loading @@ -460,7 +458,6 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { pendconn->state = EXIT_CONN_STATE_RESOLVEFAILED; circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); connection_free(pendconn); } else { /* prevent double-remove. */ Loading Loading
trunk/src/or/connection.c +2 −0 Changes for trunk/src/or/connection.c: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -175,6 +175,8 @@ void connection_free_all(void) { void connection_about_to_close_connection(connection_t *conn) { assert(conn->marked_for_close); if(conn->type == CONN_TYPE_AP || conn->type == CONN_TYPE_EXIT) { if(!conn->has_sent_end) log_fn(LOG_WARN,"Edge connection hasn't sent end yet? Bug."); Loading
trunk/src/or/connection_edge.c +0 −4 Changes for trunk/src/or/connection_edge.c: 0 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -648,7 +648,6 @@ int connection_exit_begin_conn(cell_t *cell, circuit_t *circ) { if(rend_service_set_connection_addr_port(n_stream, circ) < 0) { log_fn(LOG_INFO,"Didn't find rendezvous service (port %d)",n_stream->port); connection_edge_end(n_stream, END_STREAM_REASON_EXITPOLICY, n_stream->cpath_layer); connection_mark_for_close(n_stream); connection_free(n_stream); circuit_mark_for_close(circ); /* knock the whole thing down, somebody screwed up */ return 0; Loading Loading @@ -683,7 +682,6 @@ int connection_exit_begin_conn(cell_t *cell, circuit_t *circ) { case -1: /* resolve failed */ log_fn(LOG_INFO,"Resolve failed (%s).", n_stream->address); connection_edge_end(n_stream, END_STREAM_REASON_RESOLVEFAILED, n_stream->cpath_layer); connection_mark_for_close(n_stream); connection_free(n_stream); break; case 0: /* resolve added to pending list */ Loading @@ -710,7 +708,6 @@ void 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); connection_mark_for_close(conn); circuit_detach_stream(circuit_get_by_conn(conn), conn); connection_free(conn); return; Loading @@ -720,7 +717,6 @@ void connection_exit_connect(connection_t *conn) { switch(connection_connect(conn, conn->address, conn->addr, conn->port)) { case -1: connection_edge_end(conn, END_STREAM_REASON_CONNECTFAILED, conn->cpath_layer); connection_mark_for_close(conn); circuit_detach_stream(circuit_get_by_conn(conn), conn); connection_free(conn); return; Loading
trunk/src/or/dns.c +3 −6 Changes for trunk/src/or/dns.c: 3 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ static void purge_expired_resolves(uint32_t now) { pendconn = pend->conn; connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_free(pendconn); tor_free(pend); } Loading Loading @@ -360,15 +360,13 @@ void dns_cancel_pending_resolve(char *address) { address); while(resolve->pending_connections) { pend = resolve->pending_connections; /* So that mark_for_close doesn't double-remove the connection. */ pend->conn->state = EXIT_CONN_STATE_RESOLVEFAILED; pendconn = pend->conn; /* don't pass complex things to the connection_mark_for_close macro */ pendconn = pend->conn; tor_assert(pendconn->s == -1); if(!pendconn->marked_for_close) { connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); } circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_free(pendconn); resolve->pending_connections = pend->next; tor_free(pend); Loading Loading @@ -460,7 +458,6 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { pendconn->state = EXIT_CONN_STATE_RESOLVEFAILED; circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); connection_free(pendconn); } else { /* prevent double-remove. */ Loading