summaryrefslogtreecommitdiff
path: root/program/src/cert_conf.cpp
diff options
context:
space:
mode:
authorfengweihao <[email protected]>2019-11-05 11:38:40 +0800
committerfengweihao <[email protected]>2019-11-05 11:38:40 +0800
commit7192f437e55c9141d8cc72858295d4c5c6556616 (patch)
tree95dbf9e93da30601c34af4279ac9380251ae3d86 /program/src/cert_conf.cpp
parent8b089533e9c75bc6a99917cce71bc3839dd0ab44 (diff)
* 修改编译方式为CMakev2.1.2-20191105
* 删除C++适配代码 * 修改编译告警
Diffstat (limited to 'program/src/cert_conf.cpp')
-rw-r--r--program/src/cert_conf.cpp175
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);
+}
+