aboutsummaryrefslogtreecommitdiffstats
path: root/packet-sctp.c
AgeCommit message (Collapse)AuthorFilesLines
2001-06-18From Joerg Mayer: explicitly fill in all members of aguy1-46/+46
"header_field_info" structure, including the ones that are later set by the routines to register fields. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3561 f5534014-38df-0310-8fa8-9805f1628bb7
2001-04-23Move the declarations of IP protocol numbers to "ipproto.h" fromguy1-2/+2
"packet-ip.h". Fix Gerald's address in some files while we're at it. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3366 f5534014-38df-0310-8fa8-9805f1628bb7
2001-04-20Fix Gerald's e-mail address - and fix it in "README.developer", soguy1-2/+2
people don't blindly insert the old address into new dissectors, which is probably how it got into the dissectors being fixed here. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3348 f5534014-38df-0310-8fa8-9805f1628bb7
2001-04-09SCTP dissector fix from Michael Tuexen.guy1-10/+12
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3272 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-25Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="guy1-8/+4
statements. Move the setting of the Protocol column in various dissectors before anything is fetched from the packet, and also clear the Info column at that point in those and some other dissectors, so that if an exception is thrown, the columns don't reflect the previous protocol. "Tvbuffify" the Mobile IP dissector (it took old-style arguments, and then converted them into tvbuff arguments, so there wasn't much to do, other than to fix references to "fd" to refer to "pinfo->fd"). In the SCTP dissector, refer to the port type and source and destination ports through "pinfo" rather than through the global "pi", as it's a tvbuffified dissector. In the SMTP and Time Protocol dissectors, use "pinfo->match_port" rather than "TCP_PORT_SMTP" when checking whether the packet is a request or reply, just in case somebody makes a non-standard port be dissected as SMTP or Time. (Also, remove a bogus comment from the Time dissector; it was probably cut-and-pasted from the TFTP dissector.) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2938 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-14Update from Michael Tuexen to enhance handling of bundled upper layerguy1-23/+44
packets. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2897 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-13Support for dissectors registering themselves with a particular SCTPguy1-9/+12
payload protocol ID as well as with a particular SCTP port number, from Michael Tuexen. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2891 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-11Update the SCTP dissector, and add a dissector forgram1-336/+437
ISDN Q.921-User Adaptation Layer (IUA). Both are from Michael.Tuexen@icn.siemens.de> git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2876 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-09Add an additional "protocol index" argument to "{old_}dissector_add()",guy1-2/+2
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and "register_dissector()", so that an entry in those tables has associated with it the protocol index of the protocol the dissector handles (or -1, if there is no protocol index for it). This is for future use in a number of places. (Arguably, "proto_register_protocol()" should take a dissector pointer as an argument, but 1) it'd have to handle both regular and heuristic dissectors; 2) making it take either a "dissector_t" or a union of that and a "heur_dissector_t" introduces some painful header-file interdependencies so I'm punting on that for now. As with other Ethereal internal APIs, these APIs are subject to change in the future, at least until Ethereal 1.0 comes out....) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2849 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-03Have "proto_register_protocol()" build a list of data structures forguy1-2/+2
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2810 f5534014-38df-0310-8fa8-9805f1628bb7
2000-11-19For each column, have both a buffer into which strings for that columnguy1-2/+2
can be put, and a pointer to the string for the column, which might or might not point to that buffer. Add a routine "col_set_str()", which sets the string for the column to the string passed to it as an argument; it should only be handed a static string (a string constant would be ideal). It doesn't do any copying, so it's faster than "col_add_str()". Make the routines that append to columns check whether the pointer to the string for the column points to the buffer for the column and, if not, copy the string for the column to the buffer for the column so that you can append to it (so you can use "col_set_str()" and then use "col_append_str()" or "col_append_fstr()"). Convert a bunch of "col_add_str()" calls that take a string constant as an argument to "col_set_str()" calls. Convert some "col_add_fstr()" calls that take a string constant as the only argument - i.e., the format string doesn't have any "%" slots into which to put strings for subsequent arguments to "col_set_str()" calls (those calls are just like "col_add_str()" calls). Replace an END_OF_FRAME reference in a tvbuffified dissector with a "tvb_length(tvb)" call. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2670 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-19Michael Tuexen's patch to add "sctp.port" as a dissector table so thatguy1-57/+90
protocols running atop SCTP can register themselves with a particular SCTP port number. Also, clean up the credits for him - there were two entries, one for some initial SCTP support in "ipprotostr()" and in the capture dialog, and one for the SCTP dissector itself - the latter subsumes the former, so just keep the latter. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2296 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-13Add the "Edit:Protocols..." feature which currently only implementsdeniel1-1/+3
the following: It is now possible to enable/disable a particular protocol decoding (i.e. the protocol dissector is void or not). When a protocol is disabled, it is displayed as Data and of course, all linked sub-protocols are disabled as well. Disabling a protocol could be interesting: - in case of buggy dissectors - in case of wrong heuristics - for performance reasons - to decode the data as another protocol (TODO) Currently (if I am not wrong), all dissectors but NFS can be disabled (and dissectors that do not register protocols :-) I do not like the way the RPC sub-dissectors are disabled (in the sub-dissectors) since this could be done in the RPC dissector itself, knowing the sub-protocol hfinfo entry (this is why, I've not modified the NFS one yet). Two functions are added in proto.c : gboolean proto_is_protocol_enabled(int n); void proto_set_decoding(int n, gboolean enabled); and two MACROs which can be used in dissectors: OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree) CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree) See also the XXX in proto_dlg.c and proto.c around the new functions. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2267 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-11Miscellaneous code cleaningdeniel1-9/+4
- add <stdarg.h> or <varargs.h> in snprintf.h and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes - remove the check of multiple inclusions in source (.c) code (there is a bit loss of _cpp_ performance, but I prefer the gain of code reading and maintenance; and nowadays, disk caches and VM are correctly optimized ;-). - protect all (well almost) header files against multiple inclusions - add header (i.e. GPL license) in some include files - reorganize a bit the way header files are included: First: #include <system_include_files> #include <external_package_include_files (e.g. gtk, glib etc.)> Then #include "ethereal_include_files" with the correct HAVE_XXX or NEED_XXX protections. - add some HAVE_XXX checks before including some system header files - add the same HAVE_XXX in wiretap as in ethereal Please forgive me, if I break something (I've only compiled and regression tested on Linux). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2254 f5534014-38df-0310-8fa8-9805f1628bb7
2000-08-07Allow either old-style (pre-tvbuff) or new-style (tvbuffified)guy1-15/+6
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()". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2218 f5534014-38df-0310-8fa8-9805f1628bb7
2000-07-31Include "packet.h", not <packet.h> - the latter, at least on Win32,guy1-9/+2
causes a system <packet.h> header to be includes, which causes the compiler to get quite upset. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2186 f5534014-38df-0310-8fa8-9805f1628bb7
2000-07-21Add SCTP dissector from Tuexen Michael <Michael.Tuexen@icn.siemens.de>gram1-0/+1810
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2148 f5534014-38df-0310-8fa8-9805f1628bb7