summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-12-15 21:17:43 +0000
committerNick Mathewson <nickm@torproject.org>2008-12-15 21:17:43 +0000
commit51c29e1e24c87ccf3666e28075e8dfa93cb5240c (patch)
treef9954bca44df6da4875733cb588f0b2208985df9 /src/or
parent5822e14dc96b08c059c4af94f4707635610b18ad (diff)
downloadtor-51c29e1e24c87ccf3666e28075e8dfa93cb5240c.tar.gz
tor-51c29e1e24c87ccf3666e28075e8dfa93cb5240c.zip
Apply rovv's bug 805 fix: take more care never to prefer a non-canonical connection.
svn:r17627
Diffstat (limited to 'src/or')
-rw-r--r--src/or/connection_or.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 40dab3e4f0..028f3ded79 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -478,6 +478,8 @@ connection_or_get_by_identity_digest(const char *digest)
continue; /* We never prefer obsolete over non-obsolete connections. */
if (
+ /* We prefer canonical connections: */
+ (!best->is_canonical && conn->is_canonical) ||
/* We prefer non-obsolete connections: */
(best->_base.or_is_obsolete && !conn->_base.or_is_obsolete) ||
/* If both have circuits we prefer the newer: */