aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2018-11-02 20:58:32 +0100
committerAnders Broman <a.broman58@gmail.com>2018-11-14 13:26:53 +0000
commit9bd1c8f1550cf97e127c71ee544d6b8dcbf75e32 (patch)
tree1d08901e4f4ced299c704991db6f3b83507787ea /epan
parentd40d9671e516e4322b95b229a22845773cbf9216 (diff)
QUIC: Add RETIRE_CONNECTION_ID frame type (draft -15)
Change-Id: If181e89a70044db6d429e2066db6bd8869968ef3 Ping-Bug: 13881 Reviewed-on: https://code.wireshark.org/review/30492 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-quic.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/epan/dissectors/packet-quic.c b/epan/dissectors/packet-quic.c
index db5ed68d6d..dee8516dde 100644
--- a/epan/dissectors/packet-quic.c
+++ b/epan/dissectors/packet-quic.c
@@ -130,6 +130,7 @@ static int hf_quic_frame_type_ae_ack_block_count = -1;
static int hf_quic_frame_type_ae_fab = -1;
static int hf_quic_frame_type_ae_gap = -1;
static int hf_quic_frame_type_ae_ack_block = -1;
+static int hf_quic_frame_type_rci_sequence = -1;
static expert_field ei_quic_connection_unknown = EI_INIT;
static expert_field ei_quic_ft_unknown = EI_INIT;
@@ -1132,8 +1133,8 @@ dissect_quic_frame_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *quic_tree
proto_item_append_text(ti_ft, " Error code: 0x%04x", error_code);
}
break;
- case FT_ACK_OLD:{
- if (is_quic_draft_max(quic_info->version, 14)) {
+ case FT_RETIRE_CONNECTION_ID:{
+ if (is_quic_draft_max(quic_info->version, 14)) { /* FT_ACK_OLD */
guint64 ack_block_count;
guint32 lenvar;
@@ -1165,6 +1166,10 @@ dissect_quic_frame_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *quic_tree
ack_block_count--;
}
+ } else {
+ guint32 len_sequence;
+ proto_tree_add_item_ret_varint(ft_tree, hf_quic_frame_type_rci_sequence, tvb, offset, -1, ENC_VARINT_QUIC, NULL, &len_sequence);
+ offset += len_sequence;
}
}
break;
@@ -2905,6 +2910,13 @@ proto_register_quic(void)
FT_UINT64, BASE_DEC, NULL, 0x0,
"Indicating the number of contiguous acknowledged packets preceding the largest packet number, as determined by the preceding Gap", HFILL }
},
+
+ /* RETIRE_CONNECTION_ID */
+ { &hf_quic_frame_type_rci_sequence,
+ { "Sequence", "quic.frame_type.rci.sequence",
+ FT_UINT64, BASE_DEC, NULL, 0x0,
+ "The sequence number of the connection ID being retired", HFILL }
+ },
};
static gint *ett[] = {