From f44e082fa8403023425e27b28cb295f4e40e34e6 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 25 Aug 2014 16:02:07 +0200 Subject: RPKI RTR: Wrong decoding of RPKI RTR End of Data PDU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The decoding of the End of Data PDU ignores the Serial Number, i.e., the last 32 bit of this PDU. Instead of that the current dissector implementation starts to decode a new RTR PDU. Details of packet format see http://tools.ietf.org/html/rfc6810#section-5.8 Found by Matthias Wählisch Bug: 10411 Change-Id: I8451b5fbda18a034022b97ff442ddb2a2dabed7b Reviewed-on: https://code.wireshark.org/review/3832 Reviewed-by: Alexis La Goutte --- epan/dissectors/packet-rpki-rtr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epan/dissectors/packet-rpki-rtr.c b/epan/dissectors/packet-rpki-rtr.c index e3c27be8bc..6f0aa3157b 100644 --- a/epan/dissectors/packet-rpki-rtr.c +++ b/epan/dissectors/packet-rpki-rtr.c @@ -149,6 +149,7 @@ static int dissect_rpkirtr_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr switch (pdu_type) { case RPKI_RTR_SERIAL_NOTIFY_PDU: /* Serial Notify (0) */ case RPKI_RTR_SERIAL_QUERY_PDU: /* Serial Query (1) */ + case RPKI_RTR_END_OF_DATA_PDU: /* End Of Data (7) */ proto_tree_add_item(rpkirtr_tree, hf_rpkirtr_session_id, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; proto_tree_add_item(rpkirtr_tree, hf_rpkirtr_length, tvb, offset, 4, ENC_BIG_ENDIAN); @@ -166,7 +167,6 @@ static int dissect_rpkirtr_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr offset += 4; break; case RPKI_RTR_CACHE_RESPONSE_PDU: /* Cache Response (3) */ - case RPKI_RTR_END_OF_DATA_PDU: /* End Of Data (7) */ proto_tree_add_item(rpkirtr_tree, hf_rpkirtr_session_id, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; proto_tree_add_item(rpkirtr_tree, hf_rpkirtr_length, tvb, offset, 4, ENC_BIG_ENDIAN); -- cgit v1.2.3