aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2018-01-03 08:04:43 +0100
committerAnders Broman <a.broman58@gmail.com>2018-01-03 12:00:39 +0000
commitb10179faf2706cc4182534f93b571b30fef4505b (patch)
treed71317d881bd68727b8a2d252aaea49ab2ec074c
parentdf6b67d54d1bd8d7dbba132d9d58dc50afbb1116 (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.c7
-rw-r--r--epan/dissectors/packet-ssl-utils.h9
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 } \
}
/* }}} */