Ethereal-dev: Re: [Ethereal-dev] [Patch] tethereal -z tcp,close

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Jason House <jhouse@xxxxxxxxx>
Date: Tue, 26 Nov 2002 17:44:05 -0500
I don't think it has made it into there yet.
Originally, I left out a diff on packet-tcp.c (attached to this e-mail)
If you want to play with tcp,close all the required patches should now
be available on the ethereal-dev list.

There is another reason why it might not have made its way into the
CVS... It did not use the normal mechanism for a tap to function...
The idea is that a protocol should share the tap-specific data rather
than have the data extracted from the protocol tree (either manually
or via the filtering mechanism)

The changes required to make tcp,close work the way Ronnie originally
envisioned will make it easier to code other tcp tap listeners.
I will, at the very least, look at the code for tcp sequence analysis
and see if there is a convenient way to move the analysis over to a
tap...

I think the porting of that over to a tap will cause some interesting
tap draw discussion since the tcp sequence number analysis outputs
information on a per-packet basis... that's not how draw() is
conventionally used.  If the tap simple does what it wants to in the
tap routine, then redissecting the packet would cause a loss of the
tap listener output... I would think that such functionality as a
tap would be desirable for various taps, so it will be interesting
to see how that issue resolves itself in the list...



"J.Smith" wrote:
> 
> Hi.
> 
> Just wondering, 'cause this seems like interesting stuff  ...
> Did any of this ever make it into CVS ?
> ( because I can't seem to find it ;)
> 
> Sincerely,
> J.Smith
Index: packet-tcp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-tcp.c,v
retrieving revision 1.166
diff -r1.166 packet-tcp.c
44a45,48
> #include "tap.h"
> 
> static int tcp_tap = -1;
> 
2132a2137
>   tap_queue_packet(tcp_tap, pinfo, NULL);
2324a2330
> 	tcp_tap = register_tap("tcp");