aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tcp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-06-14 11:55:08 -0400
committerAnders Broman <a.broman58@gmail.com>2016-06-15 06:03:57 +0000
commit0ef1d941ea971fc4367b97ca7e7ab7a2ee9e9b88 (patch)
tree824d57e52d2cef773f6f93394483bd0f32cc94b8 /epan/dissectors/packet-tcp.c
parentc19e6c24067fd0aa1ea628de85f25ef9ece08839 (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.c11
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);
}
}
}