向 tfe 的 FieldStat 中输出可信证书的数量

This commit is contained in:
luwenpeng
2020-01-08 14:16:23 +08:00
parent 3f88682d7d
commit 7930500cc1
4 changed files with 29 additions and 19 deletions

View File

@@ -3,6 +3,7 @@
#include <tfe_types.h>
#include <ssl_utils.h>
#include <event2/event.h>
#include <MESA/MESA_htable.h>
#define PINNING_ST_NOT_PINNING 0
#define PINNING_ST_PINNING 1
@@ -16,13 +17,6 @@ struct ssl_service_status
char is_mutual_auth;
char has_protocol_errors;
};
struct ssl_service_cache;
struct ssl_service_cache* ssl_service_cache_create(unsigned int slot_size, unsigned int expire_seconds, int fail_as_pinning_cnt, int fail_as_proto_err_cnt, int succ_as_app_not_pinning_cnt, int fail_time_win);
void ssl_service_cache_destroy(struct ssl_service_cache* cache);
int ssl_service_cache_read(struct ssl_service_cache* svc_cache, const struct ssl_chello* chello, const struct tfe_stream_addr * addr, struct ssl_service_status* result);
void ssl_service_cache_write(struct ssl_service_cache* svc_cache, const struct ssl_chello* chello, const struct tfe_stream_addr * addr, const struct ssl_service_status* status);
struct ssl_service_cache_statistics
{
long long pinning_cli_cnt;
@@ -31,5 +25,23 @@ struct ssl_service_cache_statistics
long long ev_srv_cnt;
long long ct_srv_cnt;
long long app_not_pinning_cnt;
long long trusted_cert_cnt;
};
struct ssl_service_cache
{
MESA_htable_handle cli_st_hash;
MESA_htable_handle srv_st_hash;
MESA_htable_handle app_st_hash;
struct ssl_service_cache_statistics stat;
unsigned int fail_as_cli_pinning_count;
unsigned int fail_as_proto_err_count;
unsigned int fail_time_window;
unsigned int succ_as_app_not_pinning_count;
};
struct ssl_service_cache* ssl_service_cache_create(unsigned int slot_size, unsigned int expire_seconds, int fail_as_pinning_cnt, int fail_as_proto_err_cnt, int succ_as_app_not_pinning_cnt, int fail_time_win);
void ssl_service_cache_destroy(struct ssl_service_cache* cache);
int ssl_service_cache_read(struct ssl_service_cache* svc_cache, const struct ssl_chello* chello, const struct tfe_stream_addr * addr, struct ssl_service_status* result);
void ssl_service_cache_write(struct ssl_service_cache* svc_cache, const struct ssl_chello* chello, const struct tfe_stream_addr * addr, const struct ssl_service_status* status);
void ssl_service_cache_stat(struct ssl_service_cache* svc_cache, struct ssl_service_cache_statistics* result);