Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
  • Loading branch information
indutny committed Oct 6, 2014
commit 4c402f8e76b2be6908515b9e8231cc9af6ebeb00
8 changes: 8 additions & 0 deletions src/tls_wrap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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());

Expand Down Expand Up @@ -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.
Expand Down