diff options
| author | fengweihao <[email protected]> | 2019-11-05 11:38:40 +0800 |
|---|---|---|
| committer | fengweihao <[email protected]> | 2019-11-05 11:38:40 +0800 |
| commit | 7192f437e55c9141d8cc72858295d4c5c6556616 (patch) | |
| tree | 95dbf9e93da30601c34af4279ac9380251ae3d86 /program/src/cert_conf.cpp | |
| parent | 8b089533e9c75bc6a99917cce71bc3839dd0ab44 (diff) | |
* 修改编译方式为CMakev2.1.2-20191105
* 删除C++适配代码
* 修改编译告警
Diffstat (limited to 'program/src/cert_conf.cpp')
| -rw-r--r-- | program/src/cert_conf.cpp | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/program/src/cert_conf.cpp b/program/src/cert_conf.cpp new file mode 100644 index 0000000..a235ec2 --- /dev/null +++ b/program/src/cert_conf.cpp @@ -0,0 +1,175 @@ +/************************************************************************* + > File Name: cert_init.c + > Author: fengweihao + > Mail: + > Created Time: Fri 01 Jun 2018 12:06:01 AM PDT + ************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "rt_string.h" +#include "rt_common.h" +#include "rt_file.h" +#include "cert_conf.h" +#include "logging.h" + +#include "MESA_prof_load.h" + +struct config_bucket_t certConfig; + +struct config_bucket_t *cert_default_config() +{ + return &certConfig; +} + +static int load_system_config(const char *config) +{ + int xret = -1; + + struct config_bucket_t *rte = cert_default_config(); + + xret = MESA_load_profile_uint_nodef(config, "CONFIG", "thread-nu", &(rte->thread_nu)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the number of running threads failed"); + } + + xret = MESA_load_profile_int_def(config, "CONFIG", "mode", &(rte->mode), 0); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the number of run mode failed"); + } + + xret = MESA_load_profile_uint_nodef(config, "CONFIG", "expire_after", &(rte->expire_after)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the number of valid time failed"); + } + + xret = MESA_load_profile_string_nodef(config, "CONFIG", "ca_path", rte->ca_path, 128); + if (xret <0 && rt_file_exsit(rte->ca_path)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the ca path failed or the (%s) does not exist", + rte->ca_path); + goto finish; + + } + xret = MESA_load_profile_uint_nodef(config, "CONFIG", "local_debug", &(rte->local_debug)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the number of local_debug failed"); + } + + xret = MESA_load_profile_string_nodef(config, "CONFIG", "untrusted_ca_path", rte->uninsec_path, 128); + if (xret <0 && rt_file_exsit(rte->uninsec_path)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the untrusted ca path failed or the (%s) does not exist", + rte->ca_path); + goto finish; + + } +finish: + return xret; +} + +static int load_module_config(const char *config) +{ + int xret = -1; + + struct config_bucket_t *rte = cert_default_config(); + + xret = MESA_load_profile_short_nodef(config, "LIBEVENT", "port", (short *)&(rte->addr_t.e_port)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Libevent Port invalid"); + goto finish; + } + + xret = MESA_load_profile_string_nodef(config, "MAAT_REDIS", "ip", rte->addr_t.maat_ip, 16); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Maat redis ip invalid"); + goto finish; + } + + xret = MESA_load_profile_short_nodef(config, "MAAT_REDIS", "port", (short *)&(rte->addr_t.maat_port)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Maat redis port invalid"); + goto finish; + } + + xret = MESA_load_profile_short_nodef(config, "MAAT_REDIS", "dbindex", (short *)&(rte->addr_t.dbindex)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Maat redis dbindex invalid"); + goto finish; + } + + xret = MESA_load_profile_string_nodef(config, "CERTSTORE_REDIS", "ip", rte->addr_t.store_ip, 16); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Certsotre redis ip invalid"); + goto finish; + } + + xret = MESA_load_profile_short_nodef(config, "CERTSTORE_REDIS", "port", (short *)&(rte->addr_t.store_port)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Certsotre redis port invalid"); + goto finish; + } + +finish: + return xret; +} + +static int load_maat_config(const char *config) +{ + int xret = -1; + + struct ntc_maat_t *maat_t = &cert_default_config()->maat_t; + + xret = MESA_load_profile_uint_nodef(config, "NTC_MAAT", "maat_json_switch", &(maat_t->maat_json_switch)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the number of running threads failed"); + } + + xret = MESA_load_profile_string_nodef(config, "NTC_MAAT", "table_info", maat_t->info_path, 128); + if (xret < 0 && !rt_file_exsit( maat_t->info_path)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the table info failed or the (%s) does not exist", + maat_t->info_path); + goto finish; + } + + if (maat_t->maat_json_switch == 1){ + xret = MESA_load_profile_string_nodef(config, "NTC_MAAT", "pxy_obj_keyring", maat_t->pxy_path, 128); + if (xret < 0 && !rt_file_exsit(maat_t->pxy_path)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the pxy obj keyring failed or the (%s) does not exist", + maat_t->pxy_path); + goto finish; + } + } + + if (maat_t->maat_json_switch == 0){ + xret = MESA_load_profile_uint_nodef(config, "NTC_MAAT", "effective_interval", &(maat_t->effective_interval_s)); + if (xret < 0){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Reading the interval of scan failed"); + } + xret = MESA_load_profile_string_nodef(config, "NTC_MAAT", "inc_cfg_dir", maat_t->inc_cfg_dir, 128); + if (xret < 0 && !rt_file_exsit( maat_t->inc_cfg_dir)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the table info failed or the (%s) does not exist", + maat_t->inc_cfg_dir); + goto finish; + } + xret = MESA_load_profile_string_nodef(config, "NTC_MAAT", "full_cfg_dir", maat_t->full_cfg_dir, 128); + if (xret < 0 && !rt_file_exsit( maat_t->full_cfg_dir)){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Read the table info failed or the (%s) does not exist", + maat_t->full_cfg_dir); + goto finish; + } + } +finish: + return xret; +} + +void cert_init_config(const char *config) +{ + load_system_config(config); + + load_maat_config(config); + + load_module_config(config); +} + |
