diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/SSL_Analyze.c | 3 | ||||
| -rw-r--r-- | src/SSL_Analyze.h | 1 | ||||
| -rw-r--r-- | src/SSL_Message.c | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/SSL_Analyze.c b/src/SSL_Analyze.c index f555b9a..2809c00 100644 --- a/src/SSL_Analyze.c +++ b/src/SSL_Analyze.c @@ -209,7 +209,8 @@ extern "C" int SSL_INIT(void) } const char *filename="./conf/ssl/ssl_main.conf"; - MESA_load_profile_int_def(filename, "FUNCTION", "MAC_CACHE_LEN", &g_ssl_runtime_para.max_cache_len, 10240); + MESA_load_profile_int_def(filename, "SSL", "MAX_CACHE_LEN", &g_ssl_runtime_para.max_cache_len, 10240); + MESA_load_profile_int_def(filename, "SSL", "PARSE_CERTIFICATE_DETAIL", &g_ssl_runtime_para.parse_certificate_detail, 1); ssl_ja3_init(); g_ssl_runtime_para.proto_tag_id=project_producer_register("MESA_PROTO", "struct", ssl_proto_tag_free); diff --git a/src/SSL_Analyze.h b/src/SSL_Analyze.h index 955aff8..e5fe861 100644 --- a/src/SSL_Analyze.h +++ b/src/SSL_Analyze.h @@ -51,6 +51,7 @@ struct ssl_runtime_para char stat_appname[16]; int proto_tag_id ; int max_cache_len; + int parse_certificate_detail; }; struct ssl_business_info diff --git a/src/SSL_Message.c b/src/SSL_Message.c index 82999d5..c8cacb5 100644 --- a/src/SSL_Message.c +++ b/src/SSL_Message.c @@ -140,7 +140,7 @@ int ssl_trunk_cache(struct ssl_runtime_context *ssl_context, char *payload, int ssl_context->record.cache_len=0; int length=MIN(payload_len, g_ssl_runtime_para.max_cache_len); - memcpy(ssl_context->record.cache_buff+ssl_context->record.cache_len, payload, length); + memmove(ssl_context->record.cache_buff+ssl_context->record.cache_len, payload, length); ssl_context->record.cache_len+=length; return 0; @@ -517,7 +517,7 @@ int ssl_parse_new_session_ticket(struct ssl_new_session_ticket *new_session_tick int ssl_parse_certificate_detail(const struct streaminfo *a_tcp, struct ssl_runtime_context *ssl_context, char *payload, int payload_len, int thread_seq, const void *a_packet) { - if(!(g_ssl_runtime_para.ssl_interested_region_flag&SSL_CERTIFICATE_DETAIL)) + if(!(g_ssl_runtime_para.ssl_interested_region_flag&SSL_CERTIFICATE_DETAIL) || g_ssl_runtime_para.parse_certificate_detail==0) { ssl_context->stream.certificate=NULL; return SSL_TRUE; |
