aboutsummaryrefslogtreecommitdiffstats
path: root/packet-wsp.c
AgeCommit message (Collapse)AuthorFilesLines
2001-07-20Fix a comment.Guy Harris1-2/+2
svn path=/trunk/; revision=3751
2001-07-20Don't base the WSP dissector's idea of whether it's running inGuy Harris1-11/+24
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. svn path=/trunk/; revision=3750
2001-07-20If the HeadersLen field of a Post or Reply PDU is 0, don't try toGuy Harris1-13/+25
dissect the ContentType or Headers fields, as they're not there. If there's no header data left over after the ContentType field, don't try to dissect the Headers field. svn path=/trunk/; revision=3749
2001-07-20Assume that Bearer-indication values are bearer types.Guy Harris1-3/+4
svn path=/trunk/; revision=3748
2001-07-20Add bearer type names.Guy Harris1-24/+180
Base the interpretation of the address in a Redirect PDU on the bearer type, not the length of the address. Add support for IPv6 addresses. svn path=/trunk/; revision=3747
2001-07-20Clean up a lot of stuff, and implement a bunch of missing stuff; a bunchGuy Harris1-753/+1993
of things showed up when dissecting one capture file once the WSP dissector started creating conversations for redirections, and packets started being dissected as WSP. svn path=/trunk/; revision=3746
2001-07-20Dissect WSP redirects, and set up a conversation and conversationGuy Harris1-150/+390
dissector so that the redirected traffic is dissected as WAP traffic. svn path=/trunk/; revision=3743
2001-07-03Don't base the protocol column setting in the WSP and WTP dissectors onGuy Harris1-18/+28
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. svn path=/trunk/; revision=3647
2001-06-18Many corrections and updates for connection-oriented WSP, from AlexandreGuy Harris1-21/+371
P. Ferreira. svn path=/trunk/; revision=3571
2001-06-18From Joerg Mayer: explicitly fill in all members of aGuy Harris1-43/+43
"header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
2001-04-23Get rid of END_OF_FRAME references in tvbuffified dissectors.Guy Harris1-5/+5
svn path=/trunk/; revision=3364
2001-02-19Updates from Alexandre P. Ferreira.Guy Harris1-33/+54
svn path=/trunk/; revision=3048
2001-02-13Updates from Neil Hunter.Guy Harris1-2193/+706
svn path=/trunk/; revision=3026
2001-02-10Updates from Alexandre P. Ferreira.Guy Harris1-66/+132
svn path=/trunk/; revision=3012
2001-02-01Updates from Alexandre P. Ferreira.Guy Harris1-46/+383
svn path=/trunk/; revision=2966
2001-01-30WTLS support and WSP fixes, from Alexandre P. Ferreira.Guy Harris1-45/+1451
svn path=/trunk/; revision=2960
2001-01-28Fix up the indentation, to make it correct, and to keep the code fromGuy Harris1-134/+130
running quite as far to the right. svn path=/trunk/; revision=2945
2001-01-28Make a bunch of routines not used outside of "packet-wsp.c" static.Guy Harris1-20/+20
svn path=/trunk/; revision=2944
2001-01-22Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="Guy Harris1-10/+6
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). svn path=/trunk/; revision=2931
2001-01-16Fix another "match_strval()" call.Guy Harris1-164/+171
Remove one level of indentation from a "switch()" statement, so as not to oblige those of who use 80-column windows for editing (and will continue to do, arguments against it nonwithstanding; I *like* being able to have lots of windows open and visible) to have to play too many games in order to be able to work on this code. svn path=/trunk/; revision=2907
2001-01-16The PDU type of a WSP packet is presumably not signed, so assign it to aGuy Harris1-3/+3
"guint8", not a "char". Do not use "match_strval()" unless you're prepared to check whether it returns NULL and do something appropriate if it does so; instead, use "val_to_str()", and let *it* worry about the value passed to it not having a corresponding string. svn path=/trunk/; revision=2906
2001-01-09Add an additional "protocol index" argument to "{old_}dissector_add()",Guy Harris1-6/+6
"{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....) svn path=/trunk/; revision=2849
2001-01-03Ensure that all value_string arrays end in {0, NULL}. Dissectors got awayGilbert Ramirez1-1/+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. svn path=/trunk/; revision=2817
2001-01-03Register the WSP dissector, make it static, and have the WTP dissectorGuy Harris1-2/+4
call it through a handle. svn path=/trunk/; revision=2815
2001-01-03Have "proto_register_protocol()" build a list of data structures forGuy Harris1-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. svn path=/trunk/; revision=2810
2000-12-02Some tvbuffified dissectors weren't setting "pinfo->current_proto", soGuy Harris1-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. svn path=/trunk/; revision=2730
2000-11-19For each column, have both a buffer into which strings for that columnGuy Harris1-20/+6
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. svn path=/trunk/; revision=2670
2000-11-05Make the RTCP, RTP, WSP, and WTP dissectors check whether theirGuy Harris1-15/+8
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". svn path=/trunk/; revision=2568
2000-11-04One of the header files included by "packet-wsp.c", or one of the headerGuy Harris1-1/+8
files one of those header files includes (compute transitive closure here), appears to define DELETE, on Windows, in a fashion that causes "packet-wsp.c" not to compile. Undefine DELETE before using it as a name for an enum value. svn path=/trunk/; revision=2559
2000-11-04WAP support, from Neil Hunter.Guy Harris1-0/+1492
svn path=/trunk/; revision=2558