From 63bcc591a7bb866a4476c7ad60f6d9fdd821844c Mon Sep 17 00:00:00 2001 From: zhengchao Date: Fri, 26 Jul 2019 14:16:07 +0600 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0app=20not=20pinning=E7=9A=84?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=A4=E7=A9=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/src/ssl_service_cache.cpp | 4 +++- platform/src/ssl_stream.cpp | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/src/ssl_service_cache.cpp b/platform/src/ssl_service_cache.cpp index 4b9e987..03c5f54 100644 --- a/platform/src/ssl_service_cache.cpp +++ b/platform/src/ssl_service_cache.cpp @@ -145,13 +145,13 @@ static size_t ssl_svc_client_st_mk_key(const struct ssl_chello* chello, const st static long cli_st_read_cb(void * data, const uchar * key, uint size, void * user_arg) { struct ssl_svc_client_st* cli_st=(struct ssl_svc_client_st*)data; - struct ssl_service_cache* svc_cache=cli_st->ref_svc_cache; struct ssl_service_status* result=(struct ssl_service_status*)user_arg; if (cli_st == NULL) { return 0; } + struct ssl_service_cache* svc_cache=cli_st->ref_svc_cache; if(cli_st->suspect_pinning_count==0) { result->cli_pinning_status=PINNING_ST_NOT_PINNING; @@ -414,6 +414,8 @@ void ssl_service_cache_destroy(struct ssl_service_cache* cache) cache->cli_st_hash=NULL; MESA_htable_destroy(cache->srv_st_hash, NULL); cache->srv_st_hash=NULL; + MESA_htable_destroy(cache->app_st_hash, NULL); + cache->app_st_hash=NULL; free(cache); return; } diff --git a/platform/src/ssl_stream.cpp b/platform/src/ssl_stream.cpp index 4f27613..ab3ba64 100644 --- a/platform/src/ssl_stream.cpp +++ b/platform/src/ssl_stream.cpp @@ -104,7 +104,7 @@ enum ssl_stream_stat SSL_SVC_MAUTH, SSL_SVC_CT_CERT, SSL_SVC_EV_CERT, - + SSL_SVC_APP_NOT_PINNING, SSL_STAT_MAX }; @@ -359,7 +359,7 @@ ssl_stream_gc_cb(evutil_socket_t fd, short what, void * arg) mgr->stat_val[SSL_SVC_MAUTH]=svc_stat.mutual_auth_cli_cnt; mgr->stat_val[SSL_SVC_CT_CERT]=svc_stat.ct_srv_cnt; mgr->stat_val[SSL_SVC_EV_CERT]=svc_stat.ev_srv_cnt; - + mgr->stat_val[SSL_SVC_APP_NOT_PINNING]=svc_stat.app_not_pinning_cnt; for(i=0;ifs_handle, mgr->fs_id[i], 0, FS_OP_SET, ATOMIC_READ(&(mgr->stat_val[i]))); @@ -415,7 +415,8 @@ void ssl_stat_init(struct ssl_mgr * mgr) spec[SSL_SVC_MAUTH]="ssl_mauth"; spec[SSL_SVC_CT_CERT]="ssl_ct_crt"; spec[SSL_SVC_EV_CERT]="ssl_ev_crt"; - + spec[SSL_SVC_APP_NOT_PINNING]="app_no_pinning"; + for(i=0;i