aboutsummaryrefslogtreecommitdiffstats
path: root/packet-wcp.c
AgeCommit message (Collapse)AuthorFilesLines
2003-01-31Get rid of BASE_BIN - it's just the same as BASE_DEC, but people seemedGuy Harris1-2/+2
to be using it for stuff that should be hex, and for stuff that should be Boolean. Use BASE_DEC if it should be decimal, BASE_HEX if it should be hex, and make it Boolean if it should be Boolean. svn path=/trunk/; revision=7053
2002-11-08Allow more than one circuit with the same circuit ID; a circuit has aGuy Harris1-3/+5
starting and ending frame number, and circuits with the same circuit ID are sorted by the starting frame number (the last circuit can have 0 as the ending frame number, meaning "unknown"), and, when looking up a circuit, we take a frame number as an argument and return the circuit that includes that frame. Add a new circuit ID type for X.25 virtual circuits, and use the circuit mechanism to keep track of the dissector for an X.25 virtual circuit rather than having a private mechanism. svn path=/trunk/; revision=6580
2002-10-22Add in a notion of "circuits", which are for virtual circuit-orientedGuy Harris1-27/+31
protocols (where there's a virtual circuit ID of some sort in packets) what conversations are for protocols ultimately running atop connectionless network layers. Have circuit type and ID values in the "packet_info" structure. Have the Frame Relay dissector set the circuit type and ID values, and have the Wellfleet compression protocol set up circuit information and store compression information with the circuit. svn path=/trunk/; revision=6469
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-37/+37
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-5/+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. svn path=/trunk/; revision=5932
2002-07-31From Motonori Shindo: support for reading CoSine L2 debug output.Guy Harris1-4/+4
svn path=/trunk/; revision=5922
2002-06-06Keep an invalid packet length from overflowing a data buffer.Gerald Combs1-1/+9
svn path=/trunk/; revision=5638
2002-06-04Get rid of the "data_src" member of the "frame_data" structure; put itGuy Harris1-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". svn path=/trunk/; revision=5614
2002-04-11From Joerg Mayer: get rid of some unused arguments, and make someGuy Harris1-10/+10
routines not used outside the file in which they're defined static. svn path=/trunk/; revision=5144
2002-02-27Label the data source for various forms of reassembled data with theGuy Harris1-2/+2
protocol that fragmented them, rather than just calling them "Reassembled". Do the same with uncompressed WCP data. svn path=/trunk/; revision=4822
2002-02-18Don't give tvbuffs names; instead, give data sources names, where aGuy Harris1-6/+6
"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. svn path=/trunk/; revision=4749
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-3/+3
"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/"). svn path=/trunk/; revision=4586
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-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
2001-12-03Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris1-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. svn path=/trunk/; revision=4308
2001-11-30Make "fr_subdissector_table" static - it's not used outside the FrameGuy Harris1-3/+1
Relay dissector. svn path=/trunk/; revision=4298
2001-11-27Get rid of some code to set "pinfo->current_proto"; let the EtherealGuy Harris1-5/+3
infrastructure do it for the dissectors. Make some WCP dissector routines static. svn path=/trunk/; revision=4283
2001-11-27Change "conversation_set_dissector()" to take a dissector handle, ratherGuy Harris1-3/+9
than a pointer to a dissector function, as an argument. This means that the conversation dissector is called through "call_dissector()", so the dissector itself doesn't have to worry about checking whether the protocol is enabled or setting "pinfo->current_proto", so get rid of the code that does that in conversation dissectors. Also, make the conversation dissectors static. Get rid of some direct calls to dissectors; replace them with calls through handles, and, again, get rid of code to check whether a protocol is enabled and set "pinfo->current_proto" where that code isn't needed. Make those dissectors static if they aren't already static. Add a routine "create_dissector_handle()" to create a dissector handle without registering it by name, if the dissector isn't used outside the module in which it's defined. svn path=/trunk/; revision=4281
2001-11-21If we have to worry about subdissectors changing the "packet_info"Guy Harris1-12/+1
structure, we may have to worry about it in more places than the places that *used* to set "pi.len" and "pi.captured_len", so there's no point in just saving and restoring it there. We'll remove those saves/restores, and worry about saves and restores when we find a problem. svn path=/trunk/; revision=4245
2001-11-20Get rid of the "len" and "captured_len" members of the "packet_info"Guy Harris1-5/+4
structure; they're no longer used. svn path=/trunk/; revision=4236
2001-11-15Get rid of NullTVB, the "compat_top_tvb" member of the "packet_info"Guy Harris1-2/+1
structure, the check for a null tvbuff pointer in "alloc_field_info()", and the "tvb_create_from_top()" macro; they're no longer needed, as there's no non-tvbuffified dissector code remaining. svn path=/trunk/; revision=4205
2001-09-03Instead of having a single datum attached to a conversation, have a listGuy Harris1-10/+14
of protocol-id-plus-datum pairs, so that multiple protocols can attach information to the same conversation. Dissectors that attach information to a conversation should not assume that if they find a conversation it has one of its data attached to it; the conversation might've been created by another dissector. svn path=/trunk/; revision=3901
2001-06-18From Joerg Mayer: explicitly fill in all members of aGuy Harris1-26/+26
"header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
2001-04-10If the tvbuff pointer is null in "alloc_field_info()", get the dataGuy Harris1-1/+14
source name from "pi.compat_top_tvb", which should always be set to the tvbuff that refers to the data that old-style dissectors are currently working on. Arrange that it be so set in those dissectors that create alternate data sources and call other dissectors, and also arrange that "pi.len" and "pi.captured_len" be set appropriately as well. svn path=/trunk/; revision=3286
2001-03-30NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,Guy Harris1-37/+6
respectively, not Q.931 and Q.2931, in Frame Relay. When dissecting Q.933-style multiprotocol encapsulated Frame Relay frames, use the "osinl" dissector table to check for OSI network layer protocols, include the NLPID in the tvbuff you hand to "dissector_try_port()" with that dissector table, and put the NLPID into the protocol tree as an invisible item - the NLPID is considered part of the PDU for those protocols, so you have to include it in the tvbuff, and the dissector will put it into the protocol tree. Also, make sure the top-level entry for the Frame Relay protocol includes all the bytes preceding the payload, and none of the payload bytes. Export a routine to do Q.933-style dissection, and have the WCP dissector call it, rather than duplicating that code in the WCP dissector. Don't register OSI network layer protocols with the "fr.ietf" dissector table; it's now sufficient to register them with the "osinl" dissector table, as the Frame Relay dissector now checks that. Get rid of unnecessary checks for protocols being enabled (if the dissector is always called through handles or dissector tables, the common code for handles and dissector tables will do the checks for you). Get rid of some unnecessary #includes. svn path=/trunk/; revision=3211
2001-03-29Add WCP to the list of Ethernet types in "etype_vals[]", and addGuy Harris1-3/+2
"compressed" to the list of NLPIDs in "nlpid_vals[]". Use "nlpid_vals" for the Frame Relay NLPID field. svn path=/trunk/; revision=3206
2001-03-29An NLPID of 0xb0 is defined by ISO/IEC TR 9577 to be "Data compressionGuy Harris1-2/+2
protocol"; give it a more generic name than NLPID_WCP. svn path=/trunk/; revision=3204
2001-03-26Added the created tvbuff into the original tvbuff chain so clean-up is ↵Jeff Foster1-1/+4
performed. svn path=/trunk/; revision=3192
2001-03-23Add "volatile" qualifiers so that variables survive a setjmp/longjmpGuy Harris1-3/+3
operation. svn path=/trunk/; revision=3175
2001-03-23Pull the NLPID for Wellfleet compression into "nlpid.h".Guy Harris1-2/+1
svn path=/trunk/; revision=3173
2001-03-23Fixed problem in wcp_uncompress. If the proto_tree was null the programJeff Foster1-10/+16
would segfault when creating the sub-tree. svn path=/trunk/; revision=3170
2001-03-23Updated the frame relay dissector - dissect-fr.cJeff Foster1-0/+756
Added the LMI dissector for frame relay - dissect-lmi.c Added Wellfleet compression dissector - dissect-wcp.c svn path=/trunk/; revision=3168