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