diff options
| author | 刘学利 <[email protected]> | 2023-07-04 02:14:03 +0000 |
|---|---|---|
| committer | 刘学利 <[email protected]> | 2023-07-04 02:14:03 +0000 |
| commit | a52514a151f7f71f2630533ed7ea6c2ffbc85faa (patch) | |
| tree | 25f91fd1174eefa1e7d0c4e9b233abe42f71a6ca /src/SSL_Analyze.c | |
| parent | 21950877e691e1b52038d6cffa3914b944c9dfe9 (diff) | |
CLOSE状态时携带负载v3.0.0
Diffstat (limited to 'src/SSL_Analyze.c')
| -rw-r--r-- | src/SSL_Analyze.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/SSL_Analyze.c b/src/SSL_Analyze.c index 0fd703f..f555b9a 100644 --- a/src/SSL_Analyze.c +++ b/src/SSL_Analyze.c @@ -161,10 +161,6 @@ extern "C" char SSL_ENTRY(const struct streaminfo *a_tcp, void**pme, int thread_ ssl_context=(struct ssl_runtime_context *)(*pme); case OP_STATE_DATA: return_val=ssl_parse_stream(a_tcp, ssl_context ,thread_seq, a_packet); - if(SSL_FLASE==return_val || ssl_context->business.return_value&PROT_STATE_DROPME) - { - state=APP_STATE_DROPME; - } break; case OP_STATE_CLOSE: if(ssl_context->version!=UNKNOWN_VERSION) @@ -173,12 +169,18 @@ extern "C" char SSL_ENTRY(const struct streaminfo *a_tcp, void**pme, int thread_ } ssl_context->over_flag=SSL_TRUE; + return_val=ssl_parse_stream(a_tcp, ssl_context ,thread_seq, a_packet); ssl_call_plugins(a_tcp, ssl_context, NULL, 0, SSL_INTEREST_KEY_MASK, thread_seq, a_packet); break; default: break; } + if(SSL_FLASE==return_val || ssl_context->business.return_value&PROT_STATE_DROPME) + { + state=APP_STATE_DROPME; + } + if(ssl_context->business.return_value&PROT_STATE_DROPPKT) { state|=APP_STATE_DROPPKT; @@ -189,6 +191,10 @@ extern "C" char SSL_ENTRY(const struct streaminfo *a_tcp, void**pme, int thread_ ssl_release_context(ssl_context, thread_seq); *pme=NULL; } + else + { + ssl_context->business.return_value=0; + } return state; } |
