From 0e930e6b50916ee73641dfb0e27bbaa893fd005f Mon Sep 17 00:00:00 2001 From: jixinyi Date: Thu, 13 Dec 2018 15:05:46 +0800 Subject: 修改rule_id分段模式,修复溢出bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/ir_mctrl | Bin 47800 -> 47928 bytes src/ir_mctrl.cpp | 14 ++++++++------ src/ir_mctrl.h | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/bin/ir_mctrl b/bin/ir_mctrl index 05deeea..660ee8a 100644 Binary files a/bin/ir_mctrl and b/bin/ir_mctrl differ diff --git a/src/ir_mctrl.cpp b/src/ir_mctrl.cpp index 7f5c330..f5607f9 100644 --- a/src/ir_mctrl.cpp +++ b/src/ir_mctrl.cpp @@ -64,7 +64,7 @@ void get_cur_time(char *date) struct tm *lt; time(&t); lt = localtime(&t); - snprintf(date, MAX_TIME_LEN,"%d/%d/%d/%d:%d:%d",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec); + snprintf(date, MAX_TIME_LEN,"%d/%d/%d/%d:%d:%d",lt->tm_year+1900, lt->tm_mon+1, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec); } @@ -221,7 +221,8 @@ long htable_set_update_search(void *data, const uchar *key, uint size, void *use } else { - MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_INFO, (char*)"htable_set_update_search","htable info not exist!!!"); + MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_INFO, (char*)"htable_set_update_search","htable info not exist!,set error!!!"); + assert(0); } return nom_info.htable_flag; } @@ -297,7 +298,7 @@ void n_i_table_update_cb(int table_id,const char* table_line,void* u_para) if(is_valid==0) { - MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_DEBUG, (char*)"READ_TABLE_UPDATA","table_name:%s del redis is_valid==0",u_para); + MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_FATAL, (char*)"READ_TABLE_UPDATA"," del table_name:%s,data:%s is_valid==0",u_para,table_line); return; } @@ -326,7 +327,7 @@ void htable_data_free(void *data) { if(data!=NULL) { - MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_DEBUG, (char*)"DATA_FREE","htable_data_free!"); + MESA_handle_runtime_log(mctrl_g.logger_handle, RLOG_LV_INFO, (char*)"DATA_FREE","htable_data_free!"); free(data); data=NULL; } @@ -386,7 +387,7 @@ void s_d_table_update_cb(int table_id,const char* table_line,void* u_para) sscanf(table_line,"%d\t%d\t%d\t%s\t%s\t%d\t%s\t%*d\t%d\t%d\t%*d\t%s\t%s", &nom_info.region_id,&nom_info.addr_type,&nom_info.procotol,nom_info.src_ip,nom_info.src_port, &nom_info.direction,nom_info.user_region,&nom_info.is_valid,&nom_info.service,nom_info.effective_range,nom_info.op_time); - nom_info.region_id+=1000000000; + nom_info.region_id=(nom_info.region_id%1000000000)+1000000000; nom_info.addr_pool_id=0; nom_info.group_id=nom_info.region_id; memcpy(nom_info.src_port,"0",sizeof("0")); @@ -410,7 +411,7 @@ void s_d_table_update_cb(int table_id,const char* table_line,void* u_para) nom_info.src_ip,nom_info.mask_src_ip,nom_info.src_port,nom_info.mask_src_port,nom_info.dst_ip,nom_info.mask_dst_ip, nom_info.dst_port,nom_info.mask_dst_port,&nom_info.procotol,&nom_info.direction,&nom_info.addr_pool_id,&nom_info.is_valid, &nom_info.action,&nom_info.service,nom_info.effective_range,nom_info.op_time); - nom_info.region_id+=500000000; + nom_info.region_id=(nom_info.region_id%500000000)+500000000; memcpy(nom_info.user_region,"0",sizeof("0")); memcpy(nom_info.effective_range,"{}",sizeof("{}")); nom_info.service=832; @@ -432,6 +433,7 @@ void s_d_table_update_cb(int table_id,const char* table_line,void* u_para) memcpy(nom_info.mask_dst_port,"0",sizeof("0")); memcpy(nom_info.user_region,"0",sizeof("0")); memcpy(nom_info.effective_range,"{}",sizeof("{}")); + nom_info.region_id=nom_info.region_id%500000000; nom_info.direction=0; nom_info.action=96; nom_info.service=832; diff --git a/src/ir_mctrl.h b/src/ir_mctrl.h index 16e07a8..3c1a25c 100644 --- a/src/ir_mctrl.h +++ b/src/ir_mctrl.h @@ -23,7 +23,7 @@ #define CANDIDATE_TABLE "IR_CANDIDATE_IP" #define DNAT_POLICY_TABLE "IR_DNAT_POLICY" -#define SLEEP_TIME 86400 +#define SLEEP_TIME 43200 #define TIME_OUT 1800 #define MAX_THREAD_NUM 1 -- cgit v1.2.3