Ensure c->recv is properly reset to ngx_recv if SSL_shutdown()
blocks on writing.
The bug had appeared in
554c6ae25ffc.
SSL_free(c->ssl->connection);
c->ssl = NULL;
+ c->recv = ngx_recv;
return NGX_OK;
}
if (n == 1) {
SSL_free(c->ssl->connection);
c->ssl = NULL;
+ c->recv = ngx_recv;
return NGX_OK;
}
if (sslerr == SSL_ERROR_ZERO_RETURN || ERR_peek_error() == 0) {
SSL_free(c->ssl->connection);
c->ssl = NULL;
+ c->recv = ngx_recv;
return NGX_OK;
}
SSL_free(c->ssl->connection);
c->ssl = NULL;
+ c->recv = ngx_recv;
return NGX_ERROR;
}
c->ssl->handler = ngx_http_set_lingering_close;
return;
}
-
- c->recv = ngx_recv;
}
#endif
c->ssl->handler = ngx_http_v2_lingering_close;
return;
}
-
- c->recv = ngx_recv;
}
#endif