summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-10-21 16:41:20 +0000
committerNick Mathewson <nickm@torproject.org>2008-10-21 16:41:20 +0000
commitb593fd5c20bb3a0080673f6853e95bb9f3ffb799 (patch)
tree603f1a947de96390bcbcf12ae131391ffbd14615
parentbca46cc628dc2a76d32b70359ffba21c567bb705 (diff)
downloadtor-b593fd5c20bb3a0080673f6853e95bb9f3ffb799.tar.gz
tor-b593fd5c20bb3a0080673f6853e95bb9f3ffb799.zip
Patch from rovv: send back END cell in response to connect attempts to nonexistent hidden service port.
svn:r17137
-rw-r--r--ChangeLog3
-rw-r--r--src/or/connection_edge.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d331c7ccbf..2b9a629a6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,9 @@ Changes in version 0.2.1.7-alpha - 2008-10-xx
- When we're choosing an exit node for a circuit, and we have
no pending streams, choose a good general exit rather than one that
supports "all the pending streams". Bugfix on 0.1.1.x. Fix by rovv.
+ - Send a valid END cell back when a client tries to connect to a
+ nonexistent hidden service port. Bugfix on 0.1.2.15. Fixes bug
+ 840. Patch from rovv.
Changes in version 0.2.1.6-alpha - 2008-09-30
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index b1d42cc5f4..e060b6b42d 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2566,7 +2566,7 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
n_stream->_base.port);
end_payload[0] = END_STREAM_REASON_EXITPOLICY;
relay_send_command_from_edge(rh.stream_id, circ, RELAY_COMMAND_END,
- end_payload, 1, NULL);
+ end_payload, 1, origin_circ->cpath->prev);
connection_free(TO_CONN(n_stream));
tor_free(address);
return 0;