summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlijia <[email protected]>2020-09-11 12:09:03 +0800
committerlijia <[email protected]>2020-09-11 12:09:03 +0800
commit44124cad31f35bd16a771602b936d9acb3e8d672 (patch)
tree06f4a94459732d8500b1483ec86df40e6939ea2d
parenta06e2531fe3e7d38457395ebfbffa0bea5501a3e (diff)
修复插件返回DROPPKT后, 后续插件还能获取到包的BUG.v4.1.5
-rw-r--r--src/dealpkt/callapp.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/dealpkt/callapp.c b/src/dealpkt/callapp.c
index cfee3a4..15314e7 100644
--- a/src/dealpkt/callapp.c
+++ b/src/dealpkt/callapp.c
@@ -442,10 +442,6 @@ int stream_process(struct streaminfo *a_stream,const void *this_iphdr, const voi
#endif
}
local_app_ret = pFunInfo->appState;
- if(pFunInfo->appState&APP_STATE_DROPPKT)
- {
- ret=DROP;
- }
if(!(pFunInfo->appState&APP_STATE_DROPME))
{
@@ -482,6 +478,12 @@ int stream_process(struct streaminfo *a_stream,const void *this_iphdr, const voi
/* �����pending�׶�, KILL FOLLOWֱ���˳�ѭ������ */
break;
}
+
+ if(local_app_ret & APP_STATE_DROPPKT)
+ {
+ ret=DROP;
+ break; //2020-09-10 lijia add, �������������
+ }
}
//����Ҫ�ٴ��������fun���������ͷ�
@@ -545,11 +547,6 @@ int stream_process(struct streaminfo *a_stream,const void *this_iphdr, const voi
}
local_app_ret = pFunInfo->appState;
- if(pFunInfo->appState&APP_STATE_DROPPKT)
- {
- ret=DROP;
- }
-
if(pFunInfo->appState&APP_STATE_DROPME)
{
if(pPrev==NULL)
@@ -609,6 +606,11 @@ int stream_process(struct streaminfo *a_stream,const void *this_iphdr, const voi
if(local_app_ret & (APP_STATE_KILL_FOLLOW | APP_STATE_KILL_OTHER)){
break;
}
+ if(local_app_ret&APP_STATE_DROPPKT)
+ {
+ ret=DROP;
+ break; //2020-09-10 lijia add, �������������
+ }
}
//���������д�Ҷ�����Ҫ��