diff options
| author | liuxueli <[email protected]> | 2021-09-13 15:05:07 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2021-09-13 15:05:07 +0800 |
| commit | 6bf86b18243eae01bf92fea01e29443f58e132eb (patch) | |
| tree | 507f4ce7de822426e13d76399f876546ec282e0a | |
| parent | 72e835353cf83ac5de0db70401aeceb954874a8d (diff) | |
TSG-7747: 调整SNI/UA的默认索引值
| -rw-r--r-- | src/gquic_process.cpp | 24 | ||||
| -rw-r--r-- | test/pcap/gquic/43/2-gquic-043-without-sni-192.168.50.26.55209-34.102.215.99.443.pcap | bin | 0 -> 4158 bytes | |||
| -rw-r--r-- | test/pcap/gquic/43/3-gquic-043-without-sni-192.168.50.26.60851-34.102.215.99.443.pcap | bin | 0 -> 12071 bytes | |||
| -rw-r--r-- | test/pcap/gquic/43/quic_result.json | 14 |
4 files changed, 33 insertions, 5 deletions
diff --git a/src/gquic_process.cpp b/src/gquic_process.cpp index 31159b9..630c467 100644 --- a/src/gquic_process.cpp +++ b/src/gquic_process.cpp @@ -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 { diff --git a/test/pcap/gquic/43/2-gquic-043-without-sni-192.168.50.26.55209-34.102.215.99.443.pcap b/test/pcap/gquic/43/2-gquic-043-without-sni-192.168.50.26.55209-34.102.215.99.443.pcap Binary files differnew file mode 100644 index 0000000..ae75b00 --- /dev/null +++ b/test/pcap/gquic/43/2-gquic-043-without-sni-192.168.50.26.55209-34.102.215.99.443.pcap diff --git a/test/pcap/gquic/43/3-gquic-043-without-sni-192.168.50.26.60851-34.102.215.99.443.pcap b/test/pcap/gquic/43/3-gquic-043-without-sni-192.168.50.26.60851-34.102.215.99.443.pcap Binary files differnew file mode 100644 index 0000000..3bad2e1 --- /dev/null +++ b/test/pcap/gquic/43/3-gquic-043-without-sni-192.168.50.26.60851-34.102.215.99.443.pcap diff --git a/test/pcap/gquic/43/quic_result.json b/test/pcap/gquic/43/quic_result.json index e50c842..278622f 100644 --- a/test/pcap/gquic/43/quic_result.json +++ b/test/pcap/gquic/43/quic_result.json @@ -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" }] |
