QUIC: add support for Facebook QUIC variant mvfst

Fix decryption of the Initial Packet for Facebook mvfst, based on IETF
QUIC draft -22.

Bug: 16378
Change-Id: I023738f792a68fe020d780e0caee7c6046fe5ca8
Reviewed-on: https://code.wireshark.org/review/36089
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
Peter Wu 2020-02-13 00:53:43 +00:00 committed by Alexis La Goutte
parent 401098d5c3
commit eca4bc5682
1 changed files with 5 additions and 0 deletions

View File

@ -322,6 +322,10 @@ static inline guint8 quic_draft_version(guint32 version) {
if ((version >> 8) == 0xff0000) {
return (guint8) version;
}
/* Facebook mvfst, based on draft -22. */
if (version == 0xfaceb001) {
return 22;
}
return 0;
}
@ -333,6 +337,7 @@ static inline gboolean is_quic_draft_max(guint32 version, guint8 max_version) {
const value_string quic_version_vals[] = {
{ 0x00000000, "Version Negotiation" },
{ 0x51303434, "Google Q044" },
{ 0xfaceb001, "Facebook mvfst (draft-22)" },
{ 0xff000004, "draft-04" },
{ 0xff000005, "draft-05" },
{ 0xff000006, "draft-06" },