diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2020-01-15 15:46:56 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-01-16 06:40:58 +0000 |
commit | 4ad18674b734993f0ff7b1721825e4c265adf710 (patch) | |
tree | dbe20ee65f3a8c22da86eb3351f5af1d77087924 /epan | |
parent | 4ee88f3e34828d8a6ba472b6c6208b5bae2426d0 (diff) |
QUIC: Add Loss Bits Transport Parameter
https://igorlord.github.io/draft-ferrieuxhamchaoui-tsvwg-lossbits/draft-ferrieuxhamchaoui-quic-lossbits.html#name-transport-parameter
Change-Id: I05df0e025726a35e3b6eb265b0530ae0022c6764
Reviewed-on: https://code.wireshark.org/review/35820
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-tls-utils.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-tls-utils.h | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/epan/dissectors/packet-tls-utils.c b/epan/dissectors/packet-tls-utils.c index d6693023bd..9de5d2adf7 100644 --- a/epan/dissectors/packet-tls-utils.c +++ b/epan/dissectors/packet-tls-utils.c @@ -1391,6 +1391,7 @@ const value_string quic_transport_parameter_id[] = { { SSL_HND_QUIC_TP_PREFERRED_ADDRESS, "preferred_address" }, { SSL_HND_QUIC_TP_ACTIVE_CONNECTION_ID_LIMIT, "active_connection_id_limit" }, { SSL_HND_QUIC_TP_MAX_DATAGRAM_FRAME_SIZE, "max_datagram_frame_size" }, + { SSL_HND_QUIC_TP_LOSS_BITS, "loss_bits" }, { 0, NULL } }; @@ -6798,6 +6799,11 @@ ssl_dissect_hnd_hello_ext_quic_transport_parameters(ssl_common_dissect_t *hf, tv proto_item_append_text(parameter_tree, " %" G_GINT64_MODIFIER "u", value); offset += len; break; + case SSL_HND_QUIC_TP_LOSS_BITS: + proto_tree_add_item(parameter_tree, hf->hf.hs_ext_quictp_parameter_loss_bits, + tvb, offset, 1, ENC_BIG_ENDIAN); + offset += 1; + break; default: offset += parameter_length; /*TODO display expert info about unknown ? */ diff --git a/epan/dissectors/packet-tls-utils.h b/epan/dissectors/packet-tls-utils.h index 3f4f52cc7d..f758e10ff8 100644 --- a/epan/dissectors/packet-tls-utils.h +++ b/epan/dissectors/packet-tls-utils.h @@ -166,7 +166,7 @@ typedef enum { #define SSL_HND_QUIC_TP_PREFERRED_ADDRESS 13 #define SSL_HND_QUIC_TP_ACTIVE_CONNECTION_ID_LIMIT 14 #define SSL_HND_QUIC_TP_MAX_DATAGRAM_FRAME_SIZE 32 - +#define SSL_HND_QUIC_TP_LOSS_BITS 4183 /* * Lookup tables */ @@ -918,6 +918,7 @@ typedef struct ssl_common_dissect { gint hs_ext_quictp_parameter_pa_statelessresettoken; gint hs_ext_quictp_parameter_active_connection_id_limit; gint hs_ext_quictp_parameter_max_datagram_frame_size; + gint hs_ext_quictp_parameter_loss_bits; gint esni_suite; gint esni_record_digest_length; @@ -1146,7 +1147,7 @@ ssl_common_dissect_t name = { \ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \ - -1, -1, -1, -1, \ + -1, -1, -1, -1, -1, \ }, \ /* ett */ { \ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \ @@ -2032,6 +2033,11 @@ ssl_common_dissect_t name = { \ FT_UINT64, BASE_DEC, NULL, 0x00, \ NULL, HFILL } \ }, \ + { & name .hf.hs_ext_quictp_parameter_loss_bits, \ + { "loss_bits", prefix ".quic.parameter.loss_bits", \ + FT_UINT8, BASE_DEC, NULL, 0x00, \ + NULL, HFILL } \ + }, \ { & name .hf.esni_suite, \ { "Cipher Suite", prefix ".esni.suite", \ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &ssl_31_ciphersuite_ext, 0x0, \ |