[or-cvs] r14311: backport r14281/r14297 plus a changelog entry (in tor/branches/tor-0_2_0-patches: . src/or)

arma at seul.org arma at seul.org
Tue Apr 8 00:53:35 UTC 2008


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);



More information about the tor-commits mailing list