summaryrefslogtreecommitdiff
path: root/src/or/relay.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2005-08-13 00:31:41 +0000
committerRoger Dingledine <arma@torproject.org>2005-08-13 00:31:41 +0000
commit6d875b7d5888ef911e3c66751cc253d645b15719 (patch)
treea717cf474c4d462d0885912f0de2a51e1568f836 /src/or/relay.c
parent87fcd60aa29afc07ed1cfe8d5999bca63591bf52 (diff)
downloadtor-6d875b7d5888ef911e3c66751cc253d645b15719.tar.gz
tor-6d875b7d5888ef911e3c66751cc253d645b15719.zip
i'm sick of having my streams fail because of a confused exit node.
try this band-aid to see if it gets better. svn:r4773
Diffstat (limited to 'src/or/relay.c')
-rw-r--r--src/or/relay.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index 856f2c4a52..682fe82e17 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -597,7 +597,7 @@ errno_to_end_reason(int e)
}
/** How many times will I retry a stream that fails due to DNS
- * resolve failure?
+ * resolve failure or misc error?
*/
#define MAX_RESOLVE_FAILURES 3
@@ -609,7 +609,8 @@ edge_reason_is_retriable(int reason)
return reason == END_STREAM_REASON_HIBERNATING ||
reason == END_STREAM_REASON_RESOURCELIMIT ||
reason == END_STREAM_REASON_EXITPOLICY ||
- reason == END_STREAM_REASON_RESOLVEFAILED;
+ reason == END_STREAM_REASON_RESOLVEFAILED ||
+ reason == END_STREAM_REASON_MISC;
}
/** Called when we receive an END cell on a stream that isn't open yet.
@@ -663,6 +664,7 @@ connection_edge_process_end_not_open(
/* else, conn will get closed below */
break;
case END_STREAM_REASON_RESOLVEFAILED:
+ case END_STREAM_REASON_MISC:
if (client_dns_incr_failures(conn->socks_request->address)
< MAX_RESOLVE_FAILURES) {
/* We haven't retried too many times; reattach the connection. */