diff --git a/platform/include/internal/resource.h b/platform/include/internal/resource.h deleted file mode 100644 index 7a70b0e..0000000 --- a/platform/include/internal/resource.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -enum RESOURCE_TYPE -{ - STATIC_MAAT, - DYNAMINC_MAAT, -}; - -int tfe_bussiness_resouce_init(); -void *tfe_bussiness_resouce_get(enum RESOURCE_TYPE type); \ No newline at end of file diff --git a/platform/src/resource.cpp b/platform/src/resource.cpp deleted file mode 100644 index 14c6a13..0000000 --- a/platform/src/resource.cpp +++ /dev/null @@ -1,168 +0,0 @@ -#include -#include -#include -#include - -#define MAAT_INPUT_JSON 0 -#define MAAT_INPUT_REDIS 1 -#define MAAT_INPUT_FILE 2 - -static Maat_feather_t static_maat = NULL; -static Maat_feather_t dynamic_maat = NULL; - -static Maat_feather_t create_maat_feather(const char *instance_name, const char *profile, const char *section, int max_thread, void *logger) -{ - Maat_feather_t target; - int input_mode = 0, maat_stat_on = 0, maat_perf_on = 0; - int ret = 0, scan_detail = 0, effect_interval = 60; - char table_info[TFE_STRING_MAX] = {0}, inc_cfg_dir[TFE_STRING_MAX] = {0}, ful_cfg_dir[TFE_STRING_MAX] = {0}; - char redis_server[TFE_STRING_MAX] = {0}; - char redis_port_range[TFE_STRING_MAX] = {0}; - char accept_tags[TFE_STRING_MAX] = {0}; - int redis_port_begin = 0, redis_port_end = 0; - int redis_port_select = 0; - int redis_db_idx = 0; - char json_cfg_file[TFE_STRING_MAX] = {0}, maat_stat_file[TFE_STRING_MAX] = {0}; - - MESA_load_profile_int_def(profile, section, "maat_input_mode", &(input_mode), 0); - MESA_load_profile_int_def(profile, section, "stat_switch", &(maat_stat_on), 1); - MESA_load_profile_int_def(profile, section, "perf_switch", &(maat_perf_on), 1); - MESA_load_profile_string_def(profile, section, "table_info", table_info, sizeof(table_info), ""); - MESA_load_profile_string_def(profile, section, "accept_tags", accept_tags, sizeof(accept_tags), ""); - MESA_load_profile_string_def(profile, section, "json_cfg_file", json_cfg_file, sizeof(json_cfg_file), ""); - MESA_load_profile_string_def(profile, section, "maat_redis_server", redis_server, sizeof(redis_server), ""); - MESA_load_profile_string_def(profile, section, "maat_redis_port_range", redis_port_range, sizeof(redis_server), "6379"); - MESA_load_profile_int_def(profile, section, "maat_redis_db_index", &(redis_db_idx), 0); - MESA_load_profile_string_def(profile, section, "inc_cfg_dir", inc_cfg_dir, sizeof(inc_cfg_dir), ""); - MESA_load_profile_string_def(profile, section, "full_cfg_dir", ful_cfg_dir, sizeof(ful_cfg_dir), ""); - MESA_load_profile_string_def(profile, section, "stat_file", maat_stat_file, sizeof(maat_stat_file), ""); - MESA_load_profile_int_def(profile, section, "effect_interval_s", &(effect_interval), 60); - - effect_interval *= 1000; //convert s to ms - - target = Maat_feather(max_thread, table_info, logger); - Maat_set_feather_opt(target, MAAT_OPT_INSTANCE_NAME, instance_name, strlen(instance_name) + 1); - switch (input_mode) - { - case MAAT_INPUT_JSON: - if (!strlen(json_cfg_file)) - { - TFE_LOG_ERROR(logger, "Invalid json_cfg_file, MAAT init failed."); - goto error_out; - } - - Maat_set_feather_opt(target, MAAT_OPT_JSON_FILE_PATH, json_cfg_file, strlen(json_cfg_file) + 1); - break; - case MAAT_INPUT_REDIS: - if (!strlen(redis_server)) - { - TFE_LOG_ERROR(logger, "Invalid maat_redis_server, MAAT init failed."); - goto error_out; - } - - ret = sscanf(redis_port_range, "%d-%d", &redis_port_begin, &redis_port_end); - if (ret == 1) - { - redis_port_select = redis_port_begin; - } - else if (ret == 2) - { - srand(time(NULL)); - redis_port_select = redis_port_begin + rand() % (redis_port_end - redis_port_begin); - } - else - { - TFE_LOG_ERROR(logger, "Invalid redis port range %s, MAAT init failed.", redis_port_range); - - goto error_out; - } - - Maat_set_feather_opt(target, MAAT_OPT_REDIS_IP, redis_server, strlen(redis_server) + 1); - Maat_set_feather_opt(target, MAAT_OPT_REDIS_PORT, &redis_port_select, sizeof(redis_port_select)); - Maat_set_feather_opt(target, MAAT_OPT_REDIS_INDEX, &redis_db_idx, sizeof(redis_db_idx)); - break; - case MAAT_INPUT_FILE: - if (!strlen(ful_cfg_dir)) - { - TFE_LOG_ERROR(logger, "Invalid ful_cfg_dir, MAAT init failed."); - goto error_out; - } - - if (!strlen(inc_cfg_dir)) - { - TFE_LOG_ERROR(logger, "Invalid inc_cfg_dir, MAAT init failed."); - goto error_out; - } - - Maat_set_feather_opt(target, MAAT_OPT_FULL_CFG_DIR, ful_cfg_dir, strlen(ful_cfg_dir) + 1); - Maat_set_feather_opt(target, MAAT_OPT_INC_CFG_DIR, inc_cfg_dir, strlen(inc_cfg_dir) + 1); - break; - default: - TFE_LOG_ERROR(logger, "Invalid MAAT Input Mode: %d.", input_mode); - goto error_out; - break; - } - - Maat_set_feather_opt(target, MAAT_OPT_FOREIGN_CONT_DIR, "./pangu_files", strlen("./pangu_files") + 1); - if (maat_stat_on) - { - Maat_set_feather_opt(target, MAAT_OPT_STAT_FILE_PATH, maat_stat_file, strlen(maat_stat_file) + 1); - Maat_set_feather_opt(target, MAAT_OPT_STAT_ON, NULL, 0); - if (maat_perf_on) - { - Maat_set_feather_opt(target, MAAT_OPT_PERF_ON, NULL, 0); - } - } - - Maat_set_feather_opt(target, MAAT_OPT_EFFECT_INVERVAL_MS, &effect_interval, sizeof(effect_interval)); - Maat_set_feather_opt(target, MAAT_OPT_SCAN_DETAIL, &scan_detail, sizeof(scan_detail)); - if (strlen(accept_tags) > 0) - { - Maat_set_feather_opt(target, MAAT_OPT_ACCEPT_TAGS, &accept_tags, sizeof(accept_tags)); - } - - ret = Maat_initiate_feather(target); - if (ret < 0) - { - TFE_LOG_ERROR(logger, "%s MAAT init failed.", __FUNCTION__); - goto error_out; - } - - return target; -error_out: - Maat_burn_feather(target); - return NULL; -} - -int tfe_bussiness_resouce_init() -{ - const char *profile_path = "./conf/pangu/pangu_pxy.conf"; - unsigned int thread_num = tfe_proxy_get_work_thread_count(); - static_maat = create_maat_feather("static", profile_path, "MAAT", thread_num, g_default_logger); - if (!static_maat) - { - return -1; - } - - dynamic_maat = create_maat_feather("dyn", profile_path, "DYNAMIC_MAAT", thread_num, g_default_logger); - if (!dynamic_maat) - { - return -1; - } - - return 0; -} - -void *tfe_bussiness_resouce_get(enum RESOURCE_TYPE type) -{ - if (type == STATIC) - { - return static_maat; - } - if (type == DYNAMINC) - { - return dynamic_maat; - } - - return NULL; -} diff --git a/plugin/business/doh/src/doh.cpp b/plugin/business/doh/src/doh.cpp index 835608f..1bb9e02 100644 --- a/plugin/business/doh/src/doh.cpp +++ b/plugin/business/doh/src/doh.cpp @@ -371,6 +371,9 @@ static void doh_ctx_free(struct doh_ctx *ctx) ctx->doh_req = NULL; } + Maat_clean_status(&(ctx->scan_mid)); + ctx->scan_mid = NULL; + if (ctx->opts_num) { free(ctx->opts);