diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2018-01-03 08:04:43 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-01-03 12:00:39 +0000 |
commit | b10179faf2706cc4182534f93b571b30fef4505b (patch) | |
tree | d71317d881bd68727b8a2d252aaea49ab2ec074c | |
parent | df6b67d54d1bd8d7dbba132d9d58dc50afbb1116 (diff) |
TLS(QUIC): Add ACK_delay_exponent parameter from draft-07
Bug: 13881
Change-Id: I56ac681174e4058c4d4fefe40084905538222c1b
Reviewed-on: https://code.wireshark.org/review/25119
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | epan/dissectors/packet-ssl-utils.c | 7 | ||||
-rw-r--r-- | epan/dissectors/packet-ssl-utils.h | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ssl-utils.c b/epan/dissectors/packet-ssl-utils.c index ae4a3fa782..725aedb6f4 100644 --- a/epan/dissectors/packet-ssl-utils.c +++ b/epan/dissectors/packet-ssl-utils.c @@ -1430,6 +1430,7 @@ const value_string quic_transport_parameter_id[] = { { SSL_HND_QUIC_TP_OMIT_CONNECTION_ID, "omit_connection_id" }, { SSL_HND_QUIC_TP_MAX_PACKET_SIZE, "max_packet_size" }, { SSL_HND_QUIC_TP_STATELESS_RESET_TOKEN, "stateless_reset_token" }, + { SSL_HND_QUIC_TP_ACK_DELAY_EXPONENT, "ack_delay_exponent" }, { 0, NULL } }; @@ -6595,6 +6596,12 @@ ssl_dissect_hnd_hello_ext_quic_transport_parameters(ssl_common_dissect_t *hf, tv tvb, offset, 16, ENC_BIG_ENDIAN); offset += 16; break; + case SSL_HND_QUIC_TP_ACK_DELAY_EXPONENT: + proto_tree_add_item(parameter_tree, hf->hf.hs_ext_quictp_parameter_ack_delay_exponent, + tvb, offset, 1, ENC_BIG_ENDIAN); + /*TODO display multiplier (x8) and expert info about invaluid value (> 20) ? */ + offset += 1; + break; default: offset += parameter_length; /*TODO display expert info about unknown ? */ diff --git a/epan/dissectors/packet-ssl-utils.h b/epan/dissectors/packet-ssl-utils.h index 418f4fabe3..a984c580a0 100644 --- a/epan/dissectors/packet-ssl-utils.h +++ b/epan/dissectors/packet-ssl-utils.h @@ -212,6 +212,7 @@ typedef enum { #define SSL_HND_QUIC_TP_OMIT_CONNECTION_ID 4 #define SSL_HND_QUIC_TP_MAX_PACKET_SIZE 5 #define SSL_HND_QUIC_TP_STATELESS_RESET_TOKEN 6 +#define SSL_HND_QUIC_TP_ACK_DELAY_EXPONENT 7 /* * Lookup tables */ @@ -898,6 +899,7 @@ typedef struct ssl_common_dissect { gint hs_ext_quictp_parameter_idle_timeout; gint hs_ext_quictp_parameter_max_packet_size; gint hs_ext_quictp_parameter_stateless_reset_token; + gint hs_ext_quictp_parameter_ack_delay_exponent; /* do not forget to update SSL_COMMON_LIST_T and SSL_COMMON_HF_LIST! */ } hf; @@ -1105,7 +1107,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, -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, \ @@ -1905,6 +1907,11 @@ ssl_common_dissect_t name = { \ { "stateless_reset_token", prefix ".quic.parameter.stateless_reset_token", \ FT_BYTES, BASE_NONE, NULL, 0x00, \ "Used in verifying a stateless reset", HFILL } \ + }, \ + { & name .hf.hs_ext_quictp_parameter_ack_delay_exponent, \ + { "ack_delay_exponent", prefix ".quic.parameter.ack_delay_exponent", \ + FT_UINT8, BASE_DEC, NULL, 0x00, \ + "Indicating an exponent used to decode the ACK Delay field in the ACK frame,", HFILL } \ } /* }}} */ |