aboutsummaryrefslogtreecommitdiffstats
path: root/packet-tr.c
AgeCommit message (Collapse)AuthorFilesLines
1999-09-09Removed two cases where protocol decoding assumed that the data in theGilbert Ramirez1-2/+5
packets were correct. Bad packets could cause segfaults. svn path=/trunk/; revision=641
1999-08-27Changed packet-tr.c to insert tr.sr, a FT_BOOLEAN field, only if tr.srGilbert Ramirez1-2/+4
is true. The test for truth now becomes a test for existence. The dfilter grammar no longer recognizes 'true' and 'false', since you can now check a boolean field via: tr.sr or by its negation: !tr.sr svn path=/trunk/; revision=591
1999-08-27The token-ring decoder now takes into account some really garbledGilbert Ramirez1-25/+112
TR packets that are seen on Linux 2.0 boxes (viewing your own packets before they get to the wire). Thanks to Tom Gallagher <Tom.Gallagher@madge.com> for providing the patch. svn path=/trunk/; revision=589
1999-08-24Removed unnecessary #include "etypes.h" lines.Gilbert Ramirez1-2/+1
svn path=/trunk/; revision=565
1999-08-20Add support for reading Full Frontal ATM from an ATM Sniffer captureGuy Harris1-52/+59
file, instead of throwing out all but LANE or RFC 1483 data frames and pretending that the former are just Ethernet or Token-Ring frames. Add some level of decoding for ATM LANE, but not all of it; the rest, including decoding non-LANE frames, is left as an exercise for somebody who has captures they want to decode, an interest in decoding them, ATM expertise, and time.... svn path=/trunk/; revision=523
1999-08-10Fixed a bug in displaying RIF ring/bridge pairs.Gilbert Ramirez1-7/+4
svn path=/trunk/; revision=456
1999-08-01Changed the display filter scanner from GLIB's GScanner to lex. The codeGilbert Ramirez1-12/+1
as it standed depends on your lex being flex, but that only matters if you're a developer. The distribution will include the dfilter-scanner.c file, so that if the user doesn't modify dfilter-scanner.l, he won't need flex to re-create the *.c file. The new lex scanner gives me better syntax checking for ether addresses. I thought I could get by using GScanner, but it simply wasn't powerful enough. All operands have English-like abbreviations and C-like syntax: and, && ; or, || ; eq, == ; ne, != ; , etc. I removed the ETHER_VENDOR type in favor of letting the user use the [x:y] notation: ether.src[0:3] == 0:6:29 instead of ether.srcvendor == 00:06:29 I implemented the IPXNET field type; it had been there before, but was not implemented. I chose to make it use integer values rather than byte ranges, since an IPX Network is 4 bytes. So a display filter looks like this: ipx.srcnet == 0xc0a82c00 rather than this: ipx.srcnet == c0:a8:2c:00 I can supposrt the byte-range type IPXNET in the future, very trivially. I still have more work to do on the parser though. It needs to check ranges when extracting byte ranges ([x:y]) from packets. And I need to get rid of those reduce/reduce errors from yacc! svn path=/trunk/; revision=414
1999-07-29Made the protocol (but not the fields) use the new proto_tree routine,Gilbert Ramirez1-22/+22
allowing users to filter on the existence of these protocols. I also added packet-clip.c to the Nmake makefile. svn path=/trunk/; revision=402
1999-07-15Modified the proto_register_field_array usage again. Thanks to Guy'sGilbert Ramirez1-22/+61
suggestion, this new method using a static array should use less memory and be faster. It also has a nice side-effect of making the source-code more readble, IMHO. Changed the print routines to look for protocol proto_data instead of looking at the text label as they did before, hoping that the data hex dump field item starts with "Data (". Added the -G keyword to ethereal to make it dump a glossary of display filter keywords to stdout and exit. This data is then formatted with the doc/dfilter2pod perl program to pod format, which is combined with doc/ethereal.pod.template to create doc/ethereal.pod, from which the ethereal manpage is created. This way we can keep the manpage up-to-date with a list of fields that can be filtered on. svn path=/trunk/; revision=364
1999-07-07Created a new protocol tree implementation and a new display filterGilbert Ramirez1-107/+143
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-06-16Found a small bug in how the Token-Ring code tried to be smart and lookedGilbert Ramirez1-3/+3
for RIF bytes w/o the source-route bit being set. svn path=/trunk/; revision=316
1999-06-14Changed the Access Control and Frame Control fields in the Token-Ring headerGilbert Ramirez1-15/+44
to use the decode_*_bitfield() routines. This needed to happen anyway, but I finally made the change so that I can figure out how I'm going to handle bitfield fields in my experiment of changing the implementation of the protocol tree in ethereal. svn path=/trunk/; revision=311
1999-03-23Removed all references to gtk objects from packet*.[ch] files. They nowGilbert Ramirez1-38/+26
reference the protocol tree with struct proto_tree and struct proto_item objects. That way, the packet decoding source code file can be used with non-gtk packet decoders, like a curses-based ethereal, e.g. I also re-arranged some of the information in packet.h to more appropriate places (like other packet-*.[ch] files). svn path=/trunk/; revision=223
1999-03-01Small fixes for alignment, and #include for gtk+-1.1.x/glib-1.1.xGilbert Ramirez1-3/+3
svn path=/trunk/; revision=197
1999-02-09When doing a capture, decode enough of the incoming packets to correctlyGuy Harris1-1/+95
update the packet counts and percentages in the dialog box popped up during a capture, even for non-Ethernet captures. svn path=/trunk/; revision=184
1999-01-08A bad frame control value could crash ethereal because I didn't doGilbert Ramirez1-5/+15
proper bounds checking. Fixed. svn path=/trunk/; revision=164
1998-11-17* Added column formatting functionality.Gerald Combs1-7/+9
* Added check_col(), add_col_str() and add_col_fmt() to replace references to ft->win_info. * Added column prefs handling code. svn path=/trunk/; revision=97
1998-11-12A lengthy patch to add the wiretap library. Wiretap is not used by defaultGilbert Ramirez1-2/+1
because it is still in its infancy, but it can be compiled in optionally. The library exists in its own subdirectory ethereal/wiretap. This patch also edits all the packet-*.c files to remove the #include <pcap.h> line which is unnecessary in these files. In the ethereal code, file.c is the most heavily modified with #ifdef WITH_WIRETAP lines for the optional library. svn path=/trunk/; revision=82
1998-10-13Commented out a left-over debug printf() statement.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=41
1998-09-27Merged in a _huge_ patch from Guy Harris. It adds a time stap column,Gerald Combs1-8/+8
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-17I cleaned up the TR code by using variables that correspond to the TR headerGilbert Ramirez1-42/+92
fields. I got rid of a lot of pd[x] type stuff. I also made the TR code a bit smarter again. With Linux 2.0.x and oltr, the source-route bit is cleared before we get it. I can now detect more packets that were source- routed but had their SR bit cleared. svn path=/trunk/; revision=16
1998-09-17Re-added fixes after cvs tree was changed.Gilbert Ramirez1-7/+12
svn path=/trunk/; revision=11
1998-09-16Added ID tags to the beginning of each source file.Gerald Combs1-0/+2
svn path=/trunk/; revision=7
1998-09-16Initial revisionGerald Combs1-0/+253
svn path=/trunk/; revision=2