From 8f496ad4ded0ef9d0e4daaf1f6840f473c6e388a Mon Sep 17 00:00:00 2001 From: Christopher Farman Date: Mon, 29 Oct 2018 14:32:33 +0000 Subject: Update couchbase dissector for new expiration format Adding delete time to the expirtation packet Change-Id: I1881892122182a7656bde5b93e2de969f6f1b615 Reviewed-on: https://code.wireshark.org/review/30404 Reviewed-by: Jim Walker Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-couchbase.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/epan/dissectors/packet-couchbase.c b/epan/dissectors/packet-couchbase.c index fdbf7b4482..f0ac57f5ea 100644 --- a/epan/dissectors/packet-couchbase.c +++ b/epan/dissectors/packet-couchbase.c @@ -1277,6 +1277,28 @@ dissect_extras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } break; case PROTOCOL_BINARY_DCP_EXPIRATION: + if (extlen) { + if (request) { + proto_tree_add_item(extras_tree, hf_extras_by_seqno, tvb, offset, 8, ENC_BIG_ENDIAN); + offset += 8; + proto_tree_add_item(extras_tree, hf_extras_rev_seqno, tvb, offset, 8, ENC_BIG_ENDIAN); + offset += 8; + if (extlen == 20) { + proto_tree_add_item(extras_tree, hf_extras_delete_time, tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + } else { + // Handle legacy expiration packet (despite its lack of use) + proto_tree_add_item(extras_tree, hf_extras_nmeta, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + } + } else { + illegal = TRUE; + } + } else if (request) { + /* Request must have extras */ + missing = TRUE; + } + break; case PROTOCOL_BINARY_DCP_FLUSH: if (extlen) { if (request) { -- cgit v1.2.3