aboutsummaryrefslogtreecommitdiffstats
path: root/packet-wtp.c
AgeCommit message (Collapse)AuthorFilesLines
2002-12-19Update reassemble.c/show_item and all callers to use FT_FRAMENUM for the ↵sahlberg1-3/+3
list of packets corresponding to a reassembled pdu git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@6807 f5534014-38df-0310-8fa8-9805f1628bb7
2002-12-02From Olivier Biot: show the packet sequence number and the "Missingguy1-3/+3
Packets" value in the WTP header in decimal, not hex. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@6722 f5534014-38df-0310-8fa8-9805f1628bb7
2002-10-24Add a "fragment_add_seq_next()" to reassemble fragments that don't haveguy1-2/+2
sequence numbers or offsets and are thus assumed to be received in order with no duplicates or dropped fragments (e.g., for NetBIOS Frame, where 802.2 LLC guarantees in-order delivery to NetBIOS with no duplicates or dropped fragments). "show_fragment_tree()' and "show_fragment_seq_tree()" don't modify the "fragment_items" to which the "fit" argument points, so make that argument a "const fragment_items *". Make all the "fragment_items" tables "static" (as they're not used outside the modules defining them) and "const" (as they're not modified). Add support for reassembly of NetBIOS fragmented requests and responses. Get rid of an unnecessary include of "packet-tr.c" in the NetBIOS dissector, and make its table of dissection function pointers static. Fix some typos in the AppleTalk and NetBIOS dissectors. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@6491 f5534014-38df-0310-8fa8-9805f1628bb7
2002-08-28Removed trailing whitespaces from .h and .c files using thejmayer1-50/+50
winapi_cleanup tool written by Patrik Stridvall for the wine project. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@6117 f5534014-38df-0310-8fa8-9805f1628bb7
2002-08-09From Tom Uijldert: WTP TPI dissection, and reindentation.guy1-643/+761
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5973 f5534014-38df-0310-8fa8-9805f1628bb7
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hjmayer1-9/+1
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5932 f5534014-38df-0310-8fa8-9805f1628bb7
2002-07-17From Joerg Mayer:guy1-6/+1
dftest.c: Remove #if-0-ed includes packet-ieee80211.c, packet-wtls.c, packet-afp.c, packet-wsp.c, packet-wtp.c, ethereal_gen.py: Remove redundant include varargs (already in snprintf.h, and required only for snprintf.h) Remove unused include of snprintf.h from files not using "snprintf()". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5889 f5534014-38df-0310-8fa8-9805f1628bb7
2002-06-07Add "show_fragment_seq_tree()", which is like "show_fragment_tree()",guy1-69/+16
but for stuff reassembled with "fragment_add_seq()" or "fragment_add_seq_check()". Add a "fragment tag" string to the "fragment_items", so that packets with fragmentation errors can be properly flagged as having "Illegal fragments" or "Illegal segments" depending on the term used with the protocol in question. Make all the dissectors that can use "show_fragment_tree()" or "show_fragment_seq_tree()", and don't already use them, do so. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5644 f5534014-38df-0310-8fa8-9805f1628bb7
2002-06-04Get rid of the "data_src" member of the "frame_data" structure; put itguy1-2/+2
in the "packet_info" structure instead, as we don't need a pointer for every single frame in the capture file, just for each frame for which we currently have an open "epan_dissect_t". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5614 f5534014-38df-0310-8fa8-9805f1628bb7
2002-05-27From Kari Heikkila: fix for WTP PDUs not containing user data.guy1-5/+7
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5574 f5534014-38df-0310-8fa8-9805f1628bb7
2002-04-17Fix up the offsets in the list of segments.guy1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5178 f5534014-38df-0310-8fa8-9805f1628bb7
2002-04-09Get rid of the extra "Header" entry, putting the tree back the way itguy1-58/+41
was. Get rid of variables unused as a result. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5133 f5534014-38df-0310-8fa8-9805f1628bb7
2002-04-05Give the top-level tree for concatenated PDUs an ett_ value of ett_wtp.guy1-43/+46
Create a protocol tree item for the fixed part of the WTP header. Don't assign the value of "proto_tree_add_XXX" routines to a variable if you're not going to use the value. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5103 f5534014-38df-0310-8fa8-9805f1628bb7
2002-03-27Put a tree with information about the WTP fragments into the tree ifguy1-1/+136
we've reassembled a message. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5027 f5534014-38df-0310-8fa8-9805f1628bb7
2002-02-27Label the data source for various forms of reassembled data with theguy1-2/+2
protocol that fragmented them, rather than just calling them "Reassembled". Do the same with uncompressed WCP data. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4822 f5534014-38df-0310-8fa8-9805f1628bb7
2002-02-18Don't give tvbuffs names; instead, give data sources names, where aguy1-4/+4
"data source" has a name and a top-level tvbuff, and frames can have a list of data sources associated with them. Use the tvbuff pointer to determine which data source is the data source for a given field; this means we don't have to worry about multiple data sources with the same name - the only thing the name does is label the notebook tab for the display of the data source, and label the hex dump of the data source in print/Tethereal output. Clean up a bunch of things discovered in the process of doing the above. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4749 f5534014-38df-0310-8fa8-9805f1628bb7
2002-01-21Include files from the "epan" directory and subdirectories thereof withguy1-2/+2
"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/"). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4586 f5534014-38df-0310-8fa8-9805f1628bb7
2002-01-17Use the "fragmented" field of the "packet_info" structure inguy1-1/+4
"dissect_frame()" to indicate whether a ReportedBoundsError was due to the packet being malformed (i.e., the packet was shorter than it's supposed to be, so the dissector went past the end trying to extract fields that were supposed to be there) or due to it not being reassembled (i.e., the packet was fragmented, and we didn't reassemble it, but just treated the first fragment as the entire packet, so the dissector went past the end trying to extract fields that were partially or completely in fragments after that). Mark the latter as being unreasembled rather than malformed. Properly initialize, save, and restore that field, and properly set it, so that works. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4555 f5534014-38df-0310-8fa8-9805f1628bb7
2002-01-04WTP reassembly, from Tom Uijldert.guy1-83/+131
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4480 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"guy1-23/+13
structure to the "packet_info" structure; only stuff that's permanently stored with each frame should be in the "frame_data" structure, and the "column_info" structure is not guaranteed to hold the column values for that frame at all times - it was only in the "frame_data" structure so that it could be passed to dissectors, and, as all dissectors are now passed a pointer to a "packet_info" structure, it could just as well be put in the "packet_info" structure. That saves memory, by shrinking the "frame_data" structure (there's one of those per frame), and also lets us clean up the code a bit. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4370 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-03Make "dissector_add()", "dissector_delete()", and "dissector_change()"guy1-3/+5
take a dissector handle as an argument, rather than a pointer to a dissector function and a protocol ID. Associate dissector handles with dissector table entries. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4308 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-03As you set a conversation dissector by supplying a dissector handleguy1-4/+5
rather than a function pointer, "dissect_wtp_fromudp()" no longer needs to be global; make it static, register it by name, and have the WSP dissector get the handle by calling "find_dissector()" rather than by constructing its own handle for it. Fix up some attributions. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4306 f5534014-38df-0310-8fa8-9805f1628bb7
2001-10-07From Georg von Zezschwitz:guy1-8/+50
- A bug related to "WSP header pages" is fixed, that resulted into "malformed WSP frame" alerts - "Concatenated PDUs" (Multiple PDUs within one UDP packet) are now supported (used e.g. by Nokia 8310) - The URL of WSP GET/POST requests is display in the info column, same like HTTP GET requests git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4004 f5534014-38df-0310-8fa8-9805f1628bb7
2001-09-11Fix from Tom Uijldert: scan TPI's to get proper WTP packet length andguy1-8/+23
correct start of WSP-data. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3920 f5534014-38df-0310-8fa8-9805f1628bb7
2001-09-10Some WAP WTP naming fixes plus textual Transaction Class value decoding,guy1-7/+14
from Olivier Biot. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3914 f5534014-38df-0310-8fa8-9805f1628bb7
2001-07-20Don't base the WSP dissector's idea of whether it's running inguy1-3/+4
connectionless or connection-oriented mode on the server port; that won't work with redirects. Instead, base it on the protocol atop which WSP is running - atop UDP, or directly atop WTLS, it's connectionless; atop WTP, it's connection-oriented. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3750 f5534014-38df-0310-8fa8-9805f1628bb7
2001-07-20Dissect WSP redirects, and set up a conversation and conversationguy1-2/+2
dissector so that the redirected traffic is dissected as WAP traffic. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3743 f5534014-38df-0310-8fa8-9805f1628bb7
2001-07-03Don't base the protocol column setting in the WSP and WTP dissectors onguy1-21/+38
the port - instead, base it on whether the dissector was called directly from UDP or called from another WAP dissector. That way, if you explicitly say "decode this as WTP" because there was a redirection (or if, in the future, the WSP dissector handles redirections for you, although that won't handle the case of a capture where the redirection wasn't captured), the column doesn't say "UDP", it says the right thing. Don't register the WTLS dissector by name - nobody calls it through a handle. Register the WTP dissector by name, as the WTLS dissector tries to get a handle for it - although it doesn't actually call it, or the WSP dissector, through a handle. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3647 f5534014-38df-0310-8fa8-9805f1628bb7
2001-06-18From Joerg Mayer: explicitly fill in all members of aguy1-22/+22
"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-17Fix to WTP retransmission indicator dissection, from Olivier Biot.guy1-3/+12
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3316 f5534014-38df-0310-8fa8-9805f1628bb7
2001-03-23Don't convert a WTP PDU type to a string by using as an index into aguy1-2/+3
"value_string" array, do it the right way, by using "val_to_str()" - the PDU type is 4 bits, but there aren't 16 entries in the array, so a bogus PDU type (*don't* assume that can't happen...) can cause a core dump. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3169 f5534014-38df-0310-8fa8-9805f1628bb7
2001-02-13Updates from Neil Hunter.guy1-11/+16
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3026 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-22Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="guy1-10/+14
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. Don't use col_add_fstr(..., "%s", string); Use col_add_str(..., string); as it does the same thing, but doesn't drag all the heavy *printf machinery in. Fix the DDTP dissector to set the Info column regardless of whether we're building a protocol tree or not, and to set it to "Encrypted payload" if the payload is encrypted. Also fix a typo in a field name. Register the FTP data dissector as being associated with the FTP data protocol, not the FTP protocol (the removed "CHECK_DISPLAY_AS_DATA()" call checked "proto_ftp_data", and the removed "pinfo->current_proto =" line set it to "FTP-DATA", so it should be associated with "proto_ftp_data"). Make the H1 dissector check whether the frame has at least 2 bytes in it before checking the first two bytes; heuristic dissectors must not throw exceptions until they've accepted the packet as one of theirs. Use "tvb_format_text()" rather than "tvb_get_ptr()" and "format_text()" in some dissectors where the result of "tvb_get_ptr()" is used only in the "format_text()" call. In the Quake dissector, don't check whether there are at least 4 bytes in the packet - if we return, the packet won't be dissected at all (it's not as if some other dissector will get to handle it), and, if we don't return, we'll throw an exception if there aren't at least 4 bytes in the packet, so the packet will be marked as short or malformed, as appropriate. In the RIPng dissector, associate the table of strings for the command field with the command field, so that the dissector doesn't have to format the string for the protocol tree entry itself, and so that the filter construction dialog box can let you select "Request" or "Response" from a list rather than requiring you to know the values for "Request" and "Response". Make "dissect_rpc()" static, as it's called only through a heuristic dissector list. Use "col_set_str()" to set the COL_PROTOCOL column for RPC protocols; the string used is from a table provided by the dissector, and is a string constant. Don't format the Info column for WSP into a buffer and then format that buffer into the column with "%s" - "col_add_fstr()" can do the formatting for you, without having to allocate your own buffer (or run through the *printf machinery twice). Don't fetch fields from the WTP packet until you're ready to use them, so that you don't throw an exception before you even set the Protocol column or clear the Info column. Use "pinfo->destport", not "pi.destport", in the Zebra dissector when checking whether the packet is a request or reply, and do the check by comparing with "pinfo->match_port" rather than TCP_PORT_ZEBRA (so that if the dissector is ever registered on another port, it still correctly determines whether the packet is a request or reply - the Network Monitor HTTP dissector has port 80 wired into its brain, which is a bit irritating if you're trying to get it to dissect HTTP proxy traffic on port 3128 or proxy administration UI traffic on port 3132). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2931 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-09Add an additional "protocol index" argument to "{old_}dissector_add()",guy1-3/+3
"{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-03Ensure that all value_string arrays end in {0, NULL}. Dissectors got awaygram1-4/+9
with not terminating their arrays because they knew the limits of the value used to look up strings in the value_string array, but the dfilter_expr_dlg does not know these limits and must rely on the terminating {0, NULL} record. Also, in SNA fixed a bug in which a field should have been defined as FT_UINT8 but was defined as FT_BOOLEAN. In WTP, fixed a value string which had duplicate keys. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2817 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-03Register the WSP dissector, make it static, and have the WTP dissectorguy1-2/+9
call it through a handle. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2815 f5534014-38df-0310-8fa8-9805f1628bb7
2001-01-03Have "proto_register_protocol()" build a list of data structures forguy1-1/+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-12-02Some tvbuffified dissectors weren't setting "pinfo->current_proto", soguy1-1/+3
that if they threw an exception, the wrong protocol would be blamed. Add the missing assignments. Clean up the extraction of the null-encapsulation header. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2730 f5534014-38df-0310-8fa8-9805f1628bb7
2000-11-19For each column, have both a buffer into which strings for that columnguy1-11/+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-11-05Make the RTCP, RTP, WSP, and WTP dissectors check whether theirguy1-11/+4
protocols have been disabled. Get rid of the "no tvbuff" dissectors for WSP and WTP - they're not used (and shouldn't ever be used). Make "dissect_wtp()" static, as it's not used outside "packet-wtp.c". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2568 f5534014-38df-0310-8fa8-9805f1628bb7
2000-11-04Microsoft Visual C++, unlike GCC, doesn't like it if you have noguy1-2/+3
statements whatsoever in a "case" or "default" clause; add a "break" statement to keep it happy. (Other compilers may also be less forgiving than GCC.) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2560 f5534014-38df-0310-8fa8-9805f1628bb7
2000-11-04WAP support, from Neil Hunter.guy1-0/+634
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2558 f5534014-38df-0310-8fa8-9805f1628bb7