summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/relay.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index f03332fbf0..9425922823 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -659,9 +659,10 @@ connection_edge_process_relay_cell_not_open(
if (CIRCUIT_IS_ORIGIN(circ))
circuit_log_path(LOG_INFO,circ);
conn->has_sent_end = 1; /* we just got an 'end', don't need to send one */
- connection_ap_handshake_socks_reply(conn, NULL, 0,
- connection_edge_end_reason_socks5_response(*(char *)
- (cell->payload+RELAY_HEADER_SIZE)));
+ if (conn->type == CONN_TYPE_AP)
+ connection_ap_handshake_socks_reply(conn, NULL, 0,
+ connection_edge_end_reason_socks5_response(*(char *)
+ (cell->payload+RELAY_HEADER_SIZE)));
connection_mark_for_close(conn);
return 0;
}