TSG-7747: 调整SNI/UA的默认索引值
This commit is contained in:
@@ -691,6 +691,9 @@ int parse_extension_tag(struct streaminfo *pstream, struct _quic_stream **quic_s
|
||||
stream->ext_tags=(quic_tlv_t *)dictator_malloc(pstream->threadnum, tag_num*sizeof(quic_tlv_t));
|
||||
memset(stream->ext_tags, 0, tag_num*sizeof(quic_tlv_t));
|
||||
*quic_stream=stream;
|
||||
stream->sni_idx=0xFF;
|
||||
stream->ver_idx=0xFF;
|
||||
stream->ua_idx=0xFF;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -700,6 +703,9 @@ int parse_extension_tag(struct streaminfo *pstream, struct _quic_stream **quic_s
|
||||
*quic_stream=stream;
|
||||
stream->ext_tag_num=0;
|
||||
stream->count++;
|
||||
stream->sni_idx=0xFF;
|
||||
stream->ver_idx=0xFF;
|
||||
stream->ua_idx=0xFF;
|
||||
}
|
||||
|
||||
while(tag_num>tag_used_num)
|
||||
@@ -1166,6 +1172,9 @@ int parse_encrypt_client_hello(struct streaminfo *pstream, struct _quic_stream *
|
||||
|
||||
quic_stream->ext_tags=(quic_tlv_t *)dictator_malloc(pstream->threadnum, sizeof(quic_tlv_t)*3);
|
||||
memset(quic_stream->ext_tags, 0, sizeof(quic_tlv_t)*3);
|
||||
quic_stream->sni_idx=0xFF;
|
||||
quic_stream->ua_idx=0xFF;
|
||||
quic_stream->ver_idx=0xFF;
|
||||
|
||||
while(extension_total_len>used_len)
|
||||
{
|
||||
@@ -1364,10 +1373,17 @@ int quic_protocol_identify(struct streaminfo *a_stream, void *a_packet, char *ou
|
||||
{
|
||||
if(_context->quic_info.client_hello!=NULL)
|
||||
{
|
||||
sni=(char *)(_context->quic_info.client_hello->ext_tags[_context->quic_info.client_hello->sni_idx].value);
|
||||
sni_len=_context->quic_info.client_hello->ext_tags[_context->quic_info.client_hello->sni_idx].length;
|
||||
len= sni_len>(out_sni_len-1) ? (out_sni_len-1) : sni_len;
|
||||
memcpy(out_sni, sni, len);
|
||||
if(_context->quic_info.client_hello->sni_idx!=0xFF)
|
||||
{
|
||||
sni=(char *)(_context->quic_info.client_hello->ext_tags[_context->quic_info.client_hello->sni_idx].value);
|
||||
sni_len=_context->quic_info.client_hello->ext_tags[_context->quic_info.client_hello->sni_idx].length;
|
||||
len= sni_len>(out_sni_len-1) ? (out_sni_len-1) : sni_len;
|
||||
memcpy(out_sni, sni, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
len=0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,18 @@
|
||||
[{
|
||||
"Tuple4": "192.168.50.26.55209>34.102.215.99.443",
|
||||
"VERSION": "Google QUIC 43",
|
||||
"name": "QUIC_RESULT_1"
|
||||
}, {
|
||||
"Tuple4": "192.168.50.26.60851>34.102.215.99.443",
|
||||
"VERSION": "Google QUIC 43",
|
||||
"name": "QUIC_RESULT_2"
|
||||
}, {
|
||||
"Tuple4": "112.43.145.231.18699>112.46.25.216.443",
|
||||
"VERSION": "Google QUIC 43",
|
||||
"SNI": "client.weixin.qq.com",
|
||||
"name": "QUIC_RESULT_1"
|
||||
"name": "QUIC_RESULT_3"
|
||||
}, {
|
||||
"Tuple4": "192.168.50.26.63533>34.102.215.99.443",
|
||||
"VERSION": "Google QUIC 43",
|
||||
"name": "QUIC_RESULT_4"
|
||||
}]
|
||||
|
||||
Reference in New Issue
Block a user