[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r14311: backport r14281/r14297 plus a changelog entry (in tor/branches/tor-0_2_0-patches: . src/or)
Author: arma
Date: 2008-04-07 20:53:34 -0400 (Mon, 07 Apr 2008)
New Revision: 14311
Modified:
tor/branches/tor-0_2_0-patches/ChangeLog
tor/branches/tor-0_2_0-patches/src/or/connection_edge.c
Log:
backport r14281/r14297 plus a changelog entry
Modified: tor/branches/tor-0_2_0-patches/ChangeLog
===================================================================
--- tor/branches/tor-0_2_0-patches/ChangeLog 2008-04-07 16:44:47 UTC (rev 14310)
+++ tor/branches/tor-0_2_0-patches/ChangeLog 2008-04-08 00:53:34 UTC (rev 14311)
@@ -1,12 +1,16 @@
-Changes in version 0.2.0.24-?? - 2008-??-??
+Changes in version 0.2.0.24-rc - 2008-04-0?
o Minor bugfixes:
- Initialize log mutex before initializing dmalloc. Otherwise,
running with dmalloc would crash. Bugfix on 0.2.0.x-alpha.
- Do not read the configuration file when we've only been told to
- generate a password hash. Fixes bug 643. Bugfix on 0.0.9pre5. Fix
+ generate a password hash. Fixes bug 643. Bugfix on 0.0.9pre5. Fix
based on patch from Sebastian Hahn.
+ - Exit relays that are used as a client can now reach themselves
+ using the .exit notation, rather than just launching an infinite
+ pile of circuits. Fixes bug 641. Reported by Sebastian Hahn.
- When opening a logfile fails, tell us why.
+
Changes in version 0.2.0.23-rc - 2008-03-24
o Major bugfixes:
- When a tunneled directory request is made to a directory server
Modified: tor/branches/tor-0_2_0-patches/src/or/connection_edge.c
===================================================================
--- tor/branches/tor-0_2_0-patches/src/or/connection_edge.c 2008-04-07 16:44:47 UTC (rev 14310)
+++ tor/branches/tor-0_2_0-patches/src/or/connection_edge.c 2008-04-08 00:53:34 UTC (rev 14311)
@@ -2764,7 +2764,10 @@
* make sure the exit node of the existing circuit matches exactly.
*/
if (conn->chosen_exit_name) {
- if (router_get_by_nickname(conn->chosen_exit_name, 1) != exit) {
+ routerinfo_t *chosen_exit =
+ router_get_by_nickname(conn->chosen_exit_name, 1);
+ if (!chosen_exit || memcmp(chosen_exit->cache_info.identity_digest,
+ exit->cache_info.identity_digest, DIGEST_LEN)) {
/* doesn't match */
// log_debug(LD_APP,"Requested node '%s', considering node '%s'. No.",
// conn->chosen_exit_name, exit->nickname);