diff options
Diffstat (limited to 'scanner/scanner_maat.c')
| -rw-r--r-- | scanner/scanner_maat.c | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/scanner/scanner_maat.c b/scanner/scanner_maat.c index e446830..0270e1b 100644 --- a/scanner/scanner_maat.c +++ b/scanner/scanner_maat.c @@ -8,9 +8,37 @@ #include "scanner_maat.h" #include "scanner_toml.h" +#include "scanner_module.h" #define MAX_MATCH_RULES_NUM 128 +enum CM_MAAT_PLUGIN +{ + CM_MAAT_PLUGIN_APP_ID_DICT=0, + CM_MAAT_PLUGIN_SESSION_OPTION, //T_VSYS_INFO, + CM_MAAT_PLUGIN_POLICY_OBJECT, + CM_MAAT_PLUGIN_LIBRARY_TAG, + CM_MAAT_PLUGIN_IP_ADDR_ENTRY, + CM_MAAT_PLUGIN_FQDN_ENTRY, + CM_MAAT_PLUGIN_ATTRIBUTE_DICT, + CM_MAAT_PLUGIN_MAX +}; + +enum SD_MAAT_PLUGIN +{ + SD_MAAT_PLUGIN_GTP_IP2SIGNALING=0, + SD_MAAT_PLUGIN_DYNAMIC_IPPORT_MAPPING, + SD_MAAT_PLUGIN_MAX +}; + +struct maat_plugin_table +{ + const char *name; + maat_ex_new_func_t *ex_new; + maat_ex_free_func_t *ex_free; + maat_ex_dup_func_t *ex_dup; +}; + struct maat_parameter { bool stat_enabled; @@ -36,32 +64,6 @@ struct maat_parameter char foreign_content_dir[PATH_MAX]; }; -struct maat_plugin_table -{ - const char *name; - maat_ex_new_func_t *ex_new; - maat_ex_free_func_t *ex_free; - maat_ex_dup_func_t *ex_dup; -}; - -enum CM_MAAT_PLUGIN -{ - CM_MAAT_PLUGIN_APP_ID_DICT=0, - CM_MAAT_PLUGIN_SESSION_OPTION, //T_VSYS_INFO, - CM_MAAT_PLUGIN_POLICY_OBJECT, - CM_MAAT_PLUGIN_LIBRARY_TAG, - CM_MAAT_PLUGIN_IP_ADDR_ENTRY, - CM_MAAT_PLUGIN_FQDN_ENTRY, - CM_MAAT_PLUGIN_ATTRIBUTE_DICT, - CM_MAAT_PLUGIN_MAX -}; - -enum SD_MAAT_PLUGIN -{ - SD_MAAT_PLUGIN_GTP_IP2SIGNALING=0, - SD_MAAT_PLUGIN_DYNAMIC_IPPORT_MAPPING, - SD_MAAT_PLUGIN_MAX -}; struct scanner_maat { @@ -216,11 +218,6 @@ void scanner_maat_exdata_app_id_dict_free(const char *table_name __attribute__(( *ad=NULL; } -const struct app_id_dict *scanner_maat_get_app_id_dict(struct scanner_maat *cm_maat, int32_t appid) -{ - return (struct app_id_dict *)maat_plugin_table_get_ex_data(cm_maat->feather, cm_maat->plugin_table[CM_MAAT_PLUGIN_APP_ID_DICT].name, (const char *)&appid, sizeof(appid)); -} - void scanner_maat_virtual_system_parameter_new(const char *table_name __attribute__((unused)), const char *key __attribute__((unused)), const char *table_line, void **ad, long argl __attribute__((unused)), void *argp __attribute__((unused))) { yyjson_doc *doc=yyjson_read(table_line, strlen(table_line), 0); @@ -275,7 +272,7 @@ void scanner_maat_virtual_system_parameter_free(const char *table_name __attribu const struct virtual_system_parameter *scanner_maat_get_virtual_system_parameter(struct scanner_maat *cm_maat, int32_t t_vsys_id) { - return (struct virtual_system_parameter *)maat_plugin_table_get_ex_data(cm_maat->feather, cm_maat->plugin_table[CM_MAAT_PLUGIN_SESSION_OPTION].name, (const char *)&t_vsys_id, sizeof(t_vsys_id)); + return (const struct virtual_system_parameter *)maat_plugin_table_get_ex_data(cm_maat->feather, cm_maat->plugin_table[CM_MAAT_PLUGIN_SESSION_OPTION].name, (const char *)&t_vsys_id, sizeof(t_vsys_id)); } enum POLICY_OBJECT_OPTION object_statistics_option_convert(char *option) @@ -569,7 +566,7 @@ void scanner_maat_exdata_fqdn_entry_free(const char *table_name __attribute__((u int scanner_maat_get0_fqdn_entry(struct scanner_maat *cm_maat, char *server_fqdn, struct plugin_entry **exdata, size_t n_exdata) { - return maat_fqdn_plugin_table_get_ex_data(cm_maat->feather, cm_maat->plugin_table[CM_MAAT_PLUGIN_FQDN_ENTRY].name, server_fqdn, (void **)exdata, n_exdata); + return (int)maat_fqdn_plugin_table_get_ex_data(cm_maat->feather, cm_maat->plugin_table[CM_MAAT_PLUGIN_FQDN_ENTRY].name, server_fqdn, (void **)exdata, n_exdata); } void mobile_identify_parse(yyjson_val *mobile_identify, struct user_identification *uid, const char *table_name __attribute__((unused))) @@ -980,6 +977,11 @@ void scanner_maat_free(struct scanner_maat *cm_maat) FREE(cm_maat); } +struct maat *scanner_cm_maat_get_feather(struct scanner_maat *cm_maat) +{ + return ((cm_maat==NULL) ? NULL : cm_maat->feather); +} + void scanner_cm_maat_free(struct scanner_maat *cm_maat) { scanner_maat_free(cm_maat); |
