From 930d1f701ed41c8221687cfd4b9742295c02f7e7 Mon Sep 17 00:00:00 2001 From: liuxueli Date: Mon, 2 Aug 2021 15:47:38 +0800 Subject: 第三方APP识别库表说明变更 修复tcpall的pme为空情况使用 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/tsg_static_tableinfo.conf | 3 +-- src/tsg_entry.cpp | 20 ++++++++++---------- src/tsg_entry.h | 2 +- src/tsg_send_raw_packet.cpp | 2 +- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bin/tsg_static_tableinfo.conf b/bin/tsg_static_tableinfo.conf index 829cd45..114c77e 100644 --- a/bin/tsg_static_tableinfo.conf +++ b/bin/tsg_static_tableinfo.conf @@ -79,5 +79,4 @@ 67 TSG_FILED_GTP_IMSI virtual TSG_OBJ_IMSI -- 68 TSG_FILED_GTP_APN virtual TSG_OBJ_APN -- 69 TSG_FILED_GTP_PHONE_NUMBER virtual TSG_OBJ_PHONE_NUMBER -- -70 APP_SIGNATURE_UPDATE_PROFILE plugin {"key":1,"valid":3,"foreign":"2"} -71 APP_LIBRARY_UPDATE_PROFILE plugin {"key":1,"valid":3,"foreign":"2"} +70 APP_SIGNATURE_UPDATE_PROFILE plugin {"key":1,"valid":4,"foreign":"2"} \ No newline at end of file diff --git a/src/tsg_entry.cpp b/src/tsg_entry.cpp index caf6fac..f141fd6 100644 --- a/src/tsg_entry.cpp +++ b/src/tsg_entry.cpp @@ -339,20 +339,20 @@ static int get_default_policy(int compile_id, struct Maat_rule_t *result) return 0; } -int set_vlan_id_to_project(const struct streaminfo *a_stream, struct tcpall_context *context, int *vlan_id, int vlan_id_num, int thread_seq) +int set_vlan_id_to_project(const struct streaminfo *a_stream, struct tcpall_context **context, int *vlan_id, int vlan_id_num, int thread_seq) { int num=0; - context=(struct tcpall_context *)get_struct_project(a_stream, g_tsg_para.tcpall_project_id); - if(context==NULL) + (*context)=(struct tcpall_context *)get_struct_project(a_stream, g_tsg_para.tcpall_project_id); + if(*context==NULL) { - context=(struct tcpall_context *)dictator_malloc(thread_seq, sizeof(struct tcpall_context)); - memset(context, 0, sizeof(struct tcpall_context)); - set_struct_project(a_stream, g_tsg_para.tcpall_project_id, (void *)context); + (*context)=(struct tcpall_context *)dictator_malloc(thread_seq, sizeof(struct tcpall_context)); + memset((*context), 0, sizeof(struct tcpall_context)); + set_struct_project(a_stream, g_tsg_para.tcpall_project_id, (void *)(*context)); } - num=MIN(vlan_id_num, MAX_RESULT_NUM-context->vlan_id_num); - memcpy(context->vlan_id+context->vlan_id_num, vlan_id, num); - context->vlan_id_num+=num; + num=MIN(vlan_id_num, MAX_RESULT_NUM-(*context)->vlan_id_num); + memcpy((*context)->vlan_id+(*context)->vlan_id_num, vlan_id, num); + (*context)->vlan_id_num+=num; return 0; } @@ -1517,7 +1517,7 @@ extern "C" unsigned char TSG_MASTER_TCPALL_ENTRY(const struct streaminfo *a_tcp, break; } - set_vlan_id_to_project(a_tcp, context, vlan_id, vlan_id_num, thread_seq); + set_vlan_id_to_project(a_tcp, &context, vlan_id, vlan_id_num, thread_seq); *pme=(void *)(context); tsg_send_raw_packet(a_tcp, context->vlan_id, context->vlan_id_num, thread_seq); diff --git a/src/tsg_entry.h b/src/tsg_entry.h index 61da852..9989524 100644 --- a/src/tsg_entry.h +++ b/src/tsg_entry.h @@ -308,7 +308,7 @@ void ASN_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp) void subscribe_id_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp); void app_id_dict_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp); void http_response_pages_free(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp); -int set_vlan_id_to_project(const struct streaminfo *a_stream, struct tcpall_context *context, int *vlan_id, int vlan_id_num, int thread_seq); +int set_vlan_id_to_project(const struct streaminfo *a_stream, struct tcpall_context **context, int *vlan_id, int vlan_id_num, int thread_seq); void security_compile_free(int idx, const struct Maat_rule_t* rule, const char* srv_def_large, MAAT_RULE_EX_DATA* ad, long argl, void *argp); struct Maat_rule_t *tsg_policy_decision_criteria(struct streaminfo *a_stream, Maat_rule_t *result, int result_num, int thread_seq); diff --git a/src/tsg_send_raw_packet.cpp b/src/tsg_send_raw_packet.cpp index 352e5e0..132ff94 100644 --- a/src/tsg_send_raw_packet.cpp +++ b/src/tsg_send_raw_packet.cpp @@ -84,7 +84,7 @@ int tsg_notify_hited_monitor_result(const struct streaminfo *a_stream, struct Ma return 0; } - set_vlan_id_to_project(a_stream, context, vlan_id, vlan_id_num, thread_seq); + set_vlan_id_to_project(a_stream, &context, vlan_id, vlan_id_num, thread_seq); return 1; } -- cgit v1.2.3