When our circuit fails at the first hop (e.g. we get a destroy

cell back), avoid using that OR connection anymore, and also
tell all the one-hop directory requests waiting for it that they
should fail. Bugfix on 0.2.1.3-alpha.


svn:r17984
This commit is contained in:
Roger Dingledine 2009-01-06 21:28:48 +00:00
parent 462f64b6b9
commit b36a98ff5a
3 changed files with 8 additions and 3 deletions

View File

@ -1,7 +1,12 @@
Changes in version 0.2.1.11-alpha - 2009-01-??
o Minor bugfixes:
- Make outbound DNS packets respect the OutboundBindAddress setting.
Fixes the bug part of bug 798.
Fixes the bug part of bug 798. Bugfix on 0.1.2.2-alpha.
- When our circuit fails at the first hop (e.g. we get a destroy
cell back), avoid using that OR connection anymore, and also
tell all the one-hop directory requests waiting for it that they
should fail. Bugfix on 0.2.1.3-alpha.
Changes in version 0.2.1.10-alpha - 2009-01-06
o Major bugfixes:

View File

@ -802,7 +802,7 @@ circuit_build_failed(origin_circuit_t *circ)
/* We failed at the first hop. If there's an OR connection
to blame, blame it. */
or_connection_t *n_conn = NULL;
const char *n_conn_id = NULL;
const char *n_conn_id = circ->_base.n_hop->identity_digest;
if (circ->_base.n_conn) {
n_conn = circ->_base.n_conn;
if (n_conn) n_conn_id = n_conn->identity_digest;

View File

@ -391,7 +391,7 @@ typedef enum {
#define EXIT_PURPOSE_RESOLVE 2
#define _EXIT_PURPOSE_MAX 2
/* !!!! If any connection purpose is ever over over 31, we must grow the type
/* !!!! If any connection purpose is ever over 31, we must grow the type
* field in connection_t. */
/** Circuit state: I'm the origin, still haven't done all my handshakes. */