修正IP Spoofing、IP载荷替换发送业务日志功能的若干问题
This commit is contained in:
38
kni_entry.c
38
kni_entry.c
@@ -9,11 +9,9 @@
|
||||
#include "kni_replace.h"
|
||||
#include "kni_entry.h"
|
||||
#include "kni_utils.h"
|
||||
#include "kni_sendlog.h"
|
||||
|
||||
|
||||
|
||||
|
||||
int g_kni_version_VERSION_20181217;
|
||||
int g_kni_version_VERSION_20181229;
|
||||
|
||||
struct kni_var_comm g_kni_comminfo;
|
||||
struct kni_var_struct g_kni_structinfo;
|
||||
@@ -25,8 +23,6 @@ char g_kni_cardname[KNI_CARD_NUM][KNI_CONF_MAXLEN];
|
||||
int g_kni_threadseq[KNI_MAX_THREADNUM];
|
||||
|
||||
|
||||
|
||||
|
||||
int kni_init_pmeinfo(void** pme)
|
||||
{
|
||||
struct kni_pme_info* pmeinfo=ALLOC(struct kni_pme_info, 1);
|
||||
@@ -91,22 +87,42 @@ return :state_flag
|
||||
kni_bmd:STAT_FLAG_SNIBMD
|
||||
not kni_bmd:STAT_FLAG_SSL_NOBMD
|
||||
***************************************************************************************/
|
||||
|
||||
/*
|
||||
int kni_scan_pktbin(char* data,int datalen,int thread_seq,struct kni_pme_info* pmeinfo)
|
||||
{
|
||||
int string_scan_num=0;
|
||||
int found_pos;
|
||||
struct Maat_rule_t maat_result[KNI_MAX_SAMENUM];
|
||||
|
||||
string_scan_num=Maat_full_scan_string(g_kni_maatinfo.maat_feather,g_kni_maatinfo.tableid_pktbin,CHARSET_GBK,data,datalen,maat_result,&found_pos,KNI_MAX_SAMENUM,&(pmeinfo->mid),thread_seq);
|
||||
|
||||
=Maat_full_scan_string(g_kni_maatinfo.maat_feather,g_kni_maatinfo.tableid_pktbin,CHARSET_GBK,data,datalen,maat_result,&found_pos,KNI_MAX_SAMENUM,&(pmeinfo->mid),thread_seq);
|
||||
kni_process_maatresult(string_scan_num,maat_result,pmeinfo);
|
||||
|
||||
|
||||
return string_scan_num;
|
||||
}
|
||||
|
||||
|
||||
*/
|
||||
|
||||
int kni_scan_pktbin(char* data,int datalen,int thread_seq,struct kni_pme_info* pmeinfo)
|
||||
{
|
||||
int string_scan_num=0;
|
||||
int found_pos;
|
||||
|
||||
string_scan_num=Maat_full_scan_string(g_kni_maatinfo.maat_feather,g_kni_maatinfo.tableid_pktbin,
|
||||
CHARSET_GBK,data,datalen,&(pmeinfo->maat_result[pmeinfo->maat_result_num]),
|
||||
&found_pos,KNI_MAX_SAMENUM-pmeinfo->maat_result_num,&(pmeinfo->mid),thread_seq);
|
||||
|
||||
kni_process_maatresult(string_scan_num,&(pmeinfo->maat_result[pmeinfo->maat_result_num]),pmeinfo);
|
||||
if(string_scan_num >=0)
|
||||
{
|
||||
pmeinfo->maat_result_num +=string_scan_num;
|
||||
}
|
||||
|
||||
return string_scan_num;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************************
|
||||
return :action
|
||||
default:ipscan_num =0 or =1,not >1
|
||||
@@ -1829,7 +1845,7 @@ extern "C" char kni_init()
|
||||
}
|
||||
|
||||
init_kni_tunprocess();
|
||||
|
||||
kni_sendlog_init();
|
||||
|
||||
if(g_kni_switch_info.maat_default_mode==0)
|
||||
{
|
||||
|
||||
@@ -221,7 +221,6 @@ char kni_process_replace(unsigned char dir,int thread_seq,const struct streaminf
|
||||
// char ret = APP_STATE_DROPPKT | APP_STATE_DROPME;
|
||||
char ret = APP_STATE_DROPPKT | APP_STATE_GIVEME;
|
||||
|
||||
|
||||
struct kni_replace_info replace_info;
|
||||
memset(&replace_info,0,sizeof(struct kni_replace_info));
|
||||
|
||||
@@ -232,7 +231,8 @@ char kni_process_replace(unsigned char dir,int thread_seq,const struct streaminf
|
||||
}
|
||||
|
||||
kni_log_debug(RLOG_LV_FATAL,(char*)"REPLACE",a_packet,(char*)"config id:%d,original:%s,replace:%s",pmeinfo->cfg_id,replace_info.find,replace_info.replace);
|
||||
|
||||
replace_sendlog(pstream, pmeinfo, replace_info.find,replace_info.replace);
|
||||
|
||||
if(*(char*)a_packet == 0x45)
|
||||
{
|
||||
ret = kni_build_send_ipv4(dir,thread_seq,(struct ip*)a_packet,pmeinfo,&replace_info);
|
||||
|
||||
@@ -71,7 +71,7 @@ static rd_kafka_t * create_kafka_handle(const char* brokerlist)
|
||||
return handle;
|
||||
}
|
||||
|
||||
struct kni_logger* kni_sendlog_init()
|
||||
void kni_sendlog_init()
|
||||
{
|
||||
int ret=-1;
|
||||
char nic_name[64]={0};
|
||||
@@ -111,11 +111,11 @@ struct kni_logger* kni_sendlog_init()
|
||||
}
|
||||
g_kni_sendlog->topic_name="NTC-OPENVPN-LOG";
|
||||
g_kni_sendlog->kafka_topic = rd_kafka_topic_new(g_kni_sendlog->kafka_handle,g_kni_sendlog->topic_name, NULL);
|
||||
return g_kni_sendlog;
|
||||
return;
|
||||
|
||||
error_out:
|
||||
free(g_kni_sendlog);
|
||||
return NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
int kni_send_log(const struct kni_log* log_msg,char* user_region,char* content)
|
||||
|
||||
@@ -26,7 +26,7 @@ struct kni_logger
|
||||
};
|
||||
|
||||
|
||||
struct kni_logger* kni_sendlog_init(const char* profile, const char* section, void* local_logger);
|
||||
void kni_sendlog_init();
|
||||
//return 0 if SUCCESS, otherwise return -1
|
||||
int kni_send_log(const struct kni_log* log_msg,char* user_region,char* content);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user