Browse Source

tls_wrap: ignore ZERO_RETURN after close_notify

Do not call SSL_read() and ignore ZERO_RETURN if the connection was
shutdown and there could not be any reads.

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/joyent/node/pull/8519
archived-io.js-v0.12
Fedor Indutny 10 years ago
parent
commit
da188d13aa
  1. 8
      src/tls_wrap.cc

8
src/tls_wrap.cc

@ -447,6 +447,10 @@ void TLSCallbacks::ClearOut() {
if (!hello_parser_.IsEnded())
return;
// No reads after EOF
if (eof_)
return;
HandleScope handle_scope(env()->isolate());
Context::Scope context_scope(env()->context());
@ -476,6 +480,10 @@ void TLSCallbacks::ClearOut() {
int err;
Local<Value> arg = GetSSLError(read, &err, NULL);
// Ignore ZERO_RETURN after EOF, it is basically not a error
if (err == SSL_ERROR_ZERO_RETURN && eof_)
return;
if (!arg.IsEmpty()) {
// When TLS Alert are stored in wbio,
// it should be flushed to socket before destroyed.

Loading…
Cancel
Save