aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_edge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/connection_edge.c')
-rw-r--r--src/or/connection_edge.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 6a65984774..dfe5d57036 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -118,6 +118,10 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
if(conn->type == CONN_TYPE_EXIT && relay_command == RELAY_COMMAND_END) {
log_fn(LOG_INFO,"Exit got end before we're connected. Marking for close.");
conn->marked_for_close = 1;
+ if(conn->state == EXIT_CONN_STATE_RESOLVING) {
+ log_fn(LOG_INFO,"...and informing resolver we don't want the answer anymore.");
+ dns_cancel_pending_resolve(conn->address, conn);
+ }
} else {
log_fn(LOG_DEBUG,"Got an unexpected relay cell, not in 'open' state. Dropping.");
}