aboutsummaryrefslogtreecommitdiffstats
path: root/packet-data.c
Commit message (Collapse)AuthorAgeFilesLines
* This should be the final bit of removing the dissect_data symbolEd Warnicke2001-11-261-11/+5
| | | | | | | | from being required by anyone other than packet-data.c. It can now be accessed with call_dissector() with the name "data". dissect_data is now also of dissect_t. svn path=/trunk/; revision=4271
* Added hooks to be able to call dissect_data as via a handle.Ed Warnicke2001-11-251-1/+9
| | | | svn path=/trunk/; revision=4262
* Hopefully the last time I have to change my e-mail address.Gilbert Ramirez2001-11-131-2/+2
| | | | svn path=/trunk/; revision=4199
* Get rid of a bunch of stuff that was there to support non-tvbuffifiedGuy Harris2001-10-311-14/+2
| | | | | | dissectors and that's no longer needed. svn path=/trunk/; revision=4112
* Have "proto_register_protocol()" build a list of data structures forGuy Harris2001-01-031-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | protocols, in addition to adding structures to the list of filterable fields. Give it an extra argument that specifies a "short name" for the protocol, for use in such places as pinfo->current_proto; the dialog box for constructing filters; the preferences tab for the protocol; and so on (although we're not yet using it in all those places). Make the preference name that appears in the preferences file and the command line for the DIAMETER protocol "diameter", not "Diameter"; the convention is that the name in question be all-lower-case. Make some routines and variables that aren't exported static. Update a comment in the ICP dissector to make it clear that the dissector won't see fragments other than the first fragment of a fragmented datagram. svn path=/trunk/; revision=2810
* Tvbuffify the STP dissector, have it register itself and have the LLCGuy Harris2000-11-161-4/+5
| | | | | | | | | | | dissector call it through a handle, and make it static. Give "dissect_data()" an "offset" argument, so dissectors can use it to dissect part of the packet without having to cook up a new tvbuff. Go back to using "dissect_data()" to dissect the data in an IPP request. svn path=/trunk/; revision=2651
* Allow either old-style (pre-tvbuff) or new-style (tvbuffified)Guy Harris2000-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dissectors to be registered as dissectors for particular ports, registered as heuristic dissectors, and registered as dissectors for conversations, and have routines to be used both by old-style and new-style dissectors to call registered dissectors. Have the code that calls those dissectors translate the arguments as necessary. (For conversation dissectors, replace "find_conversation_dissector()", which just returns a pointer to the dissector, with "old_try_conversation_dissector()" and "try_conversation_dissector()", which actually call the dissector, so that there's a single place at which we can do that translation. Also make "dissector_lookup()" static and, instead of calling it and, if it returns a non-null pointer, calling that dissector, just use "old_dissector_try_port()" or "dissector_try_port()", for the same reason.) This allows some dissectors that took old-style arguments and immediately translated them to new-style arguments to just take new-style arguments; make them do so. It also allows some new-style dissectors not to have to translate arguments before calling routines to look up and call dissectors; make them not do so. Get rid of checks for too-short frames in new-style dissectors - the tvbuff code does those checks for you. Give the routines to register old-style dissectors, and to call dissectors from old-style dissectors, names beginning with "old_", with the routines for new-style dissectors not having the "old_". Update the dissectors that use those routines appropriately. Rename "dissect_data()" to "old_dissect_data()", and "dissect_data_tvb()" to "dissect_data()". svn path=/trunk/; revision=2218
* Fix dissect_data_tvb() so that it only appends a "Data" proto_tree labelGilbert Ramirez2000-05-121-4/+6
| | | | | | if there are more than 0 bytes of data. svn path=/trunk/; revision=1948
* Convert LLC dissector to use tvbuffs.Gilbert Ramirez2000-05-111-1/+15
| | | | | | | | Non-tvbuff dissectors create a tvbuff when calling dissect_llc() Changed name of current_proto to match string in COL_PROTO ("FDDI" instead of "fddi") Changed short text to be: [Short Frame: %s] where %s is current_proto. svn path=/trunk/; revision=1943
* Add tvbuff class.Gilbert Ramirez2000-05-111-2/+2
| | | | | | | | | | | | | | | Add exceptions routines. Convert proto_tree_add_*() routines to require tvbuff_t* argument. Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as the tvbuff_t* argument to proto_tree_add_*() routines. dissect_packet() creates a tvbuff_t, wraps the next dissect call in a TRY block, will print "Short Frame" on the proto_tree if a BoundsError exception is caught. The FDDI dissector is converted to use tvbuff's. svn path=/trunk/; revision=1939
* Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez2000-03-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto_tree_add_protocol_format() proto_tree_add_uint_format() proto_tree_add_ipxnet_format() proto_tree_add_ipv4_format() proto_tree_add_ipv6_format() proto_tree_add_bytes_format() proto_tree_add_string_format() proto_tree_add_ether_format() proto_tree_add_time_format() proto_tree_add_double_format() proto_tree_add_boolean_format() If using GCC 2.x, we can check the print-format against the variable args passed in. Regardless of compiler, we can now check at run-time that the field type passed into the function corresponds to what that function expects (FT_UINT, FT_BOOLEAN, etc.) Note that proto_tree_add_protocol_format() does not require a value field, since the value of a protocol is always NULL. It's more intuitive w/o the vestigial argument. Fixed a proto_tree_add_item_format-related bug in packet-isis-hello.c Fixed a variable usage bug in packet-v120.c. (ett_* was used instead of hf_*) Checked in Guy's fix for the function declearation for proto_tree_add_text() and proto_tree_add_notext(). svn path=/trunk/; revision=1713
* Fix a bunch of dissectors to use "pi.captured_len" rather thanGuy Harris2000-01-241-4/+4
| | | | | | | | | | "fd->cap_len" for the frame length - or to use macros such as "BYTES_ARE_IN_FRAME()", "IS_DATA_IN_FRAME()", and "END_OF_FRAME", which use "pi.captured_len" - so that they correctly handle frames where the actual data length of the packet is less than the size of the raw frame, e.g. with encapsulations such as ISL. svn path=/trunk/; revision=1530
* Fix files that had Gilbert's old e-mail address or that didn't have myGuy Harris2000-01-221-2/+2
| | | | | | forwarding e-mail address. svn path=/trunk/; revision=1522
* Fix Gerald's e-mail address.Guy Harris2000-01-071-2/+2
| | | | svn path=/trunk/; revision=1437
* Properly pluralize "bytes" in the detail line for "dissect_data()".Guy Harris1999-08-261-2/+3
| | | | svn path=/trunk/; revision=586
* Made the protocol (but not the fields) use the new proto_tree routine,Gilbert Ramirez1999-07-291-1/+4
| | | | | | | 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
* Created a new protocol tree implementation and a new display filterGilbert Ramirez1999-07-071-3/+12
| | | | | | | 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
* Removed all references to gtk objects from packet*.[ch] files. They nowGilbert Ramirez1999-03-231-9/+4
| | | | | | | | | | 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
* Well, that was dumb. I didn't have to add a "capture_data()" routine; IGuy Harris1999-03-221-6/+1
| | | | | | | just had to make "sap_capture_func()" return NULL if it didn't find an entry for the SAP it was passed. svn path=/trunk/; revision=220
* Have "sap_capture_func()" return "capture_data" rather thanGuy Harris1999-03-221-1/+6
| | | | | | | | | | | | "dissect_data"; if you call "dissect_data()" with an argument list of the type expected by a "capture_XXX()" routine, it won't do the right thing (and may do the wrong thing, e.g. crash). Have "sap_capture_func()" (and "sap_dissect_func()") return function pointers rather than "void *"s, so that I don't make a mistake like the above in the future.... svn path=/trunk/; revision=219
* A lengthy patch to add the wiretap library. Wiretap is not used by defaultGilbert Ramirez1998-11-121-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
* I added the byte count to the Data section. The print routines had toGilbert Ramirez1998-10-221-2/+2
| | | | | | | be modified to check the beginning of the string instead of the entire string when trying to find the Data section in order to print a hex dump. svn path=/trunk/; revision=70
* I removed the ncp code from packet-ipx.c and created packet-ncp.c. Now thatGilbert Ramirez1998-09-231-2/+2
| | | | | | | | | | I've started concentrating on the NetWare modules again, packet-ncp.c is going to start to grow. I also added IPX RIP to packet-ipx.c. Additionally, I added the END_OF_FRAME macro to packet.h, which is useful for many dissect() routines. (and I already modified packet-bootp.c and packet-data.c to use this macro) svn path=/trunk/; revision=22
* Added ID tags to the beginning of each source file.Gerald Combs1998-09-161-1/+2
| | | | svn path=/trunk/; revision=7
* Initial revisionstartethereal-0.3.15ethereal-0-3-15backups/ethereal@18706etherealGerald Combs1998-09-161-0/+51
svn path=/trunk/; revision=2