diff --git a/src/gquic_process.c b/src/gquic_process.c index 5d433b1..3479d14 100644 --- a/src/gquic_process.c +++ b/src/gquic_process.c @@ -480,7 +480,10 @@ enum _QUIC_VERSION is_quic_protocol(struct streaminfo *pstream, struct _quic_con (quic_version==GQUIC_VERSION_Q099) || (quic_version==PICOQUIC_VERSION_30) || (quic_version==PQUIC_VERSION_PROX) || + (quic_version==GQUIC_VERSION_T099) || (quic_version>=GQUIC_VERSION_Q048 && quic_version<=GQUIC_VERSION_Q050) || + (quic_version>=GQUIC_VERSION_T048&& quic_version<=GQUIC_VERSION_T049) || + (quic_version>=GQUIC_VERSION_T050&& quic_version<=GQUIC_VERSION_T059) || (quic_version>=QUANT_VERSION_00 && quic_version<=QUANT_VERSION_FF) || (quic_version>=QUIC_GO_VERSION_00 && quic_version<=QUIC_GO_VERSION_FF) || (quic_version>=QUICLY_VERSION_00 && quic_version<=QUICLY_VERSION_FF) || diff --git a/src/gquic_process.h b/src/gquic_process.h index e68ed8b..8552873 100644 --- a/src/gquic_process.h +++ b/src/gquic_process.h @@ -231,6 +231,17 @@ enum _QUIC_VERSION GQUIC_VERSION_Q099=0x51303939, + //Google QUIC with TLS 48 - 49 (T048 - T049) + GQUIC_VERSION_T048=0x54303438, + GQUIC_VERSION_T049=0x54303439, + + //Google QUIC with TLS 50 - 59 (T050 - T059) + GQUIC_VERSION_T050=0x54303530, + GQUIC_VERSION_T059=0x54303539, + + //Google QUIC with TLS 99 (T099) + GQUIC_VERSION_T099=0x54303939, + //Google Proxied QUIC PQUIC_VERSION_PROX=0x50524f58, diff --git a/src/quic_version.cpp b/src/quic_version.cpp index f4a19ae..635943a 100644 --- a/src/quic_version.cpp +++ b/src/quic_version.cpp @@ -12,6 +12,12 @@ int quic_version_int2string(unsigned int version, char *buff, int buff_len) return 1; } + if(version>=GQUIC_VERSION_T048 && version<=GQUIC_VERSION_T099) + { + snprintf(buff, buff_len, "Google QUIC with TLS %02d", (((version>>8)&0x0000000F)*10) + (version&0x0000000F)); + 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));