Call ENETUNREACH a case of NOROUTE, not a case of INTERNAL.

Found by cypherpunks; fix for a part of bug 10777; bugfix on 0.1.0.1-rc.
This commit is contained in:
Nick Mathewson 2014-02-09 21:30:23 -05:00
parent 9bb34aa897
commit f5d32c08ba
2 changed files with 8 additions and 1 deletions

7
changes/10777_netunreach Normal file
View File

@ -0,0 +1,7 @@
- Minor bugfixes:
- Treat ENETUNRECH at an exit node as a NOROUTE error, not an
INTERNAL error, since it 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.

View File

@ -176,8 +176,8 @@ errno_to_stream_end_reason(int e)
S_CASE(EAFNOSUPPORT):
E_CASE(EACCES):
S_CASE(ENOTCONN):
S_CASE(ENETUNREACH):
return END_STREAM_REASON_INTERNAL;
S_CASE(ENETUNREACH):
S_CASE(EHOSTUNREACH):
return END_STREAM_REASON_NOROUTE;
S_CASE(ECONNREFUSED):