aboutsummaryrefslogtreecommitdiffstats
path: root/follow.c
AgeCommit message (Collapse)AuthorFilesLines
2004-07-18Set the svn:eol-style property on all text files to "native", so thatGuy Harris1-1/+1
they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. svn path=/trunk/; revision=11400
2004-01-23Move struct tcp_frag from follow.h to follow.c as it wasn't used anywereJörg Mayer1-1/+11
else. Fix a trivial signed/unsigned warning in follow.c by changing tcp_frag.data from guchar* to gchar* svn path=/trunk/; revision=9796
2003-07-06From Gregory Stark: fix up the check for packets not in a givenGuy Harris1-7/+15
connection to check for addresses and ports at the same time, rather then checking the source addresses, destination addresses, and ports separately, as the latter doesn't handle A:X->B:Y and B:X->A:Y both being active connections. svn path=/trunk/; revision=7966
2002-12-02Don't cast away constness, and fix variable and structure memberGuy Harris1-3/+3
qualifiers as necessary to ensure that we don't have to. "strcmp()", "strcasecmp()", and "memcmp()" don't return booleans; don't test their results as if they did. Use "guint8", not "guchar", for a pointer to (one or more) 8-bit bytes. Update Michael Tuexen's e-mail address. svn path=/trunk/; revision=6726
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-28/+28
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-15/+11
equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
2002-02-28In follow.c, initialize data_out_file to NULL, as it used toGilbert Ramirez1-2/+2
be initialized in gtk/follow_dlg.c In gtk/follow_dlg.c, declare data_out_file as 'extern'. In tethereal.c, no longer define 'data_out_file', as the storage for it is now in follow.c. svn path=/trunk/; revision=4830
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-4/+3
"epan/..." pathnames, so as to avoid collisions with header files in any of the directories in which we look (e.g., "proto.h", as some other package has its own "proto.h" file which it installs in the top-level include directory). Don't add "-I" flags to search "epan", as that's no longer necessary (and we want includes of "epan" headers to fail if the "epan/" is left out, so that we don't re-introduce includes lacking "epan/"). svn path=/trunk/; revision=4586
2001-05-24Fix to TCP reassembly code for retransmitted data, from Edgar Iglesias.Guy Harris1-1/+2
svn path=/trunk/; revision=3447
2000-08-24Do not malloc a TCP fragment for a packet that does not contain data.Laurent Deniel1-2/+2
svn path=/trunk/; revision=2364
2000-08-11- add ipv6.addr for the source and destination addresses (like ipv4)Laurent Deniel1-21/+43
- implement the TCP follow feature for TCP over IPv6 svn path=/trunk/; revision=2258
2000-08-09In TCP Follow window, allow the optional showing of:Gilbert Ramirez1-6/+22
Entire Conversation Client -> Server packets Server -> Client packets Have "Save As" button work as a "Print to File" button; it asks for a filename and uses the same routine that "Print" uses to save the file. What you see in the window is what you get in the file. So, you can get any of the above conversations/soliloquies combined with: ASCII EBCDIC Hex Dump svn path=/trunk/; revision=2232
2000-08-03Add a "Save As" feature to the TCP Follow dialogue, to save the streamGilbert Ramirez1-2/+2
file to a user-specified file. Move the file-copy routine in save_cap_file() to an indepenent function in file.c (copy_binary_file()) so that follow_dlg.c can use it. Remove #include "follow.h" from the C files that don't need it. svn path=/trunk/; revision=2200
2000-07-07Use "progdlg_t *" rather than "void *" as the handle for a progressGuy Harris1-3/+3
dialog box; that lets us do some type-checking, but we can still typedef it to an incompletely-defined structure to hide the implementation details from the caller. Make "create_progress_dlg()" take, as an argument, the title to put in the "stop the operation" button, and use "Stop" rather than "Cancel" if stopping the operation doesn't undo all the work it's done. Thaw the clist if we break out of a "read the file" operation, as we freeze it before the operation. svn path=/trunk/; revision=2121
2000-03-12In the TCP stream following code, we don't use the time stamp field inGuy Harris1-13/+20
the stuff we write to the temporary file, so don't bother writing it. Keep track of the two sides of the TCP stream by keeping track of the source address *and* port, so that we correctly handle connections between two ports on the same machine. svn path=/trunk/; revision=1712
1999-12-10Remove unnecessary gtk-related #includes.Gilbert Ramirez1-3/+1
svn path=/trunk/; revision=1274
1999-12-02Remove the check for cs->dlen > 0. We want to log the first (zero length)Gerald Combs1-4/+1
packet, since that tells us the direction of the connection. svn path=/trunk/; revision=1178
1999-11-28Add code to colorize TCP streams.Gerald Combs1-12/+26
svn path=/trunk/; revision=1131
1999-11-18Clean up some ANSI C nits pointed out by "gcc -pedantic".Guy Harris1-3/+3
svn path=/trunk/; revision=1060
1999-10-22Generalize the "ip_src" and "ip_dst" members of the "packet_info"Guy Harris1-10/+18
structure to "dl_src"/"dl_dst", "net_src"/"net_dst", and "src"/"dst" addresses, where an address is an address type, an address length in bytes, and a pointer to that many bytes. "dl_{src,dst}" are the link-layer source/destination; "net_{src,dst}" are the network-layer source/destination; "{src,dst}" are the source/destination from the highest of those two layers that we have in the packet. Add a port type to "packet_info" as well, specifying whether it's a TCP or UDP port. Don't set the address and port columns in the dissector functions; just set the address and port members of the "packet_info" structure. Set the columns in "fill_in_columns()"; this means that if we're showing COL_{DEF,RES,UNRES}_SRC" or "COL_{DEF,RES,UNRES}_DST", we only generate the string from "src" or "dst", we don't generate a string for the link-layer address and then overwrite it with a string for the network-layer address (generating those strings costs CPU). Add support for "conversations", where a "conversation" is (at present) a source and destination address and a source and destination port. (In the future, we may support "conversations" above the transport layer, e.g. a TFTP conversation, where the first packet goes from the client to the TFTP server port, but the reply comes back from a different port, and all subsequent packets go between the client address/port and the server address/new port, or an NFS conversation, which might include lock manager, status monitor, and mount packets, as well as NFS packets.) Currently, all we support is a call that takes the source and destination address/port pairs, looks them up in a hash table, and: if nothing is found, creates a new entry in the hash table, and assigns it a unique 32-bit conversation ID, and returns that conversation ID; if an entry is found, returns its conversation ID. Use that in the SMB and AFS code to keep track of individual SMB or AFS conversations. We need to match up requests and replies, as, for certain replies, the operation code for the request to which it's a reply doesn't show up in the reply - you have to find the request with a matching transaction ID. Transaction IDs are per-conversation, so the hash table for requests should include a conversation ID and transaction ID as the key. This allows SMB and AFS decoders to handle IPv4 or IPv6 addresses transparently (and should allow the SMB decoder to handle NetBIOS atop other protocols as well, if the source and destination address and port values in the "packet_info" structure are set appropriately). In the "Follow TCP Connection" code, check to make sure that the addresses are IPv4 addressses; ultimately, that code should be changed to use the conversation code instead, which will let it handle IPv6 transparently. svn path=/trunk/; revision=909
1999-09-09More shuffling of GTK-related files to gtk subdirectory.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=635
1999-07-31Fix TCP follow stream feature:Laurent Deniel1-2/+19
- call reset_tcp_reassembly before build_follow_filter - modify reassemble_tcp so that packet validity is checked before processing it. svn path=/trunk/; revision=410
1999-07-31Remove srcip and destip from packet_info since it is not safe to affectLaurent Deniel1-3/+6
string pointer from the result of ip_to_str (statically allocated string). Use the ip_src and the new field ip_dst in follow.c to build a correct string display filter. svn path=/trunk/; revision=408
1999-07-17Added just enough fields to TCP to support "Follow TCP Stream". It works now.Gilbert Ramirez1-3/+3
Added the protocol IDs for ipx and IGMP, but not their fields. svn path=/trunk/; revision=365
1999-07-13Added support for compiling on win32 with Visual C and 'nmake'. It compiles,Gilbert Ramirez1-1/+3
but does not link. Perhaps someone who understands the MS tools can help out. I made it link a few months ago, but with different version of glib/gtk+. I can't remember how I made it link. Most of the compatibility issues were resolved with adding #ifdef HAVE_UNISTD_H the the source code. Please be sure to add this to all future code. svn path=/trunk/; revision=359
1999-07-07Created a new protocol tree implementation and a new display filterGilbert Ramirez1-1/+2
mechanism that is built into ethereal. Wiretap is now used to read all file formats. Libpcap is used only for capturing. svn path=/trunk/; revision=342
1999-07-07From Jason Lango <jal@netapp.com>, a fix to a long-standing problemGuy Harris1-4/+7
(which could cause core dumps in "Follow TCP Stream") - "check_fragments()" was, when deleting a TCP segment at the beginning of the list of segments, setting "src[index]" to point to the next segment, not "frags[index]". "src[index]" is the source IP address, not a pointer to a fragment. Also, make some routines not used outside "follow.c" static. svn path=/trunk/; revision=341
1999-06-25In my haste to get rid of the compilation warning, I converted theGilbert Ramirez1-2/+2
pointer to a signed int instead of an unsigned int. In my testing the code still worked, but it's better to do the conversion correctly. svn path=/trunk/; revision=331
1999-06-23Finally! Got rid of compilation warning about converting pointer to intGilbert Ramirez1-2/+2
in line 198. svn path=/trunk/; revision=328
1999-03-23Fixes to the TCP reassembly code to correctly handle too shortLaurent Deniel1-8/+34
caplen or incomplete data (avoid crashes or erroneous display). svn path=/trunk/; revision=227
1998-12-17A patch spread across many files to let Ethereal compile under GTK+-1.1.x.Gilbert Ramirez1-1/+3
Tests for GTK versions are done during compilation, not during "./configure". The big problems have been taken care of in this patch (functional change in the packet clist and conversion of menu_factory to item_factory), but plenty of smaller problems with dialogue boxes abound. I have fixed a small problem with file_open*(), but have left 2 comments in just in case I'm not going about this the right way. Can someone verify? svn path=/trunk/; revision=127
1998-10-28Use "memcpy()" rather than "bcopy()", to eliminate one "gcc -Wall"Guy Harris1-2/+2
warning. (We use "memcpy()" everywhere else.) svn path=/trunk/; revision=73
1998-10-10* OSPF alignment fixes (Gerald)Gerald Combs1-1/+9
* FDDI support (Laurent, Guy) svn path=/trunk/; revision=36
1998-09-27Merged in a _huge_ patch from Guy Harris. It adds a time stap column,Gerald Combs1-3/+4
generalizes the column printing code, adds a "frame" tree item to the tree view, and fixes a bunch of miscellaneous coding bugs. svn path=/trunk/; revision=31
1998-09-17* Added Mike Hall's TCP reconstruction code.Gerald Combs1-0/+197
svn path=/trunk/; revision=10