This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tfe/platform/include/internal/ssl_service_cache.h

36 lines
1.3 KiB
C
Raw Normal View History

#pragma once
#include <tfe_types.h>
#include <ssl_utils.h>
#include <event2/event.h>
#define PINNING_ST_NOT_PINNING 0
#define PINNING_ST_PINNING 1
#define PINNING_ST_MAYBE_PINNING 2
struct ssl_service_status
{
char cli_pinning_status;
char is_app_not_pinning;
char is_ev;
char is_ct;
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);
2019-05-20 16:56:37 +08:00
struct ssl_service_cache_statistics
{
long long pinning_cli_cnt;
long long mutual_auth_cli_cnt;
long long proto_err_cli_cnt;
2019-05-20 16:56:37 +08:00
long long ev_srv_cnt;
long long ct_srv_cnt;
long long app_not_pinning_cnt;
2019-05-20 16:56:37 +08:00
};
void ssl_service_cache_stat(struct ssl_service_cache* svc_cache, struct ssl_service_cache_statistics* result);