----- Original Message -----
From: "Guy Harris"
Subject: Re: [Ethereal-dev] TFTP
> > Ther new TFTP dissector, couldnt that one use TCP reassembly?
>
> Given that TFTP runs atop UDP, not TCP, no, it couldn't.
>
> > Show the payload data, i.e. the entire file content in its own view.
(with a
> > Save As... menu item :-)
>
> That's different from TCP reassembly - that's file-transfer-protocol
> reassembly, which would certainly be interesting, but TCP reassembly is
> neither necessary nor sufficient to implement it.
>
> And dissectors can't currently add menu items - or directly pop up
> windows, as they might be part of a program that is not linked with a
> library that supports menus or any other GUI stuff. (The name of that
> program begins with "t"....)
>
> I'd be inclined to have, in the "gtk" directory, code to implement some
> level of "reassemble payload" menu item, and provide a mechanism by
> which a dissector could mark the current frame as supporting a
> "reassemble payload" option, and somehow arranging to have a callback to
> code in the dissector source file if that option is selected.
Something thast might be nice in the future would be something allowing a
dissector to
indicate when it is executed that it wants to supply a additional menu item.
Like, when a packet is selected, the dissectors for that packet are executed
and the dissectors which have
additional menuitems/functions it offers to ethereal could be reported.
simple example:
The user selects packet 5 in the capture,
Ethereal executes all code for the dissectors for that packet, however, the
packet actually contained part of an NFS read/write
operation.
Assuming the NFS dissector is capable of reassembly of files and the NFS
dissector sees that this packet belongs to a completely
dissected NFS file, then the NFS dissector could indicate something like :
I_have_additional_functionality_to_offer_on_popup_menu_while_this_packet_sta
ys_selected(
<some NFS specific identifier to the file>,
"Save NFS file as...",
callback
)
If the user selects a different packet, all these reported extra
functionality is reset.
This is something that I would like for NFS in the future.
Obviously this would not be accessible from tethereal, but I think that the
tethereal and ethereal are very different tools
with very (non-overlapping) fields of use.
(IMHO tethereal is something for real-time logging similar to tcpdump
while ethereal is mainly for off-line analysis and x-referencing of
existing capture files)