diff options
author | Nick Mathewson <nickm@torproject.org> | 2014-02-11 18:57:55 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-02-11 18:57:55 -0500 |
commit | 91d4bb0b000e1bdaf8569339a9b843c50e13e47e (patch) | |
tree | 444dd4944b9ccc70a6530bb8852bc0ec1fe8d06c | |
parent | 8836c1ee2f460422a688781c79760652524c3d6e (diff) | |
parent | 0844a262a247d08673040813e2949bc0202d42e4 (diff) | |
download | tor-91d4bb0b000e1bdaf8569339a9b843c50e13e47e.tar tor-91d4bb0b000e1bdaf8569339a9b843c50e13e47e.tar.gz |
Merge branch 'bug10777_netunreach_024' into maint-0.2.4
-rw-r--r-- | changes/10777_netunreach | 7 | ||||
-rw-r--r-- | src/or/reasons.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/changes/10777_netunreach b/changes/10777_netunreach new file mode 100644 index 000000000..899181423 --- /dev/null +++ b/changes/10777_netunreach @@ -0,0 +1,7 @@ + - Minor bugfixes: + + - Treat ENETUNREACH, EACCES, and EPERM at an exit node as a + NOROUTE error, not an INTERNAL error, since they can apparently + happen when trying to connect to the wrong sort of + netblocks. Fixes a part of bug 10777; bugfix on 0.1.0.1-rc. + diff --git a/src/or/reasons.c b/src/or/reasons.c index 637f8cdc7..6eb2643a8 100644 --- a/src/or/reasons.c +++ b/src/or/reasons.c @@ -174,11 +174,12 @@ errno_to_stream_end_reason(int e) S_CASE(ENOTSOCK): S_CASE(EPROTONOSUPPORT): S_CASE(EAFNOSUPPORT): - E_CASE(EACCES): S_CASE(ENOTCONN): - S_CASE(ENETUNREACH): return END_STREAM_REASON_INTERNAL; + S_CASE(ENETUNREACH): S_CASE(EHOSTUNREACH): + E_CASE(EACCES): + E_CASE(EPERM): return END_STREAM_REASON_NOROUTE; S_CASE(ECONNREFUSED): return END_STREAM_REASON_CONNECTREFUSED; |