diff options
author | Michael Mann <mmann78@netscape.net> | 2016-06-14 11:55:08 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-06-15 06:03:57 +0000 |
commit | 0ef1d941ea971fc4367b97ca7e7ab7a2ee9e9b88 (patch) | |
tree | 824d57e52d2cef773f6f93394483bd0f32cc94b8 /epan/dissectors/packet-tcp.c | |
parent | c19e6c24067fd0aa1ea628de85f25ef9ece08839 (diff) |
Allow control of individual columns to be (un)writable.
Most protocols just want to limit COL_INFO or COL_PROTOCOL
so give that level of granularity.
Bug: 12144
Bug: 5117
Bug: 11144
Change-Id: I8de9b7d2c69e90d3fbfc0a52c2bd78c3de58e2f8
Reviewed-on: https://code.wireshark.org/review/15894
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-tcp.c')
-rw-r--r-- | epan/dissectors/packet-tcp.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index 73399e12d1..ac7d9217a0 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -2487,7 +2487,7 @@ desegment_tcp(tvbuff_t *tvb, packet_info *pinfo, int offset, gint nbytes; proto_item *item; struct tcp_multisegment_pdu *msp; - gboolean cleared_writable = col_get_writable(pinfo->cinfo); + gboolean cleared_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL); again: ipfd_head = NULL; @@ -2932,13 +2932,10 @@ again: * PROTOCOL and INFO columns since what follows may be an * incomplete PDU and we don't want it be changed back from * <Protocol> to <TCP> - * XXX There is no good way to block the PROTOCOL column - * from being changed yet so we set the entire row unwritable. - * The flag cleared_writable stores the initial state. */ col_set_fence(pinfo->cinfo, COL_INFO); - cleared_writable |= col_get_writable(pinfo->cinfo); - col_set_writable(pinfo->cinfo, FALSE); + cleared_writable |= col_get_writable(pinfo->cinfo, COL_PROTOCOL); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE); offset += another_pdu_follows; seq += another_pdu_follows; goto again; @@ -2947,7 +2944,7 @@ again: * proto,colinfo tap will break */ if(cleared_writable) { - col_set_writable(pinfo->cinfo, TRUE); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, TRUE); } } } |