aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ucp.c
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of calls to "proto_is_protocol_enabled()" in heuristicGuy Harris2001-12-171-4/+1
| | | | | | | | dissectors - the infrastructure for calling heuristic dissectors won't call a heuristic dissector for a protocol if the protocol isn't enabled, so there's no need for the dissector itself to check that. svn path=/trunk/; revision=4419
* Move the pointer to the "column_info" structure in the "frame_data"Guy Harris2001-12-101-8/+8
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=4370
* Get rid of the lists of conversation dissectors; instead, have aGuy Harris2001-12-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dissector table contain both a hash table, to use to look up port numbers to find a dissector, and a list of all dissectors that *could* be assigned to ports in that hash table, to be used by user interface code. Make the "Decode As" dialog box code use that. Also make it *not* let you choose whether to set the dissector for both the UDP and TCP versions of a port; some protocols run only atop TCP, some run only atop UDP, and even those that can run atop both may have different dissector handles to use over TCP and UDP, so handling a single merged list would be a mess. (If the user is setting the dissector for a TCP port, only those protocols that Ethereal can handle over TCP should be listed; if the user is setting the dissector for a UDP port, only those protocols that Ethereal can handle over TCP should be listed; if the user is setting a dissector for both, only those protocols that Ethereal can handle over *both* TCP *and* UDP should be listed, *and* there needs to be a way to let the "Decode As" code get both the TCP handle *and* the UDP handle and use the right ones. If somebody really wants that, they need to implement all of the above if they want the code to be correct.) Fix the code that handles setting the dissection for the IP protocol number to correctly update the lists of protocols being dissected as TCP and as UDP; the code before this change wasn't updating the single such list to add new protocols. svn path=/trunk/; revision=4311
* Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris2001-12-031-2/+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. svn path=/trunk/; revision=4308
* From Tom Uijldert: have an non-heuristic UCP dissector, and register itGuy Harris2001-11-051-17/+50
| | | | | | | as a TCP conversation dissector, so that it can be selected in the "Decode As" dialog box. svn path=/trunk/; revision=4163
* Fixes from Steffen Weinreich:Guy Harris2001-10-151-4/+8
| | | | | | | | | | | | | | | fix the processing of the month and year fields in the SCTC Timestamp (the month is 1-origin, so subtract 1 from it before putting it in "tm_mon", which is 0-origin; the year is a 2-digit field that is, at least, Y2K-safe (but Y2.1K-unsafe), so if it's less than 90, assume it's in the 21st century); UCP OT 50-57 messages have a fixed number of fields and a special handling of the MT is not necessary, so get rid of that. Also, fix a typo in a comment. svn path=/trunk/; revision=4030
* As UCP is atop TCP, its dissector isn't called unless there's at leastGuy Harris2001-10-081-8/+6
| | | | | | | one byte in the tvbuff being handed to it, so the check I added for the existence of that byte is unnecessary. svn path=/trunk/; revision=4011
* Remove the check I added to see whether the length of the packet, basedGuy Harris2001-10-081-5/+1
| | | | | | | | on the location of the UCB_ETX, is greater than the length of the tvbuff - that can never happen, as the UCB_ETX is, as it was found, definitely inside the tvbuff. svn path=/trunk/; revision=4010
* UCP support, from Tom Uijldert.Guy Harris2001-10-081-0/+2484
svn path=/trunk/; revision=4009