aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2018-09-17 16:41:04 +0200
committerPeter Wu <peter@lekensteyn.nl>2018-09-18 19:07:02 +0000
commite7dd7099daac58ba594bcff66e91060954e51168 (patch)
treebf02914759b727c3c885bc23a9c023705f1ec3fe /epan
parente2bd314c0b180e4a293f659a1c4ea783194fd0bd (diff)
QUIC: Add frame type on Connection Close (draft -13)
Change-Id: I94fe93236f5ff93ce15d80665ac13294d3a993ba Ping-Bug: 13881 Reviewed-on: https://code.wireshark.org/review/29698 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-quic.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/epan/dissectors/packet-quic.c b/epan/dissectors/packet-quic.c
index 8804a147cf..c8658d5baf 100644
--- a/epan/dissectors/packet-quic.c
+++ b/epan/dissectors/packet-quic.c
@@ -93,6 +93,7 @@ static int hf_quic_frame_type_rsts_stream_id = -1;
static int hf_quic_frame_type_rsts_application_error_code = -1;
static int hf_quic_frame_type_rsts_final_offset = -1;
static int hf_quic_frame_type_cc_error_code = -1;
+static int hf_quic_frame_type_cc_frame_type = -1;
static int hf_quic_frame_type_cc_reason_phrase_length = -1;
static int hf_quic_frame_type_cc_reason_phrase = -1;
static int hf_quic_frame_type_ac_error_code = -1;
@@ -899,7 +900,7 @@ dissect_quic_frame_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *quic_tree
}
break;
case FT_CONNECTION_CLOSE:{
- guint32 len_reasonphrase, error_code;
+ guint32 len_reasonphrase, len_frametype, error_code;
guint64 len_reason = 0;
col_append_fstr(pinfo->cinfo, COL_INFO, ", CC");
@@ -907,6 +908,9 @@ dissect_quic_frame_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *quic_tree
proto_tree_add_item_ret_uint(ft_tree, hf_quic_frame_type_cc_error_code, tvb, offset, 2, ENC_BIG_ENDIAN, &error_code);
offset += 2;
+ proto_tree_add_item_ret_varint(ft_tree, hf_quic_frame_type_cc_frame_type, tvb, offset, -1, ENC_VARINT_QUIC, NULL, &len_frametype);
+ offset += len_frametype;
+
proto_tree_add_item_ret_varint(ft_tree, hf_quic_frame_type_cc_reason_phrase_length, tvb, offset, -1, ENC_VARINT_QUIC, &len_reason, &len_reasonphrase);
offset += len_reasonphrase;
@@ -2509,6 +2513,11 @@ proto_register_quic(void)
FT_UINT16, BASE_DEC|BASE_EXT_STRING, &quic_error_code_vals_ext, 0x0,
"Indicates the reason for closing this connection", HFILL }
},
+ { &hf_quic_frame_type_cc_frame_type,
+ { "Frame Type", "quic.frame_type.cc.frame_type",
+ FT_UINT64, BASE_DEC, NULL, 0x0,
+ "The type of frame that triggered the error", HFILL }
+ },
{ &hf_quic_frame_type_cc_reason_phrase_length,
{ "Reason phrase Length", "quic.frame_type.cc.reason_phrase.length",
FT_UINT64, BASE_DEC, NULL, 0x0,