From: Nick Mathewson Date: Wed, 16 May 2012 16:31:45 +0000 (-0400) Subject: Report EADDRNOTAVAIL and EADDRINUSE as RESOURCELIMIT X-Git-Tag: tor-0.2.3.16-alpha~12^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2b6e91c2ee4f89c0ee31c83c3a5e5414fd2b3d40;p=thirdparty%2Ftor.git Report EADDRNOTAVAIL and EADDRINUSE as RESOURCELIMIT These errors usually mean address exhaustion; reporting them as such lets clients adjust their load to try other exits. Fix for bug 4710; bugfix on 0.1.0.1-rc, which started using END_STREAM_REASON_RESOURCELIMIT. --- diff --git a/changes/bug4710 b/changes/bug4710 new file mode 100644 index 0000000000..7f94b4d20d --- /dev/null +++ b/changes/bug4710 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Exit nodes now correcly report EADDRINUSE and EADDRNOTAVAIL as + resource exhaustion, so that clients can adjust their load to + try other exits. Fix for bug 4710; bugfix on 0.1.0.1-rc, which + started using END_STREAM_REASON_RESOURCELIMIT. diff --git a/src/or/reasons.c b/src/or/reasons.c index 319e6c055a..67abc350d1 100644 --- a/src/or/reasons.c +++ b/src/or/reasons.c @@ -184,6 +184,8 @@ errno_to_stream_end_reason(int e) S_CASE(ENOBUFS): case ENOMEM: case ENFILE: + S_CASE(EADDRINUSE): + S_CASE(EADDRNOTAVAIL): E_CASE(EMFILE): return END_STREAM_REASON_RESOURCELIMIT; default: