summaryrefslogtreecommitdiff
path: root/dealpkt/deal_tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'dealpkt/deal_tcp.c')
-rw-r--r--dealpkt/deal_tcp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/dealpkt/deal_tcp.c b/dealpkt/deal_tcp.c
index c4a8c8a..0b3f6f1 100644
--- a/dealpkt/deal_tcp.c
+++ b/dealpkt/deal_tcp.c
@@ -2447,6 +2447,7 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
struct tcpdetail_private *pdetail_pr=NULL;
int ret=PASS;
int retAll=PASS;
+ int call_tcpall_after_reset = 0; /* 2019-10-18 lijia modify, ��ǰ����reset֮��,��֤�ȵ���tcpall,�ٵ���tcp */
struct streaminfo_private *pstream_pr = &pindex->stream;
struct streaminfo *pstream = &pstream_pr->stream_public;
int try_to_update_addr_info = 0;
@@ -2609,6 +2610,13 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
if(0 == ret){
return PASS;
}
+
+ ret = tcp_processallpkt(pstream, this_iphdr, this_tcphdr, tcplen, raw_pkt);
+ if(DROP == ret){
+ return DROP;
+ }
+
+ call_tcpall_after_reset = 1;
}
pdetail->lastmtime=g_CurrentTime;
@@ -2656,7 +2664,7 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
}
//adjust by lqy 20150107 Ϊ�˷�ֹSYN�ؽ�����ʱSYN�ڵ�һ��������
- if(pindex_tcp && (pstream->pktstate!=OP_STATE_CLOSE))
+ if((0 == call_tcpall_after_reset) && pindex_tcp && (pstream->pktstate!=OP_STATE_CLOSE))
{
//ȫ���ӿ��õ�������ָ��ǰ����ԭʼ����
if(tcplen == 0)