/************************************************************************* > File Name: cert_conf.h > Author: > Mail: > Created Time: Fri 01 Jun 2018 12:06:26 AM PDT ************************************************************************/ #ifndef _CERT_INIT_H #define _CERT_INIT_H #include #include #include #include #include #include #include #include #define CT_PATH_MAX 256 #define CT_ARRARY_LEN (CT_PATH_MAX/2) #define CT_STRING_MAX 1024 struct tfe_http_request{ #define DATALEN 128 int thread_id; int is_valid; char *odata; X509 *origin; int keyring_id; char *sni; char rkey[DATALEN]; struct timespec create_time; struct evhttp_request *evh_req; }; struct pxy_obj_keyring{ int keyring_id; uint64_t expire_time; EVP_PKEY *key; X509 *issuer; char keyring_type[CT_ARRARY_LEN]; char public_algo[CT_STRING_MAX]; char v3_ctl[CT_STRING_MAX]; int is_send; int is_valid; time_t op_time; atomic64_t ref_cnt; STACK_OF(X509) *stack_ca; }; struct _initer_addr_t{ uint16_t e_port; /*libevent prot*/ uint16_t maat_port; /*maat redis port*/ char maat_ip[16]; /*maat redis ip */ int dbindex; /*maat redis dbindex*/ uint16_t store_port; /*store redis port */ char store_ip[16]; /*store redis ip*/ uint16_t statsd_port; char statsd_server[16]; }; struct ntc_maat_t{ unsigned int maat_json_switch; unsigned int effective_interval_s; char info_path[128]; char pxy_path[128]; char inc_cfg_dir[128]; char full_cfg_dir[128]; }; struct config_bucket_t{ Maat_feather_t feather; int table_id; int mode; unsigned int local_debug; unsigned int thread_nu; unsigned int expire_after; char ca_path[128]; char uninsec_path[128]; struct ntc_maat_t maat_t; struct _initer_addr_t addr_t; }; extern struct config_bucket_t *cfg_instanec(); void cert_init_config(const char *config); #endif