Browse Source

tls: fix premature connection termination

Destroying the TLS session implies destroying the underlying socket but
before this commit, that was done with net.Socket#destroy() rather than
net.Socket#destroySoon().  The former closes the connection right away,
even when there is still data to write.  In other words, sometimes the
final TLS record got truncated.

Fixes #6107.
v0.10.21-release
Ben Noordhuis 11 years ago
parent
commit
9777890f5d
  1. 2
      lib/tls.js

2
lib/tls.js

@ -1400,7 +1400,7 @@ function pipe(pair, socket) {
// Encrypted should be unpiped from socket to prevent possible // Encrypted should be unpiped from socket to prevent possible
// write after destroy. // write after destroy.
pair.encrypted.unpipe(socket); pair.encrypted.unpipe(socket);
socket.destroy(); socket.destroySoon();
}); });
}); });

Loading…
Cancel
Save