diff --git a/src/entry/Maat_command.cpp b/src/entry/Maat_command.cpp index fb9f9c1..3a30724 100644 --- a/src/entry/Maat_command.cpp +++ b/src/entry/Maat_command.cpp @@ -1563,7 +1563,7 @@ struct foreign_conts_track int rule_idx; int foreign_idx; }; -void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger) +void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger) { int i=0, j=0, ret=0; int key_num=0; @@ -1620,6 +1620,10 @@ void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int fwrite(reply->str, 1, reply->len, fp); fclose(fp); fp=NULL; + if(print_fn==1) + { + printf("Written foreign content %s\n",p->f_keys[track[i].foreign_idx].filename); + } } } freeReplyObject(reply); @@ -1627,14 +1631,14 @@ void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int free(track); return; } -void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger) +void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger) { int max_redis_batch=4*1024,batch_cnt=0; int success_cnt=0; while(success_cntforeign_cont_dir, logger); if(ret>0) { - get_foreign_conts(c, rule_list, rule_num, logger); + get_foreign_conts(c, rule_list, rule_num, 0, logger); } } start(new_version,update_type,u_para); diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index bbba76b..ae51562 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -3009,6 +3009,13 @@ void garbage_bury(MESA_lqueue_head garbage_q,int timeout,void *logger) "Foreign content file %s remove failed.", bag->filename); } + else + { + + MESA_handle_runtime_log(logger,RLOG_LV_DEBUG,maat_module, + "Foreign content file %s remove success.", + bag->filename); + } free(bag->filename); bag->filename=NULL; break; diff --git a/src/inc_internal/Maat_rule_internal.h b/src/inc_internal/Maat_rule_internal.h index e2a1f53..6d200d9 100644 --- a/src/inc_internal/Maat_rule_internal.h +++ b/src/inc_internal/Maat_rule_internal.h @@ -501,7 +501,7 @@ redisReply *_wrap_redisCommand(redisContext *c, const char *format, ...); int get_rm_key_list(redisContext *c, long long instance_version, long long desired_version, long long* new_version, struct serial_rule_t** list,int *update_type, void* logger, int cumulative_off); int get_maat_redis_value(redisContext *c,struct serial_rule_t* rule_list,int rule_num,void* logger,int print_process); int get_foreign_keys_by_prefix(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, const char* dir,void *logger); -void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger); +void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger); void rewrite_table_line_with_foreign(struct serial_rule_t*p); diff --git a/tools/maat_redis_tool.cpp b/tools/maat_redis_tool.cpp index 4e731cf..82931c5 100644 --- a/tools/maat_redis_tool.cpp +++ b/tools/maat_redis_tool.cpp @@ -91,6 +91,10 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch assert(update_type==CM_UPDATE_TYPE_FULL); printf("MAAT Version: %lld, key number: %d\n", version, rule_num); + if(rule_num==0) + { + goto clean_up; + } printf("Reading value: "); ret=get_maat_redis_value(ctx,rule_list,rule_num,logger,1); if(ret<0) @@ -117,8 +121,8 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch ret=get_foreign_keys_by_prefix(ctx, rule_list, rule_num, foreign_files_dir, logger); if(ret>0) { - printf("Getting %d foreign content.\n", ret); - get_foreign_conts(ctx, rule_list, rule_num, logger); + printf("%d lines has foreign content.\n", ret); + get_foreign_conts(ctx, rule_list, rule_num, 1, logger); } snprintf(index_path,sizeof(index_path),"%s/full_config_index.%020lld",output_path,version); index_fp=fopen(index_path,"w"); @@ -143,6 +147,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch table_fp=NULL; set_file_rulenum(table_path,line_count, logger); line_count=0; + printf("Written table %s\n",table_path); } snprintf(table_path,sizeof(table_path),"%s/%s.%020lld",output_path,rule_list[i].table_name,version); set_file_rulenum(table_path, 0, logger); @@ -152,7 +157,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch printf("Open %s failed.\n",table_path); goto clean_up; } - printf("Writing %s\n",table_path); + cur_table=rule_list[i].table_name; } fprintf(table_fp,"%s\tkey=%d\n",rule_list[i].table_line,rule_list[i].rule_id); @@ -163,7 +168,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch fprintf(index_fp,"%s\t%d\t%s\n",cur_table,line_count,table_path); set_file_rulenum(table_path,line_count, logger); - printf("Writing complete: %s\n",index_path); + printf("Written complete: %s\n",index_path); clean_up: for(i=0;i