Fulko Hew wrote:
> As the subject line asks, is there a function I can invoke in a
> dissector to change the way the bottom pane of the display opperates.

No.

> I'd like to affect two different things:
> 
> 1/ I'd like all the data to be masked first before being displayed as hex
>       (just like stripping a parity bit)

If the data has to have that bit stripped before being processed by the 
dissector, you should consider having the dissector generate a new 
raw-data tvbuff containing the processed data, and do the dissection on 
that tvbuff.  The raw-data tvbuff, if the right calls are made, will 
show up as a tab in the third pane.

See, for example, dissect_icqv5Client() in epan/dissectors/packet-icq.c, 
which takes a tvbuff with encrypted data and generates a new tvbuff with 
the decrypted data.

> 2/ I need to be able to send the data through a translate table before
>    being displayed as ASCII.  (ie like EBCDIC to ASCII, but its not EBCDIC)

The short-term fix would be to add one or more new encodings to the 
"char_enc" enum in epan/packet.h (note that it's stored in a 2-bit 
bitfield, so if you need more than two encodings, you'll need to widen 
that bitfield), have your dissector set pinfo->fd->flags.encoding to the 
new value, and update packet_hex_print_common() in gtk/proto_draw.c and 
print_hex_data_buffer() in print.c to know about the new encodings.

A more general mechanism would be useful (along with a general mechanism 
for handling character encodings in strings; the two mechanisms might 
share some things, e.g. the encoding tags).
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to