Bladeren bron

r15283@tombo: nickm | 2008-04-22 13:43:45 -0400
Correctly notify one-hop connections when a circuit build has failed. possible fix for bug 669. found by lodger.


svn:r14415

Nick Mathewson 17 jaren geleden
bovenliggende
commit
bc95a4dbcb
2 gewijzigde bestanden met toevoegingen van 5 en 3 verwijderingen
  1. 2 0
      ChangeLog
  2. 3 3
      src/or/circuituse.c

+ 2 - 0
ChangeLog

@@ -35,6 +35,8 @@ Changes in version 0.2.1.1-alpha - 2008-??-??
       by adding "new stream" events for DNS requests, and removing
       by adding "new stream" events for DNS requests, and removing
       spurious "stream closed" events" for cached reverse resolves.
       spurious "stream closed" events" for cached reverse resolves.
       Patch from mwenge.  Fixes bug 646.
       Patch from mwenge.  Fixes bug 646.
+    - Correctly notify one-hop connections when a circuit build has
+      failed.  Possible fix for bug 669.  Found by lodger.
 
 
   o Minor features:
   o Minor features:
     - Allow separate log levels to be configured for different logging
     - Allow separate log levels to be configured for different logging

+ 3 - 3
src/or/circuituse.c

@@ -745,10 +745,10 @@ circuit_build_failed(origin_circuit_t *circ)
       n_conn->_base.or_is_obsolete = 1;
       n_conn->_base.or_is_obsolete = 1;
       entry_guard_register_connect_status(n_conn->identity_digest, 0,
       entry_guard_register_connect_status(n_conn->identity_digest, 0,
                                           time(NULL));
                                           time(NULL));
-      /* if there are any one-hop streams waiting on this circuit, fail
-       * them now so they can retry elsewhere. */
-      connection_ap_fail_onehop(n_conn->identity_digest);
     }
     }
+    /* if there are any one-hop streams waiting on this circuit, fail
+     * them now so they can retry elsewhere. */
+    connection_ap_fail_onehop(circ->_base.n_conn_id_digest);
   }
   }
 
 
   switch (circ->_base.purpose) {
   switch (circ->_base.purpose) {