]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Call ENETUNREACH a case of NOROUTE, not a case of INTERNAL.
authorNick Mathewson <nickm@torproject.org>
Mon, 10 Feb 2014 02:30:23 +0000 (21:30 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 10 Feb 2014 02:30:23 +0000 (21:30 -0500)
Found by cypherpunks; fix for a part of bug 10777; bugfix on 0.1.0.1-rc.

changes/10777_netunreach [new file with mode: 0644]
src/or/reasons.c

diff --git a/changes/10777_netunreach b/changes/10777_netunreach
new file mode 100644 (file)
index 0000000..369774f
--- /dev/null
@@ -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.
+
index 637f8cdc7d387a64385242b3d56b2698432c49a3..fc31a438f705f8a0ead9f626fb6a246d7a5fd5ff 100644 (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):