命中Object对象路径中增加notFlag字段

修复输出日志时数组越界问题
修只有TunnelA命中时,命中Object对象路径中缺少tablename
This commit is contained in:
fengweihao
2023-10-12 18:40:45 +08:00
parent 448081af1d
commit 7a0bc47087
2 changed files with 3 additions and 15 deletions

View File

@@ -1114,19 +1114,6 @@ int get_attributes_table_name(struct request_query_obj *query_obj, int num, int
if (query_obj[i].nth_scan[j] == Nth_scan) if (query_obj[i].nth_scan[j] == Nth_scan)
{ {
attributeObj=query_obj[i].attributes; attributeObj=query_obj[i].attributes;
/*tunnel filter*/
if(tunnel_endpoint_x == 2)
{
subchild = cJSON_GetObjectItem(attributeObj, "attributeName");
if(subchild && subchild->type==cJSON_String)
{
if(0 == strcasecmp(subchild->valuestring, "tunnel_endpointa"))
{
break;
}
}
}
subchild = cJSON_GetObjectItem(attributeObj, "tableName"); subchild = cJSON_GetObjectItem(attributeObj, "tableName");
if(subchild && subchild->type==cJSON_String) if(subchild && subchild->type==cJSON_String)
{ {
@@ -1217,6 +1204,7 @@ int http_hit_policy_list(struct verify_policy_query *verify_policy, int num, siz
} }
topObject=cJSON_CreateObject(); topObject=cJSON_CreateObject();
cJSON_AddNumberToObject(topObject, "objectId", ctx->hit_path[j].top_group_id); cJSON_AddNumberToObject(topObject, "objectId", ctx->hit_path[j].top_group_id);
cJSON_AddNumberToObject(topObject, "notFlag", ctx->hit_path[j].NOT_flag);
result_object_id[j] = ctx->hit_path[j].top_group_id; result_object_id[j] = ctx->hit_path[j].top_group_id;
get_attributes_table_name(verify_policy->verify_object, num, ctx->hit_path[j].Nth_scan, &ctx->ip_ctx, ctx->tunnel_endpoint_x, topObject); get_attributes_table_name(verify_policy->verify_object, num, ctx->hit_path[j].Nth_scan, &ctx->ip_ctx, ctx->tunnel_endpoint_x, topObject);
cJSON_AddItemToArray(topObjectList, topObject); cJSON_AddItemToArray(topObjectList, topObject);

View File

@@ -245,7 +245,7 @@ static struct ipaddr * get_ip_from_json(cJSON *attributeValue, const char *attri
static int get_attribute_from_json(int curr_id, cJSON* subchild, struct verify_policy_query *policy_query) static int get_attribute_from_json(int curr_id, cJSON* subchild, struct verify_policy_query *policy_query)
{ {
int xret = -1; int xret = -1;
char buff[VERIFY_STRING_MAX], *p = NULL; char buff[VERIFY_STRING_MAX*2], *p = NULL;
cJSON* item = NULL, *attributeValue=NULL; cJSON* item = NULL, *attributeValue=NULL;
p = buff; p = buff;
@@ -310,7 +310,7 @@ static int get_attribute_from_json(int curr_id, cJSON* subchild, struct verify_p
} }
} }
mesa_runtime_log(RLOG_LV_INFO, "[I] %s", buff); mesa_runtime_log(RLOG_LV_INFO, "[I] %s", buff);
memset(buff, 0, VERIFY_STRING_MAX); memset(buff, 0, VERIFY_STRING_MAX*2);
end: end:
xret = 1; xret = 1;
finish: finish: