summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tsg_action.cpp15
-rw-r--r--src/tsg_entry.cpp15
2 files changed, 11 insertions, 19 deletions
diff --git a/src/tsg_action.cpp b/src/tsg_action.cpp
index 9d5c42e..ea7e942 100644
--- a/src/tsg_action.cpp
+++ b/src/tsg_action.cpp
@@ -587,29 +587,28 @@ static unsigned char do_action_tamper(const struct streaminfo *a_stream, Maat_ru
memset(_context, 0, sizeof(struct tcpall_context));
set_struct_project(a_stream, g_tsg_para.tcpall_project_id, (void *)_context);
_context->method_type=TSG_METHOD_TYPE_TAMPER;
- _context->tamper_count = 1;
+ _context->tamper_count = -1;
}else{
if(_context->method_type != TSG_METHOD_TYPE_TAMPER)
{
_context->method_type=TSG_METHOD_TYPE_TAMPER;
- _context->tamper_count = 1;
+ _context->tamper_count = -1;
}
else
{
- //to do error log
- //_context->method_type
MESA_handle_runtime_log(g_tsg_para.logger,
RLOG_LV_DEBUG,
__FUNCTION__,
- "_context->method_type : %d",
+ "Tamper is been processed, _context->method_type : %d",
_context->method_type);
-
return STATE_GIVEME;
}
}
- if(0 == send_tamper_xxx(a_stream, &_context->tamper_count, user_data)){
- return STATE_DROPPKT;
+ if(a_stream->type != STREAM_TYPE_TCP){
+ if(0 == send_tamper_xxx(a_stream, &_context->tamper_count, user_data)){
+ return STATE_DROPPKT;
+ }
}
return STATE_GIVEME;
}
diff --git a/src/tsg_entry.cpp b/src/tsg_entry.cpp
index 7fd456b..08f3138 100644
--- a/src/tsg_entry.cpp
+++ b/src/tsg_entry.cpp
@@ -1842,18 +1842,11 @@ static unsigned char tsg_master_all_entry(const struct streaminfo *a_stream, uns
}
break;
case TSG_METHOD_TYPE_TAMPER:
- if(0 == send_tamper_xxx(a_stream, &context->tamper_count, a_packet)){
- state|=APP_STATE_GIVEME|APP_STATE_DROPPKT;
- }else{
- state=APP_STATE_GIVEME;
+ if(a_stream->opstate != OP_STATE_PENDING){
+ if(0 == send_tamper_xxx(a_stream, &context->tamper_count, a_packet)){
+ state|=APP_STATE_GIVEME|APP_STATE_DROPPKT;
+ }
}
- context->tamper_count += 1;
- MESA_handle_runtime_log(g_tsg_para.logger,
- RLOG_LV_DEBUG,
- __FUNCTION__,
- "Addr: %s, send_tamper_xxx num %ld",
- PRINTADDR(a_stream, g_tsg_para.level),
- context->tamper_count);
break;
case TSG_METHOD_TYPE_DEFAULT:
if(!is_do_default_policy(a_stream, context->after_n_packets) || stream_state==OP_STATE_CLOSE)