diff --git a/inc/Maat_command.h b/inc/Maat_command.h index a0031a6..7032fde 100644 --- a/inc/Maat_command.h +++ b/inc/Maat_command.h @@ -175,7 +175,7 @@ struct Maat_cmd_group2compile const char* virtual_table_name; int group_id; int compile_id; - int Nth_clause; + int clause_index; int not_flag; }; diff --git a/src/entry/Maat_command.cpp b/src/entry/Maat_command.cpp index 8303a97..7d4042a 100644 --- a/src/entry/Maat_command.cpp +++ b/src/entry/Maat_command.cpp @@ -260,7 +260,7 @@ void serialize_group2compile(enum MAAT_OPERATION op, const struct Maat_cmd_group op, g2c->not_flag, g2c->virtual_table_name?g2c->virtual_table_name:"null", - g2c->Nth_clause==0?1:g2c->Nth_clause); + g2c->clause_index); return; } void serialize_compile(const struct Maat_rule_t* p_m_rule, const char* huge_service_defined, int clause_num, enum MAAT_OPERATION op, char* buff, size_t sz) diff --git a/src/entry/Maat_hierarchy.cpp b/src/entry/Maat_hierarchy.cpp index ca2f685..6f7b960 100644 --- a/src/entry/Maat_hierarchy.cpp +++ b/src/entry/Maat_hierarchy.cpp @@ -15,7 +15,7 @@ #define module_maat_hierarchy "MAAT_HIERARCHY" -#define TO_CLAUSE_ID(Nth_clause, compile_id) ((long long)Nth_clause<<32|compile_id) +#define TO_CLAUSE_ID(clause_index, compile_id) ((long long)clause_index<<32|compile_id) #define TO_CLAUSE_ID_COMPATBILE(vid, gid) ((unsigned long long)vid<<32|gid) #define TO_LITERAL_ID(vt_id, group_id) ((long long)vt_id<<32|group_id) @@ -54,7 +54,7 @@ struct Maat_hierarchy_literal_id }; struct Maat_hierarchy_clause_id { - int Nth_clause; + int clause_index; int compile_id; }; struct Maat_hierarchy_clause @@ -153,10 +153,10 @@ static void Maat_hierarchy_literal_free(struct Maat_hierarchy* hier, struct Maat HASH_DELETE(hh, hier->hash_literal_by_id, literal); free(literal); } -static int Maat_hierarchy_literal_join_clause(struct Maat_hierarchy_literal* literal, int not_flag, int Nth_clause, int compile_id) +static int Maat_hierarchy_literal_join_clause(struct Maat_hierarchy_literal* literal, int not_flag, int clause_index, int compile_id) { struct Maat_hierarchy_clause* clause=NULL; - struct Maat_hierarchy_clause_id clause_id={Nth_clause, compile_id}; + struct Maat_hierarchy_clause_id clause_id={clause_index, compile_id}; HASH_FIND(hh, literal->hash_clause_by_id, &clause_id, sizeof(clause_id), clause); if(clause) { @@ -169,10 +169,10 @@ static int Maat_hierarchy_literal_join_clause(struct Maat_hierarchy_literal* lit HASH_ADD(hh, literal->hash_clause_by_id, clause_id, sizeof(clause->clause_id), clause); return 0; } -static int Maat_hierarchy_literal_leave_clause(struct Maat_hierarchy_literal* literal, int Nth_clause, int compile_id) +static int Maat_hierarchy_literal_leave_clause(struct Maat_hierarchy_literal* literal, int clause_index, int compile_id) { struct Maat_hierarchy_clause* clause=NULL; - struct Maat_hierarchy_clause_id clause_id={Nth_clause, compile_id}; + struct Maat_hierarchy_clause_id clause_id={clause_index, compile_id}; HASH_FIND(hh, literal->hash_clause_by_id, &clause_id, sizeof(clause_id), clause); if(!clause) { @@ -485,7 +485,7 @@ static void Maat_hierarchy_group_free(struct Maat_hierarchy* hier, struct Maat_h return; } -int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int Nth_clause, int compile_id) +int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int clause_index, int compile_id) { int ret=0; struct Maat_hierarchy_group* group=NULL; @@ -503,12 +503,12 @@ int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_i { literal=Maat_hierarchy_literal_new(hier, group_id, vt_id); } - ret=Maat_hierarchy_literal_join_clause(literal, not_flag, Nth_clause, compile_id); + ret=Maat_hierarchy_literal_join_clause(literal, not_flag, clause_index, compile_id); if(ret<0) { MESA_handle_runtime_log(hier->logger, RLOG_LV_FATAL, module_maat_hierarchy, "Add group %d vt_id %d to clause %d of compile %d failed, group is already exisited.", - group_id, vt_id, Nth_clause, compile_id); + group_id, vt_id, clause_index, compile_id); ret=-1; } else @@ -519,7 +519,7 @@ int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_i pthread_rwlock_unlock(&hier->rwlock); return ret; } -int Maat_hierarchy_remove_group_from_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int Nth_clause, int compile_id) +int Maat_hierarchy_remove_group_from_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int clause_index, int compile_id) { struct Maat_hierarchy_group* group=NULL; struct Maat_hierarchy_literal* literal=NULL; @@ -543,12 +543,12 @@ int Maat_hierarchy_remove_group_from_compile(struct Maat_hierarchy* hier, int gr group_id, compile_id); goto error_out; } - ret=Maat_hierarchy_literal_leave_clause(literal, Nth_clause, compile_id); + ret=Maat_hierarchy_literal_leave_clause(literal, clause_index, compile_id); if(ret<0) { MESA_handle_runtime_log(hier->logger, RLOG_LV_FATAL, module_maat_hierarchy, "Remove group %d vt_id %d from clause %d of compile %d failed, clause is not exisited.", - group_id, vt_id, Nth_clause, compile_id); + group_id, vt_id, clause_index, compile_id); goto error_out; } pthread_rwlock_unlock(&hier->rwlock); @@ -754,18 +754,18 @@ static struct bool_matcher* Maat_hierarchy_build_bool_matcher(struct Maat_hierar { HASH_ITER(hh, literal->hash_clause_by_id, clause, tmp_clause) { - assert(clause->clause_id.Nth_clauseclause_id.clause_indexhash_compile_by_id, &clause->clause_id.compile_id, sizeof(clause->clause_id.compile_id), compile); if(compile) { - if(compile->clause_states[clause->clause_id.Nth_clause].in_use==1) + if(compile->clause_states[clause->clause_id.clause_index].in_use==1) { - assert(compile->clause_states[clause->clause_id.Nth_clause].not_flag==clause->not_flag); + assert(compile->clause_states[clause->clause_id.clause_index].not_flag==clause->not_flag); } else { - compile->clause_states[clause->clause_id.Nth_clause].in_use=1; - compile->clause_states[clause->clause_id.Nth_clause].not_flag=clause->not_flag; + compile->clause_states[clause->clause_id.clause_index].in_use=1; + compile->clause_states[clause->clause_id.clause_index].not_flag=clause->not_flag; } utarray_push_back(compile->literal_ids, &literal->literal_id); } @@ -1101,7 +1101,7 @@ void Maat_hierarchy_compile_mid_udpate(struct Maat_hierarchy_compile_mid* mid, i } HASH_ITER(hh, literal->hash_clause_by_id, clause, tmp_clause) { - ret=insert_clause_id(&mid->all_hit_clause_array, &mid->all_hit_clause_array_sz, mid->all_hit_clause_cnt, TO_CLAUSE_ID(clause->clause_id.Nth_clause, clause->clause_id.compile_id)); + ret=insert_clause_id(&mid->all_hit_clause_array, &mid->all_hit_clause_array_sz, mid->all_hit_clause_cnt, TO_CLAUSE_ID(clause->clause_id.clause_index, clause->clause_id.compile_id)); mid->all_hit_clause_cnt+=ret; } } diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index 9e3ba47..17e1288 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -1440,7 +1440,7 @@ void update_group2compile_rule(struct Maat_table_schema* table, const char* tabl &(db_g2c_rule.is_valid), &(db_g2c_rule.not_flag), virtual_table_name, - &(db_g2c_rule.Nth_clause)); + &(db_g2c_rule.clause_index)); if(ret!=6) { MESA_handle_runtime_log(logger,RLOG_LV_INFO,maat_module , @@ -1466,7 +1466,7 @@ void update_group2compile_rule(struct Maat_table_schema* table, const char* tabl } if(db_g2c_rule.is_valid==FALSE) { - ret=Maat_hierarchy_remove_group_from_compile(scanner->hier, db_g2c_rule.group_id,db_g2c_rule.virtual_table_id, db_g2c_rule.not_flag, db_g2c_rule.Nth_clause, db_g2c_rule.compile_id); + ret=Maat_hierarchy_remove_group_from_compile(scanner->hier, db_g2c_rule.group_id,db_g2c_rule.virtual_table_id, db_g2c_rule.not_flag, db_g2c_rule.clause_index, db_g2c_rule.compile_id); if(ret==0) { table_rt->origin_rule_num--; @@ -1480,7 +1480,7 @@ void update_group2compile_rule(struct Maat_table_schema* table, const char* tabl } else { - ret=Maat_hierarchy_add_group_to_compile(scanner->hier, db_g2c_rule.group_id,db_g2c_rule.virtual_table_id, db_g2c_rule.not_flag, db_g2c_rule.Nth_clause, db_g2c_rule.compile_id); + ret=Maat_hierarchy_add_group_to_compile(scanner->hier, db_g2c_rule.group_id,db_g2c_rule.virtual_table_id, db_g2c_rule.not_flag, db_g2c_rule.clause_index, db_g2c_rule.compile_id); if(ret==0) { table_rt->origin_rule_num++; diff --git a/src/entry/json2iris.cpp b/src/entry/json2iris.cpp index cbfb714..cbba8bc 100644 --- a/src/entry/json2iris.cpp +++ b/src/entry/json2iris.cpp @@ -798,30 +798,40 @@ int write_region_rule(cJSON* region_json, int compile_id, int group_id, iris_des int write_compile_line(cJSON *compile, struct iris_description_t *p_iris, void * logger) { - int compile_id=-1,cmd_cnt=0,ret=-1, clause_num=0, group_num=0, i=0, nth_clause=0; + int compile_id=-1,cmd_cnt=0,ret=-1, clause_num=0, group_num=0, i=0, clause_index=0; cJSON* item=NULL; struct iris_table_t* table_info=NULL; cJSON* group_array=NULL, *group_obj=NULL; int* clause_ids=NULL; + + item=cJSON_GetObjectItem(compile,"compile_id"); + if(item->type!=cJSON_Number) + { + MESA_handle_runtime_log(logger,RLOG_LV_FATAL,maat_json, + "compile_id format not number."); + return -1; + } + compile_id=item->valueint; + group_array=cJSON_GetObjectItem(compile, "groups"); group_num=cJSON_GetArraySize(group_array); clause_ids=ALLOC(int, group_num); - cJSON_ArrayForEach(group_obj, group_array); + cJSON_ArrayForEach(group_obj, group_array) { - item=cJSON_GetObjectItem(compile,"nth_clause"); + item=cJSON_GetObjectItem(group_obj, "clause_index"); if(item) { - nth_clause=item->valueint; + clause_index=item->valueint; for(i=0; itype!=cJSON_Number) - { - MESA_handle_runtime_log(logger,RLOG_LV_FATAL,maat_json, - "compile_id format not number."); - return -1; - } - compile_id=item->valueint; return compile_id; } -int write_group2compile_line(int group_id, int compile_id, int group_not_flag, int Nth_clause, const char* virtual_table, struct iris_description_t *p_iris, void * logger) +int write_group2compile_line(int group_id, int compile_id, int group_not_flag, int clause_index, const char* virtual_table, struct iris_description_t *p_iris, void * logger) { char buff[1024*4]; struct iris_table_t* table=p_iris->group2compile_table; - snprintf(buff, sizeof(buff), "%d\t%d\t1\t%d\t%s\t%d\n", group_id, compile_id, group_not_flag, virtual_table, Nth_clause); + snprintf(buff, sizeof(buff), "%d\t%d\t1\t%d\t%s\t%d\n", group_id, compile_id, group_not_flag, virtual_table, clause_index); table->write_pos+=memcat(&(table->buff), table->write_pos, &(table->buff_sz), buff, strlen(buff)); table->line_count++; return 0; @@ -1006,7 +1008,7 @@ int write_group_rule(cJSON *group_json, int parent_id, int parent_type, int trac { const char* _str_parent_type[2]={"compile", "group"}; int ret=0, i=0; - int group_not_flag=0, Nth_clause=0; + int group_not_flag=0, clause_index=0; cJSON *region_json=NULL, *item=NULL; cJSON *sub_groups=NULL, *region_rule=NULL; const char* group_name=NULL, *virtual_table=NULL; @@ -1041,14 +1043,14 @@ int write_group_rule(cJSON *group_json, int parent_id, int parent_type, int trac { group_not_flag=item->valueint; } - item=cJSON_GetObjectItem(group_json,"Nth_clause"); + item=cJSON_GetObjectItem(group_json,"clause_index"); if(item==NULL||item->type!=cJSON_Number) { - Nth_clause=Nth_group; + clause_index=Nth_group; } else { - Nth_clause=item->valueint; + clause_index=item->valueint; } } else @@ -1097,7 +1099,7 @@ int write_group_rule(cJSON *group_json, int parent_id, int parent_type, int trac } if(parent_type==PARENT_TYPE_COMPILE) { - ret=write_group2compile_line(group_info->group_id, parent_id, group_not_flag, Nth_clause, virtual_table, p_iris, logger); + ret=write_group2compile_line(group_info->group_id, parent_id, group_not_flag, clause_index, virtual_table, p_iris, logger); } else { diff --git a/src/inc_internal/Maat_hierarchy.h b/src/inc_internal/Maat_hierarchy.h index b3ee5f3..a67a23f 100644 --- a/src/inc_internal/Maat_hierarchy.h +++ b/src/inc_internal/Maat_hierarchy.h @@ -38,8 +38,8 @@ void* Maat_hierarchy_compile_read_user_data(struct Maat_hierarchy* hier, int com void* Maat_hierarchy_region_dettach_user_data(struct Maat_hierarchy* hier, int region_id); -int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int Nth_clause, int compile_id); -int Maat_hierarchy_remove_group_from_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int Nth_clause, int compile_id); +int Maat_hierarchy_add_group_to_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int clause_index, int compile_id); +int Maat_hierarchy_remove_group_from_compile(struct Maat_hierarchy* hier, int group_id, int vt_id, int not_flag, int clause_index, int compile_id); int Maat_hierarchy_add_group_to_group(struct Maat_hierarchy* hier, int group_id, int superior_group_id); int Maat_hierarchy_remove_group_from_group(struct Maat_hierarchy* hier, int group_id, int superior_group_id); diff --git a/src/inc_internal/Maat_rule_internal.h b/src/inc_internal/Maat_rule_internal.h index 140842b..2cc2ec0 100644 --- a/src/inc_internal/Maat_rule_internal.h +++ b/src/inc_internal/Maat_rule_internal.h @@ -115,7 +115,7 @@ struct db_group2compile_rule int is_valid; int not_flag; int virtual_table_id; - int Nth_clause; + int clause_index; }; struct db_group_rule_t { diff --git a/test/maat_json.json b/test/maat_json.json index ff3e890..f6e59f1 100644 --- a/test/maat_json.json +++ b/test/maat_json.json @@ -1786,7 +1786,7 @@ "group_name":"ipv4_composition.session", "virtual_table":"COMPOSITION_IP_SESSION", "not_flag":0, - "nth_clause":1 + "clause_index":1 } ] @@ -1804,25 +1804,25 @@ "group_name":"ASN1234", "virtual_table":"SOURCE_IP_ASN", "not_flag":0, - "nth_clause":1 + "clause_index":0 }, { "group_name":"financial-department-ip", "virtual_table":"null", "not_flag":0, - "nth_clause":1 + "clause_index":0 }, { "group_name":"Country-Sparta-IP", "virtual_table":"SOURCE_IP_GEO", "not_flag":0, - "nth_clause":1 + "clause_index":0 }, { "group_name":"ASN2345", "virtual_table":"DESTINATION_IP_ASN", "not_flag":0, - "nth_clause":2 + "clause_index":1 } ] } diff --git a/test/table_info.conf b/test/table_info.conf index d45aa32..9f0ff3d 100644 --- a/test/table_info.conf +++ b/test/table_info.conf @@ -54,4 +54,4 @@ 31 SOURCE_IP_ASN virtual AS_NUMBER -- 32 DESTINATION_IP_ASN virtual AS_NUMBER -- 33 GeoLocation expr UTF8 UTF8 yes 0 -34 SOURCE_IP_GEO virtual AS_NUMBER -- \ No newline at end of file +34 SOURCE_IP_GEO virtual GeoLocation -- \ No newline at end of file diff --git a/test/test_maatframe.cpp b/test/test_maatframe.cpp index 7f4465a..1c5437f 100644 --- a/test/test_maatframe.cpp +++ b/test/test_maatframe.cpp @@ -2103,7 +2103,7 @@ int test_add_expr_command(Maat_feather_t feather,const char* region_table,int co g2c.group_id=Maat_cmd_get_new_group_id(feather); g2c.table_name="GROUP2COMPILE"; g2c.compile_id=config_id; - g2c.Nth_clause=1; + g2c.clause_index=1; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &g2c); Maat_command_raw_set_region(feather, MAAT_OP_ADD, ®ion, g2c.group_id); return 0; @@ -2140,7 +2140,7 @@ TEST_F(MaatCmdTest, SetIP) memset(&g2c, 0, sizeof(g2c)); g2c.group_id=Maat_cmd_get_new_group_id(feather); g2c.compile_id=compile.config_id; - g2c.Nth_clause=1; + g2c.clause_index=1; g2c.table_name="GROUP2COMPILE"; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &g2c); @@ -2401,7 +2401,7 @@ TEST_F(MaatCmdTest, SubGroup) group1.group_id=Maat_cmd_get_new_group_id(feather); group1.table_name=g2c_tn; group1.compile_id=compile1.config_id; - group1.Nth_clause=1; + group1.clause_index=1; group1.not_flag=0; group1.virtual_table_name="null"; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &group1); @@ -2651,7 +2651,7 @@ TEST_F(MaatCmdTest, VirtualTable) group1.table_name=g2c_tn; group1.virtual_table_name="HTTP_REQUEST_HEADER"; group1.compile_id=compile1.config_id; - group1.Nth_clause=1; + group1.clause_index=1; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &group1); @@ -2673,7 +2673,7 @@ TEST_F(MaatCmdTest, VirtualTable) group2.table_name=g2c_tn; group2.virtual_table_name="HTTP_RESPONSE_HEADER"; group2.compile_id=compile1.config_id; - group2.Nth_clause=2; + group2.clause_index=2; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &group2); @@ -3094,7 +3094,7 @@ TEST_F(MaatCmdTest, HitPath) group1.table_name=g2c_tn; group1.virtual_table_name="HTTP_REQUEST_HEADER"; group1.compile_id=compile1.config_id; - group1.Nth_clause=1; + group1.clause_index=1; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &group1); @@ -3119,7 +3119,7 @@ TEST_F(MaatCmdTest, HitPath) group21.table_name=g2c_tn; group21.virtual_table_name="HTTP_RESPONSE_HEADER"; group21.compile_id=compile1.config_id; - group21.Nth_clause=2; + group21.clause_index=2; Maat_command_raw_set_group2compile(feather, MAAT_OP_ADD, &group21);