diff --git a/entry/src/kni_entry.cpp b/entry/src/kni_entry.cpp index 7195cc1..661ba14 100644 --- a/entry/src/kni_entry.cpp +++ b/entry/src/kni_entry.cpp @@ -991,8 +991,10 @@ static char data_opstate(const struct streaminfo *stream, struct pme_info *pmein case KNI_ACTION_BYPASS: FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_POLICY_BYP], 0, FS_OP_ADD, 1); FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_BYP_STM], 0, FS_OP_ADD, 1); + pmeinfo->intercept_state=0; return APP_STATE_FAWPKT | APP_STATE_GIVEME; - case KNI_ACTION_INTERCEPT: + case KNI_ACTION_INTERCEPT: + pmeinfo->intercept_state=1; return first_data_intercept(stream, pmeinfo, &pktinfo, stream_addr, thread_seq); default: //action != intercept && action != bypass,bypass and dropme diff --git a/entry/src/kni_maat.cpp b/entry/src/kni_maat.cpp index 84887b1..701623b 100644 --- a/entry/src/kni_maat.cpp +++ b/entry/src/kni_maat.cpp @@ -10,7 +10,7 @@ extern int g_iThreadNum; */ enum kni_action g_maat_default_action; - +int g_maat_default_log_option=1; struct kni_maat_handle{ Maat_feather_t feather; int tableid_intercept_ip; @@ -45,6 +45,7 @@ void compile_ex_param_new(int idx, const struct Maat_rule_t* rule, const char* s g_maat_default_action = KNI_ACTION_BYPASS; KNI_LOG_INFO(logger, "Set default intercept action to bypass."); } + g_maat_default_log_option=rule->do_log; } return; } @@ -242,6 +243,8 @@ enum kni_action intercept_policy_scan(struct kni_maat_handle* handle, struct ipa } else { + *policy_id=0; + *do_log=g_maat_default_log_option; return g_maat_default_action; } }