identify-ietf-rfc9000

This commit is contained in:
liuxueli
2021-08-25 21:32:48 +08:00
parent 3412ad1afe
commit 314b09531f
3 changed files with 14 additions and 3 deletions

View File

@@ -502,7 +502,8 @@ enum _QUIC_VERSION is_quic_protocol(struct streaminfo *pstream, struct _quic_con
(quic_version>=MSQUIC_VERSION_00 && quic_version<=MSQUIC_VERSION_0F) ||
(quic_version>=MOZQUIC_VERSION_00 && quic_version<=MOZQUIC_VERSION_0F) ||
(quic_version>=MVFST_VERSION_00 && quic_version<=MVFST_VERSION_0F) ||
(quic_version>=IQUIC_VERSION_I001 && quic_version<=IQUIC_VERSION_I032)
(quic_version>=IQUIC_VERSION_I001 && quic_version<=IQUIC_VERSION_I032) ||
(quic_version==IQUIC_VERSION_RFC9000)
)
{
MESA_handle_runtime_log(g_quic_param.logger, RLOG_LV_DEBUG, "QUIC", "version: 0x%x addr: %s",
@@ -1031,7 +1032,8 @@ int parse_decrypt_quic(struct streaminfo *pstream, struct _quic_context* _contex
if( (quic_version>=MVFST_VERSION_00 && quic_version<=MVFST_VERSION_0F) ||
(quic_version>=GQUIC_VERSION_T050 && quic_version<=GQUIC_VERSION_T059) ||
(quic_version>=IQUIC_VERSION_I022 && quic_version<=IQUIC_VERSION_I029)
(quic_version>=IQUIC_VERSION_I022 && quic_version<=IQUIC_VERSION_I029) ||
(quic_version==IQUIC_VERSION_RFC9000)
)
{
if(payload[*used_len] == 0x01)
@@ -1107,7 +1109,8 @@ int quic_process(struct streaminfo *pstream, struct _quic_context* _context, int
(is_gquic>=GQUIC_VERSION_Q047 && is_gquic<=GQUIC_VERSION_Q059) ||
(is_gquic>=GQUIC_VERSION_T050 && is_gquic<=GQUIC_VERSION_T059) ||
(is_gquic>=GQUIC_VERSION_T050 && is_gquic<=GQUIC_VERSION_T059) ||
(is_gquic>=IQUIC_VERSION_I022 && is_gquic<=IQUIC_VERSION_I029)
(is_gquic>=IQUIC_VERSION_I022 && is_gquic<=IQUIC_VERSION_I029) ||
(is_gquic==IQUIC_VERSION_RFC9000)
)
&& _context->is_decrypt==0
)

View File

@@ -318,6 +318,7 @@ enum _QUIC_VERSION
MVFST_VERSION_0F=0xfaceb00F,
//IETF
IQUIC_VERSION_RFC9000=0x00000001,
IQUIC_VERSION_I001=0xFF000001,
IQUIC_VERSION_I002=0xFF000002,
IQUIC_VERSION_I003=0xFF000003,

View File

@@ -18,6 +18,13 @@ int quic_version_int2string(unsigned int version, char *buff, int buff_len)
return 1;
}
if(version==IQUIC_VERSION_RFC9000)
{
snprintf(buff, buff_len, "IETF QUIC RFC9000");
return 1;
}
if(version>=IQUIC_VERSION_I001 && version<=IQUIC_VERSION_I032)
{
snprintf(buff, buff_len, "IETF QUIC %02d", (((version>>16)&0x000000FF)*10) + (((version>>8)&0x000000FF)*10) + (version&0x000000FF));