From: Mark Kogan Date: Tue, 5 Mar 2024 14:48:56 +0000 (+0200) Subject: rgw/beast: enablment of SSL session-id reuse speedup mechanism X-Git-Tag: v17.2.8~246^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a498d0fe601b2ff3c9e05aced240c1ac853a31d9;p=ceph.git rgw/beast: enablment of SSL session-id reuse speedup mechanism Enable the OpenSSL session-id reuse acceleration mechanism that is described in: https://www.openssl.org/docs/man1.0.2/man3/SSL_CTX_set_session_id_context.html SSL_CTX_set_session_id_context, SSL_set_session_id_context - set context within which session can be reused (server side only) Fixes: https://tracker.ceph.com/issues/64719 Signed-off-by: Mark Kogan (cherry picked from commit 6fb4c5d0c0694c9cfdbf0ed729d9f95886a0673f) --- diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc index 0e2fec30aa6a..e328285cf85a 100644 --- a/src/rgw/rgw_asio_frontend.cc +++ b/src/rgw/rgw_asio_frontend.cc @@ -481,7 +481,7 @@ unsigned short parse_port(const char *input, boost::system::error_code& ec) } return port; } - + tcp::endpoint parse_endpoint(boost::asio::string_view input, unsigned short default_port, boost::system::error_code& ec) @@ -1033,10 +1033,12 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec) handle_connection(context, env, stream, timeout, header_limit, conn->buffer, true, pause_mutex, scheduler.get(), ec, yield); - if (!ec) { + + if (!ec || ec == http::error::end_of_stream) { // ssl shutdown (ignoring errors) stream.async_shutdown(yield[ec]); } + conn->socket.shutdown(tcp::socket::shutdown_both, ec); }, make_stack_allocator()); } else {