From 3d47787a8d653b6b1062ffc35af190e7aa14aa69 Mon Sep 17 00:00:00 2001 From: "Zezheng.Li" Date: Fri, 8 May 2026 16:38:30 +0800 Subject: [PATCH 1/2] [coro_rpc] fix server quit log level from error to info --- include/ylt/coro_io/server_acceptor.hpp | 7 ++++++- include/ylt/coro_rpc/impl/coro_rpc_server.hpp | 10 ++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/include/ylt/coro_io/server_acceptor.hpp b/include/ylt/coro_io/server_acceptor.hpp index 7347c0ec9..95cde8653 100644 --- a/include/ylt/coro_io/server_acceptor.hpp +++ b/include/ylt/coro_io/server_acceptor.hpp @@ -140,7 +140,12 @@ struct tcp_server_acceptor : public server_acceptor_base { auto error = co_await coro_io::async_accept(*acceptor_, socket); ELOG_TRACE << "get connection from acceptor: " << address_ << ":" << port_; if (error) { - ELOG_ERROR << "accept error: " << error.message(); + if (error == asio::error::operation_aborted) { + ELOG_INFO << "accept canceled by server quit: " << error.message(); + } + else { + ELOG_ERROR << "accept error: " << error.message(); + } if (error == asio::error::operation_aborted || error == asio::error::bad_descriptor) { acceptor_close_waiter_.set_value(); diff --git a/include/ylt/coro_rpc/impl/coro_rpc_server.hpp b/include/ylt/coro_rpc/impl/coro_rpc_server.hpp index 2733fe8f8..be4ff00c6 100644 --- a/include/ylt/coro_rpc/impl/coro_rpc_server.hpp +++ b/include/ylt/coro_rpc/impl/coro_rpc_server.hpp @@ -260,8 +260,14 @@ class coro_rpc_server_base { p.setValue(errc_); } else { - ELOG_ERROR << "server quit with error: " << res.value().message(); - p.setValue(res.value()); + auto &value = res.value(); + if (value.ec == coro_rpc::errc::operation_canceled) { + ELOG_INFO << "server quit: " << value.message(); + } + else { + ELOG_ERROR << "server quit with error: " << value.message(); + } + p.setValue(value); } }); return future; From 6e337f46d4ac9ebab96f438b732db8b19802dc97 Mon Sep 17 00:00:00 2001 From: "Zezheng.Li" Date: Fri, 8 May 2026 16:40:57 +0800 Subject: [PATCH 2/2] [coro_rpc][coro_http] fix compile when openssl version < 1.1 --- include/ylt/coro_rpc/impl/common_service.hpp | 2 ++ include/ylt/coro_rpc/impl/coro_rpc_client.hpp | 2 ++ include/ylt/standalone/cinatra/coro_http_connection.hpp | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/include/ylt/coro_rpc/impl/common_service.hpp b/include/ylt/coro_rpc/impl/common_service.hpp index 331a8a341..43fde88ae 100644 --- a/include/ylt/coro_rpc/impl/common_service.hpp +++ b/include/ylt/coro_rpc/impl/common_service.hpp @@ -180,7 +180,9 @@ inline bool init_ssl_context_helper(asio::ssl::context &context, // Set lower security level for test certificates (OpenSSL 3.0 // compatibility) +#if OPENSSL_VERSION_NUMBER >= 0x10100000L SSL_CTX_set_security_level(context.native_handle(), 0); +#endif // Load CA certificate for client verification if provided asio::error_code ec; diff --git a/include/ylt/coro_rpc/impl/coro_rpc_client.hpp b/include/ylt/coro_rpc/impl/coro_rpc_client.hpp index 4236b5bcd..3c2144953 100644 --- a/include/ylt/coro_rpc/impl/coro_rpc_client.hpp +++ b/include/ylt/coro_rpc/impl/coro_rpc_client.hpp @@ -314,7 +314,9 @@ class coro_rpc_client { // Set lower security level for test certificates (OpenSSL 3.0 // compatibility) +#if OPENSSL_VERSION_NUMBER >= 0x10100000L SSL_CTX_set_security_level(ssl_ctx_.native_handle(), 0); +#endif if (file_exists(cert_file)) { ELOG_INFO << "load " << cert_file.string(); diff --git a/include/ylt/standalone/cinatra/coro_http_connection.hpp b/include/ylt/standalone/cinatra/coro_http_connection.hpp index 2a17424d7..e5120c9da 100644 --- a/include/ylt/standalone/cinatra/coro_http_connection.hpp +++ b/include/ylt/standalone/cinatra/coro_http_connection.hpp @@ -78,7 +78,9 @@ class coro_http_connection ssl_ctx_->set_options(ssl_options); // Set lower security level for test certificates (OpenSSL 3.0 // compatibility) +#if OPENSSL_VERSION_NUMBER >= 0x10100000L SSL_CTX_set_security_level(ssl_ctx_->native_handle(), 0); +#endif if (!passwd.empty()) { ssl_ctx_->set_password_callback([pwd = std::move(passwd)](auto, auto) { @@ -128,7 +130,9 @@ class coro_http_connection ssl_ctx_->set_options(ssl_options); // Set lower security level for test certificates (OpenSSL 3.0 // compatibility) +#if OPENSSL_VERSION_NUMBER >= 0x10100000L SSL_CTX_set_security_level(ssl_ctx_->native_handle(), 0); +#endif if (!passwd.empty()) { ssl_ctx_->set_password_callback([pwd = std::move(passwd)](auto, auto) {