From 14a424505151486c5b58be4932e801fff8606e67 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 31 Jan 2013 19:48:25 +0100 Subject: [PATCH] net: don't suppress ECONNRESET Let ECONNRESET network errors bubble up so clients can detect them. Commit c4454d2e suppressed and turned them into regular end-of-stream events to fix the then-failing simple/test-regress-GH-1531 test. See also issue #1571 for (scant) details. It turns out that special handling is no longer necessary. Remove the special casing and let the error bubble up naturally. pummel/test-https-ci-reneg-attack and pummel/test-tls-ci-reneg-attack are updated because they expected an EPIPE error code that is now an ECONNRESET. Suppression of the ECONNRESET prevented the test from detecting that the connection has been severed whereupon the next write would fail with an EPIPE. Fixes #1776. --- lib/net.js | 6 +----- test/pummel/test-https-ci-reneg-attack.js | 2 +- test/pummel/test-tls-ci-reneg-attack.js | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/net.js b/lib/net.js index 0b1a81d321..1246901f81 100644 --- a/lib/net.js +++ b/lib/net.js @@ -505,11 +505,7 @@ function onread(buffer, offset, length) { } else { debug('error', errno); // Error - if (errno == 'ECONNRESET') { - self._destroy(); - } else { - self._destroy(errnoException(errno, 'read')); - } + self._destroy(errnoException(errno, 'read')); } } diff --git a/test/pummel/test-https-ci-reneg-attack.js b/test/pummel/test-https-ci-reneg-attack.js index 83b76b4585..f7b0ac5d95 100644 --- a/test/pummel/test-https-ci-reneg-attack.js +++ b/test/pummel/test-https-ci-reneg-attack.js @@ -89,7 +89,7 @@ function test(next) { var closed = false; child.stdin.on('error', function(err) { - assert.equal(err.code, 'EPIPE'); + assert.equal(err.code, 'ECONNRESET'); closed = true; }); child.stdin.on('close', function() { diff --git a/test/pummel/test-tls-ci-reneg-attack.js b/test/pummel/test-tls-ci-reneg-attack.js index 778e288ca7..b077ef4b2f 100644 --- a/test/pummel/test-tls-ci-reneg-attack.js +++ b/test/pummel/test-tls-ci-reneg-attack.js @@ -87,7 +87,7 @@ function test(next) { var closed = false; child.stdin.on('error', function(err) { - assert.equal(err.code, 'EPIPE'); + assert.equal(err.code, 'ECONNRESET'); closed = true; }); child.stdin.on('close', function() {