Comment # 3
on bug 11144
from Jeff Morriss
I didn't have time to look earlier, but it was actually pretty easy to find the
reason; this is in desegment_tcp():
~~~
if(another_pdu_follows) {
/* there was another pdu following this one. */
pinfo->can_desegment = 2;
/* we also have to prevent the dissector from changing the
* 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);
offset += another_pdu_follows;
seq += another_pdu_follows;
goto again;
} else {
~~~
Maybe it's worth looking into finding a way to disable writing to (only) the
PROTOCOL column? (We already have the fencing mechanism for COL_INFO.)
You are receiving this mail because:
- You are watching all bug changes.