aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Convert the seconds value to the right byte order before using it atGuy Harris1999-08-311-6/+10
| | | | | | all, not just before the third time you use it.... svn path=/trunk/; revision=613
* Fixes from Olivier Abad to the code to maintain "wth->data_offset".Guy Harris1999-08-301-7/+20
| | | | | | | Use "pletohs()" and "pletohl()" to access 16-bit and 32-bit fields in the file and packet headers, as those fields are little-endian. svn path=/trunk/; revision=612
* Now that FT_BOOLEAN display filter fields are treated differently (onlyGilbert Ramirez1999-08-302-67/+2
| | | | | | | their existence is checked), some FT_BOOLEAN-related functions in dfilter.c are no longer called. So I removed them. svn path=/trunk/; revision=611
* Fixed problem with not being able to filt on field values.Gilbert Ramirez1999-08-302-4/+7
| | | | svn path=/trunk/; revision=610
* Fix some compilation warnings.Gilbert Ramirez1999-08-292-4/+4
| | | | svn path=/trunk/; revision=609
* Removed from the display filter/proto_tree code the assumption thatGilbert Ramirez1999-08-294-91/+113
| | | | | | | | | | | | | | | a protocol occurs only once in a packet. Because of encapsulation (IP within IP), a protocol can occur more than once. I don't have a packet trace showing such a packet, but the code should handle it now. The one thing that it cannot do, though, is differentiate the levels. It might be nice to say: ip{1}.src == 192.168.1.1 && ipx{2}.dst == 10.0.0.1 In the dfilter grammar I had left IPXNET variables out of the list of variables that could be checked for existence. Now you can check for the existence of ipx.srcnet and ipx.dstnet. Hurrah. svn path=/trunk/; revision=608
* Stop processing of colorization display filters after first match.Gilbert Ramirez1999-08-283-27/+23
| | | | | | | Remove debugging statements from colors.c. Add blurb about Match Selected and Colorization to man page. svn path=/trunk/; revision=607
* Updated RSVP with Ashok's patch. Fixes code for 64-bit platforms.Gilbert Ramirez1999-08-281-4/+4
| | | | svn path=/trunk/; revision=606
* For unknown options without "syntax" errors, show the length in bytes.Guy Harris1999-08-281-8/+13
| | | | svn path=/trunk/; revision=605
* Handle unknown options in "dissect_ip_tcp_options()" better; we assumeGuy Harris1999-08-281-19/+35
| | | | | | | | | | that the only options that contain *no* length byte are the IP and TCP EOL and NOP options so that we can treat unknown options as VARIABLE_LENGTH with a minimum of 2, and at least be able to move on to the next option by using the length in the option, rather than just reporting the unknown option and processing no options after it. svn path=/trunk/; revision=604
* A slightly cleaner version - hide the "if it's the last row, the elementGuy Harris1999-08-281-88/+28
| | | | | | | | | is pointed to by 'row_list_end', otherwise use 'g_list_nth()'" stuff inside a macro. Use that macro in place of an additional "g_list_nth()" call. svn path=/trunk/; revision=603
* "CFILTERS_CONTAINS_FILTER()" should check for the presence of colorGuy Harris1999-08-281-2/+2
| | | | | | | | | filters by checking whether the structure pointed to by "cf->colors" has a non-zero "num_of_filters", not a non-null "color_filters" (the latter points to the CList widget holding the list of filters, and may be non-null even if there currently aren't any filters). svn path=/trunk/; revision=602
* PPP options in LCP, IPCP, etc. are like IP and TCP options - one octetGuy Harris1999-08-285-227/+675
| | | | | | | | | | | | | | | | | | | of option code, one octet of length (which includes the two option code and length bytes), followed by 0 or more octets of option data, with some options being fixed-length and some being variable-length. Put some stuff from the PPP control protocol option parsing code into the IP-and-TCP option parsing code, and use the latter instead of the former. (That code might also be usable for CDP as well, with some stuff added to it.) Shuffle the arguments to "dissect_ip_tcp_options()" to resemble those of various other dissectors (i.e., with the "proto_tree *" at the end). Add in code to dissect a pile of PPP options documented in various RFCs. svn path=/trunk/; revision=601
* Changed ip.flags from FT_UINT16 to FT_UINT8, and made it highlight onlyGilbert Ramirez1999-08-281-3/+3
| | | | | | one byte in the hexdump. svn path=/trunk/; revision=600
* Set protocol column to "IP" for fragmented IP packets. It was not being set atGilbert Ramirez1999-08-281-1/+3
| | | | | | the IP layer, leaving the lower layer's abbreviation in the protocol column. svn path=/trunk/; revision=599
* Removed debug printf's.Gilbert Ramirez1999-08-281-14/+1
| | | | svn path=/trunk/; revision=598
* Don't do file-read progress bar updates with a timeout; instead, updateGuy Harris1999-08-284-49/+62
| | | | | | | | | | | | | the progress bar up to 100 times, as we get another percent closer to completion. That reduces the number of times we run the GTK+ main loop; that main loop may do a "select()" or "poll()" or FIONREAD "ioctl" to check for input from the X server, adding to the CPU overhead of reading a file. The packet filtering progress bar is already updated in a similar fashion; make it also do up to 100 updates. svn path=/trunk/; revision=597
* Keep in the "wtap" structure the current offset into the file beingGuy Harris1999-08-2810-25/+82
| | | | | | | | | read, and maintain it ourselves as we read through the file, rather than calling "ftell()" for every packet we read - "ftell()" may involve an "lseek()" call, which could add a noticeable CPU overhead when reading a large file. svn path=/trunk/; revision=596
* Touched these files to make 'make dist' happy.Gilbert Ramirez1999-08-274-0/+0
| | | | svn path=/trunk/; revision=595
* Updated docs.Gilbert Ramirez1999-08-273-15/+31
| | | | svn path=/trunk/; revision=594
* Added gtk subdirectory, with patched gtkclist.c in it. We can use thisGilbert Ramirez1999-08-2710-7/+9261
| | | | | | optimized gtkclist until Guy's changes appear in the offical GTK+. svn path=/trunk/; revision=593
* "long" -> "gint32" ("gint32" is 32 bits, "long" isn't necessarily 32Guy Harris1999-08-271-2/+2
| | | | | | bits and is definitely not 32 bits on some platforms). svn path=/trunk/; revision=592
* Changed packet-tr.c to insert tr.sr, a FT_BOOLEAN field, only if tr.srGilbert Ramirez1999-08-275-68/+19
| | | | | | | | | | | | | | 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
* Updated RSVP decoder with Ashok's newest code.Gilbert Ramirez1999-08-272-13/+183
| | | | svn path=/trunk/; revision=590
* The token-ring decoder now takes into account some really garbledGilbert Ramirez1999-08-271-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
* No, 0xCC is SNRME. (I *told* you I hated reversing bit strings....)Guy Harris1999-08-271-2/+1
| | | | svn path=/trunk/; revision=588
* TEST is 0xE0, not 0xC0; 0xC0 is SNRME. (I hate having to reverse bitGuy Harris1999-08-271-2/+4
| | | | | | strings....) Thanks to Tom Gallagher at Madge for pointing this out. svn path=/trunk/; revision=587
* Properly pluralize "bytes" in the detail line for "dissect_data()".Guy Harris1999-08-261-2/+3
| | | | svn path=/trunk/; revision=586
* Dissect unknown IP protocols with dissect_data().Gilbert Ramirez1999-08-261-1/+4
| | | | svn path=/trunk/; revision=585
* Convert a bunch of uses of "fd->cap_len" to use "pi.captured_len" (or toGuy Harris1999-08-268-28/+28
| | | | | | | use END_OF_FRAME), so that they don't look at stuff in an IP datagram past the end of the IP datagram (i.e., frame padding). svn path=/trunk/; revision=584
* Introduces a new global gboolean variable: proto_tree_is_visible.Gilbert Ramirez1999-08-263-7/+35
| | | | | | | | This is set before calling dissect_packet() to let the proto_tree routines whether or not it needs to go through the trouble of formatting strings. The use of this dramatically decreases the number of calls to vsnprintf. svn path=/trunk/; revision=583
* The dfilter yacc grammar now keeps track of every GNode that it allocates.Gilbert Ramirez1999-08-267-17/+119
| | | | | | | | | | | | After a bad parse, instead of leaking this memory, the memory used for those GNodes is now freed. Added some memory-freeing "cleanup" routines for the dfilter and proto_tree modules, which are called right before ethereal exits. Maybe once we get a complete set of cleanup routines, we'll be able to better check if memory is leaking. svn path=/trunk/; revision=582
* Correctly set global_df->dftree to NULL after a bad parse.Gilbert Ramirez1999-08-251-10/+4
| | | | svn path=/trunk/; revision=581
* Reverted TCP follow back to old behavior of leaving list of packets inGilbert Ramirez1999-08-252-11/+6
| | | | | | | | filtered state. The display filter text entry widget is left in its original state, so an ENTER can reset the packet list. The manpage has been changed to mention this. svn path=/trunk/; revision=580
* Use END_OF_FRAME rather than "fd->cap_len - offset" - END_OF_FRAME usedGuy Harris1999-08-251-7/+8
| | | | | | | | | to be just "fd->cap_len - offset", but it's now "pi.captured_len - offset", which means that, for a protocol built atop TCP, like LPD, it'll take into account the fact that the IP (and thus TCP) data in the packet may end before the end of the frame. svn path=/trunk/; revision=579
* Add in the Async Map option.Guy Harris1999-08-252-62/+153
| | | | | | | | | | | | | | Add in the Identification and Time Remaining codes for LCP. Add in a pile of other LCP options, albeit without anything more than names for now. Don't say "1 bytes", say "1 byte". Don't use "dissect_data()" to dissect part of a *CP packet, and don't dissect opaque data if there're zero bytes of it. svn path=/trunk/; revision=578
* Put in support for dissecting LCP and IPCP options.Guy Harris1999-08-252-116/+290
| | | | | | | | | | Have a common routine to parse both LCP and IPCP, as IPCP is based on LCP. Have only one "value_string" array of PPP protocol types, with all the types we know about. svn path=/trunk/; revision=577
* The bulk of the PPP dissection is common between "dissect_ppp()" andGuy Harris1999-08-251-63/+50
| | | | | | | | "dissect_payload_ppp()"; put it into a common routine, called by both (which means we now dissect LCP and IPCP in PPP requests even if they aren't inside PPPOE or GRE packets). svn path=/trunk/; revision=576
* "read_filters()" is actually called late enough in the startup processGuy Harris1999-08-252-10/+19
| | | | | | | | | | | | | | | that it can pop up a message box; have it do so. Make the "Can't open file" message boxes in "colors.c" include the "errno" error message in the message they put up. Don't complain about being unable to open the color filter file if it doesn't exist (perhaps the user just never made one). Make the message for a failure to open the preferences file resemble that for a failure to open a color filter file. svn path=/trunk/; revision=575
* NBIPX packet type 3 appears to be the equivalent, in NBIPXland, of theGuy Harris1999-08-251-18/+28
| | | | | | | | | | | | | | | | | NetBIOS Datagram Service in NBTland; a capture Gilbert sent had a pile of those packets containing what looked like SMB browser announcements, which are sent out as broadcast datagrams. Label them as such, and treat them as such. Might packet type 2 be the equivalent of the NetBIOS Session Service - both of them contain SMBs, but the former is a connection-oriented service (LLC I frames, presumably, in NBF, and TCP in NBT), and the latter is a datagram-oriented service (LLC UI frames, presumably, in NBF, and UDP in NBT)? For now, we leave type 2 as "SMB (over NBIPX)", but we might want to label it as "NetBIOS session" or whatever the appropriate term is. svn path=/trunk/; revision=574
* Dump the values of the "flags" and "ttl" fields of the CDP header.Guy Harris1999-08-251-1/+2
| | | | | | | | | | | | | | | | Don't treat the CDP header as an in-memory data structure; that might cause problems if it's not aligned on a 2-byte boundary. Make the type and length fields of a TLV unsigned. Correctly check for the end of the (captured part of the) frame. Show most TLVs as "expandable" entries, where they expand into type, length, and data entries. Dissect "unknown" TLVs. svn path=/trunk/; revision=573
* Instead of adding the TLV type and length values as hidden values, enterGuy Harris1999-08-251-48/+67
| | | | | | | them with "proto_tree_add_item()" rather than "proto_tree_add_text()" when adding them to the subtree for a TLV item. svn path=/trunk/; revision=572
* Dump the values of the "flags" and "ttl" fields of the CDP header.Guy Harris1999-08-251-62/+119
| | | | | | | | | | | | | | | | Don't treat the CDP header as an in-memory data structure; that might cause problems if it's not aligned on a 2-byte boundary. Make the type and length fields of a TLV unsigned. Correctly check for the end of the (captured part of the) frame. Show most TLVs as "expandable" entries, where they expand into type, length, and data entries. Dissect "unknown" TLVs. svn path=/trunk/; revision=571
* Fixed CPP #ifdef and comment.Gilbert Ramirez1999-08-251-3/+3
| | | | svn path=/trunk/; revision=570
* Removed unnecessary #include lines.Gilbert Ramirez1999-08-241-38/+1
| | | | svn path=/trunk/; revision=569
* Fixed the array problem in packet-netbios.Gilbert Ramirez1999-08-242-9/+22
| | | | | | | | | | Fixed the default case in the packet-cdp while() statement to look for non-zero offsets. I should fix the other cases where offset += length. Meanwhile, however, I added cdp.tlv.type and cdp.tlv.len as two filterable fields so that one can use "cdp.tlv.len == 0" as a display filter to find the packet that was causing problems. svn path=/trunk/; revision=568
* Use "strchr()" rather than "index()" - "strchr()" is the ANSI standardGuy Harris1999-08-241-2/+2
| | | | | | | | | routine, it's what we use elsewhere in Ethereal, all modern UNIXes have it, and it's declared in <string.h>, unlike "index()" which isn't necessarily declared there (and thus we get GCC warnings about "index()" being undeclared). svn path=/trunk/; revision=567
* Changed #include "glib.h" to #include <glib.h>, for stylistic reasons.Gilbert Ramirez1999-08-241-2/+2
| | | | svn path=/trunk/; revision=566
* Removed unnecessary #include "etypes.h" lines.Gilbert Ramirez1999-08-2411-22/+12
| | | | svn path=/trunk/; revision=565
* Updated the deliverables because of the spec-file change.Gilbert Ramirez1999-08-241-1/+1
| | | | svn path=/trunk/; revision=564