summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhengchao <[email protected]>2019-02-18 18:25:19 +0600
committerzhengchao <[email protected]>2019-02-18 18:25:19 +0600
commit71f74524132bd693bd40f29bcb4a1b30fe1f258e (patch)
tree7cf42d221203a320495634f00dcaf0501c512d38
parent2d34aafa48bac6002ad4c883f1b3d29663087150 (diff)
增加ssl_stream_dump_info函数,输出ssl版本号、sni,以进一步定位 #116
-rw-r--r--platform/include/internal/ssl_stream.h3
-rw-r--r--platform/src/ssl_stream.cpp6
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;