diff --git a/inc/tsg_ssl_utils.h b/inc/tsg_ssl_utils.h index 5da3bcf..7eada60 100644 --- a/inc/tsg_ssl_utils.h +++ b/inc/tsg_ssl_utils.h @@ -29,7 +29,8 @@ struct ssl_chello char* alpn; char* cipher_suites; char* cipher_suites_tls13; + long long is_encrypt_sni; }; struct ssl_chello* ssl_chello_parse(const unsigned char* buff, size_t buff_len, enum chello_parse_result* result); -void ssl_chello_free(struct ssl_chello* chello); \ No newline at end of file +void ssl_chello_free(struct ssl_chello* chello); diff --git a/src/tsg_ssl_utils.cpp b/src/tsg_ssl_utils.cpp index 5aed2a9..5e86cfd 100644 --- a/src/tsg_ssl_utils.cpp +++ b/src/tsg_ssl_utils.cpp @@ -236,6 +236,10 @@ static enum chello_parse_result parse_extensions(const unsigned char* buff, size return result; } } + if (buff[pos] == 0xff && buff[pos + 1] == 0xce)//identify encrypt sni + { + chello->is_encrypt_sni = 1; + } pos += (4 + len); } /* Check we ended where we expected to */