summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2018-01-31 03:21:27 -0500
committerNick Mathewson <nickm@torproject.org>2018-02-16 08:46:57 -0500
commitd21e5cfc241204ccc6b8b0a484573edaea086772 (patch)
treefebfb7e879472f2d888347b7bbcada0145e325a2
parentf647035b3783eb14c79cea949b36efa97861fbc2 (diff)
downloadtor-d21e5cfc241204ccc6b8b0a484573edaea086772.tar.gz
tor-d21e5cfc241204ccc6b8b0a484573edaea086772.zip
stop calling channel_mark_client in response to a create_fast
since all it does is produce false positives this commit should get merged into 0.2.9 and 0.3.0 *and* 0.3.1, even though the code in the previous commit is already present in 0.3.1. sorry for the mess. [Cherry-picked]
-rw-r--r--changes/bug24898-0296
-rw-r--r--src/or/command.c10
2 files changed, 6 insertions, 10 deletions
diff --git a/changes/bug24898-029 b/changes/bug24898-029
new file mode 100644
index 0000000000..b33f093841
--- /dev/null
+++ b/changes/bug24898-029
@@ -0,0 +1,6 @@
+ o Minor bugfixes (relay):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
diff --git a/src/or/command.c b/src/or/command.c
index 894483e001..e7eb071610 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -347,16 +347,6 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
int len;
created_cell_t created_cell;
- /* If the client used CREATE_FAST, it's probably a tor client or bridge
- * relay, and we must not use it for EXTEND requests (in most cases, we
- * won't have an authenticated peer ID for the extend).
- * Public relays on 0.2.9 and later will use CREATE_FAST if they have no
- * ntor onion key for this relay, but that should be a rare occurrence.
- * Clients on 0.3.1 and later avoid using CREATE_FAST as much as they can,
- * even during bootstrap, so the CREATE_FAST check is most accurate for
- * earlier tor client versions. */
- channel_mark_client(chan);
-
memset(&created_cell, 0, sizeof(created_cell));
len = onion_skin_server_handshake(ONION_HANDSHAKE_TYPE_FAST,
create_cell->onionskin,