From 71f74524132bd693bd40f29bcb4a1b30fe1f258e Mon Sep 17 00:00:00 2001 From: zhengchao Date: Mon, 18 Feb 2019 18:25:19 +0600 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ssl=5Fstream=5Fdump=5Finfo?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8C=E8=BE=93=E5=87=BAssl=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E3=80=81sni=EF=BC=8C=E4=BB=A5=E8=BF=9B?= =?UTF-8?q?=E4=B8=80=E6=AD=A5=E5=AE=9A=E4=BD=8D=20#116?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/include/internal/ssl_stream.h | 3 +-- platform/src/ssl_stream.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/include/internal/ssl_stream.h b/platform/include/internal/ssl_stream.h index f6bbfb1..5383495 100644 --- a/platform/include/internal/ssl_stream.h +++ b/platform/include/internal/ssl_stream.h @@ -22,8 +22,7 @@ struct bufferevent * ssl_downstream_create_result_release_bev(future_result_t * void ssl_async_downstream_create(struct future * f, struct ssl_mgr * mgr, struct ssl_stream * upstream, evutil_socket_t fd_downstream, int keyring_id, unsigned int thread_id); void ssl_stream_free_and_close_fd(struct ssl_stream * stream, struct event_base * evbase, evutil_socket_t fd); -void ssl_stream_log_error(struct bufferevent * bev, enum tfe_conn_dir dir, void* logger); - +const char* ssl_stream_dump_info(struct ssl_stream *stream, char* buffer, size_t sz); //Follow functions are allowed to call during runtime. int ssl_manager_add_trust_ca(struct ssl_mgr* mgr, const char* pem_file); int ssl_manager_del_trust_ca(struct ssl_mgr* mgr, const char* pem_file); diff --git a/platform/src/ssl_stream.cpp b/platform/src/ssl_stream.cpp index 14539bc..ccfd716 100644 --- a/platform/src/ssl_stream.cpp +++ b/platform/src/ssl_stream.cpp @@ -886,6 +886,12 @@ struct bufferevent * ssl_upstream_create_result_release_bev(future_result_t * re ctx->bev = NULL; //giveup ownership return ret; } +const char* ssl_stream_dump_info(struct ssl_stream *stream, char* buffer, size_t sz) +{ + snprintf(buffer, sz, "%s:%s", SSL_get_version(stream->ssl), + stream->dir==CONN_DIR_UPSTREAM ? stream->client_hello->sni:NULL); + return buffer; +} void ssl_stream_log_error(struct bufferevent * bev, enum tfe_conn_dir dir, struct ssl_mgr* mgr) { unsigned long sslerr=0;