|
|
|
|
@@ -12,7 +12,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int g_kni_version_VERSION_20181129;
|
|
|
|
|
int g_kni_version_VERSION_20181204;
|
|
|
|
|
|
|
|
|
|
struct kni_var_comm g_kni_comminfo;
|
|
|
|
|
struct kni_var_struct g_kni_structinfo;
|
|
|
|
|
@@ -548,7 +548,7 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pmeinfo->protocol=kni_protocol_identify(pstream,a_packet,data,datalen,domain,&domain_len);
|
|
|
|
|
assert(domain_len<sizeof(domain));
|
|
|
|
|
assert(domain_len<(int)sizeof(domain));
|
|
|
|
|
if((pmeinfo->protocol==KNI_FLAG_HTTP) ||(pmeinfo->protocol==KNI_FLAG_SSL))
|
|
|
|
|
{
|
|
|
|
|
if(domain_len != 0)
|
|
|
|
|
@@ -1296,8 +1296,11 @@ int init_kni_dyn_maat_info()
|
|
|
|
|
|
|
|
|
|
char redis_ip[INET_ADDRSTRLEN]={0};
|
|
|
|
|
int redis_db_index=0;
|
|
|
|
|
int redis_port=0;
|
|
|
|
|
unsigned short redis_port_real=0;
|
|
|
|
|
int redis_port_begin=0,redis_port_end=0;
|
|
|
|
|
unsigned short redis_port_select=0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char redis_port_range[KNI_CONF_MAXLEN]={0};
|
|
|
|
|
|
|
|
|
|
int scandir_interval=KNI_SCANDIR_INTERVAL;
|
|
|
|
|
int effect_interval=KNI_EFFECT_INTERVAL;
|
|
|
|
|
@@ -1311,9 +1314,10 @@ int init_kni_dyn_maat_info()
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_db_index",&redis_db_index,0);
|
|
|
|
|
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_port",(int*)&redis_port);
|
|
|
|
|
// MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_port",(int*)&redis_port);
|
|
|
|
|
|
|
|
|
|
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_server",redis_ip,INET_ADDRSTRLEN);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_port",redis_port_range,sizeof(redis_port_range),"6379");
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_DYN_STAT_FILEPATH);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
|
|
|
|
|
|
|
|
|
@@ -1331,9 +1335,29 @@ int init_kni_dyn_maat_info()
|
|
|
|
|
}
|
|
|
|
|
else if(maat_readconf_mode==KNI_READCONF_REDIS)
|
|
|
|
|
{
|
|
|
|
|
redis_port_real=(unsigned short)redis_port;
|
|
|
|
|
|
|
|
|
|
ret=sscanf(redis_port_range,"%d-%d", &redis_port_begin, &redis_port_end);
|
|
|
|
|
if(ret==1)
|
|
|
|
|
{
|
|
|
|
|
redis_port_select=(unsigned short)redis_port_begin;
|
|
|
|
|
}
|
|
|
|
|
else if(ret==2)
|
|
|
|
|
{
|
|
|
|
|
srand(time(NULL));
|
|
|
|
|
redis_port_select=(unsigned short)(redis_port_begin+rand()%(redis_port_end-redis_port_begin));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_INIT,"Invalid redis port range %s, MAAT init failed.", redis_port_range);
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_INIT,"dynmic_maat_redis select port:%d",redis_port_select);
|
|
|
|
|
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.ipd_dyn_maat_feather,MAAT_OPT_REDIS_IP,(void*)redis_ip,strlen(redis_ip)+1);
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.ipd_dyn_maat_feather,MAAT_OPT_REDIS_PORT,(void*)&redis_port_real,sizeof(unsigned short));
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.ipd_dyn_maat_feather,MAAT_OPT_REDIS_PORT,(void*)&redis_port_select,sizeof(unsigned short));
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.ipd_dyn_maat_feather,MAAT_OPT_REDIS_INDEX,(void*)&redis_db_index,sizeof(int));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1369,8 +1393,8 @@ int init_kni_static_maat_info()
|
|
|
|
|
|
|
|
|
|
char redis_ip[INET_ADDRSTRLEN]={0};
|
|
|
|
|
int redis_db_index=0;
|
|
|
|
|
int redis_port=0;
|
|
|
|
|
unsigned short redis_port_real=0;
|
|
|
|
|
int redis_port_begin=0,redis_port_end=0;
|
|
|
|
|
unsigned short redis_port_select=0;
|
|
|
|
|
|
|
|
|
|
int scandir_interval=KNI_SCANDIR_INTERVAL;
|
|
|
|
|
int effect_interval=KNI_EFFECT_INTERVAL;
|
|
|
|
|
@@ -1380,19 +1404,24 @@ int init_kni_static_maat_info()
|
|
|
|
|
char full_cfg_dir[KNI_CONF_MAXLEN]={0};
|
|
|
|
|
char inc_cfg_dir[KNI_CONF_MAXLEN]={0};
|
|
|
|
|
|
|
|
|
|
char redis_port_range[KNI_CONF_MAXLEN]={0};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"maat_readconf_mode",&maat_readconf_mode,KNI_READCONF_IRIS);
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
|
|
|
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"redis_db_index",&redis_db_index,0);
|
|
|
|
|
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"redis_port",(int*)&redis_port);
|
|
|
|
|
// MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"redis_port",(int*)&redis_port);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"redis_port",redis_port_range,sizeof(redis_port_range),"6379");
|
|
|
|
|
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"redis_server",redis_ip,INET_ADDRSTRLEN);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"inc_cfg_dir",inc_cfg_dir,KNI_CONF_MAXLEN,KNI_INCCFG_FILEPATH);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_STAT_FILEPATH);
|
|
|
|
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STATIC_MAAT_MODE,(char*)"full_cfg_dir",full_cfg_dir,KNI_CONF_MAXLEN,KNI_FULLCFG_FILEPATH);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_kni_maatinfo.maat_feather=Maat_feather(g_iThreadNum,table_info_path,g_kni_comminfo.logger);
|
|
|
|
|
if(g_kni_maatinfo.maat_feather==NULL)
|
|
|
|
|
@@ -1412,9 +1441,27 @@ int init_kni_static_maat_info()
|
|
|
|
|
}
|
|
|
|
|
else if(maat_readconf_mode==KNI_READCONF_REDIS)
|
|
|
|
|
{
|
|
|
|
|
redis_port_real=(unsigned short)redis_port;
|
|
|
|
|
|
|
|
|
|
ret=sscanf(redis_port_range,"%d-%d", &redis_port_begin, &redis_port_end);
|
|
|
|
|
if(ret==1)
|
|
|
|
|
{
|
|
|
|
|
redis_port_select=(unsigned short)redis_port_begin;
|
|
|
|
|
}
|
|
|
|
|
else if(ret==2)
|
|
|
|
|
{
|
|
|
|
|
srand(time(NULL));
|
|
|
|
|
redis_port_select=(unsigned short)(redis_port_begin+rand()%(redis_port_end-redis_port_begin));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_INIT,"Invalid redis port range %s, MAAT init failed.", redis_port_range);
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_INIT,"static_maat_redis select port:%d",redis_port_select);
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.maat_feather,MAAT_OPT_REDIS_IP,(void*)redis_ip,strlen(redis_ip)+1);
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.maat_feather,MAAT_OPT_REDIS_PORT,(void*)&redis_port_real,sizeof(unsigned short));
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.maat_feather,MAAT_OPT_REDIS_PORT,(void*)&redis_port_select,sizeof(unsigned short));
|
|
|
|
|
Maat_set_feather_opt(g_kni_maatinfo.maat_feather,MAAT_OPT_REDIS_INDEX,(void*)&redis_db_index,sizeof(int));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|