aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-llc.c
AgeCommit message (Collapse)AuthorFilesLines
2017-10-21Remove oui_vals value_string and epan/oui.cMichael Mann1-6/+8
oui.c is a very small subset of what comes from http://standards.ieee.org/regauth/oui/oui.txt, so use the "full" OUI list (and more) out of the manuf file and convert hf_ fields to just use BASE_OUI. Change-Id: Ic0c2ff618d8a6212f498e3b7475e0a7856c22b5b Reviewed-on: https://code.wireshark.org/review/24007 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-06llc: replace GHashTable and glib allocator with wmem.Dario Lombardo1-6/+6
Change-Id: Ia7736e0faff16dd73d56a91b5a96cc715e3ce75d Reviewed-on: https://code.wireshark.org/review/19953 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2016-12-31Dissectors don't need a journey of self discovery.Michael Mann1-3/+3
They already know who they are when they register themselves. Saving the handle then to avoid finding it later. Not sure if this will increase unnecessary register_dissector functions (instead of using create_dissector_handle in proto_reg_handoff function) when other dissectors copy/paste, but it should make startup time a few microseconds better. Change-Id: I3839be791b32b84887ac51a6a65fb5733e9f1f43 Reviewed-on: https://code.wireshark.org/review/19481 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-11-12fix no previous prototype for ‘capture_*’ [-Wmissing-prototypes]Alexis La Goutte1-2/+2
Change-Id: Ie5bfe4d366a679ebcb561716f23d174e7b9bf487 Reviewed-on: https://code.wireshark.org/review/18754 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-28Implement registration of capture dissectors by nameJoão Valverde1-37/+47
Mirror it after protocol dissector API. Change-Id: I7985bcfa9e07654c7cf005efec94efc205d7a304 Reviewed-on: https://code.wireshark.org/review/18496 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-13Convert most UDP dissectors to use "auto" preferences.Michael Mann1-10/+2
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67, convert dissectors that use "udp.port". More cleanup done on dissectors that use both TCP and UDP dissector tables, so that less preference callbacks exist. Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3 Reviewed-on: https://code.wireshark.org/review/18120 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-08-31Don't do any Decode As stuff for dissector tables not used with Decode As.Guy Harris1-3/+3
Have all dissector tables have a "supports Decode As" flag, which defaults to FALSE, and which is set to TRUE if a register_decode_as() refers to it. When adding a dissector to a dissector table with a given key, only add it for Decode As if the dissector table supports it. For non-FT_STRING dissector tables, always check for multiple entries for the same protocol with different dissectors, and report an error if we found them. This means there's no need for the creator of a dissector table to specify whether duplicates of that sort should be allowed - we always do the check when registering something for "Decode As" (in a non-FT_STRING dissector table), and just don't bother registering anything for "Decode As" if the dissector table doesn't support "Decode As", so there's no check done for those dissector tables. Change-Id: I4a1fdea3bddc2af27a65cfbca23edc99b26c0eed Reviewed-on: https://code.wireshark.org/review/17402 Petri-Dish: Guy Harris <guy@alum.mit.edu> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-03-20Create call_data_dissector() to call data dissector.Michael Mann1-17/+10
This saves many dissectors the need to find the data dissector and store a handle to it. There were also some that were finding it, but not using it. For others this was the only reason for their handoff function, so it could be eliminated. Change-Id: I5d3f951ee1daa3d30c060d21bd12bbc881a8027b Reviewed-on: https://code.wireshark.org/review/14530 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-20Manually add protocol dependencies derived from find_dissector.Michael Mann1-7/+7
Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector. "data" dissector was not considered to be a dependency. Change-Id: I15d0d77301306587ef8e7af5876e74231816890d Reviewed-on: https://code.wireshark.org/review/14509 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-17Associate dissector tables and heuristic subdissector lists with a protocol.Michael Mann1-4/+4
This will make it easier to determine protocol dependencies. Some LLC OUI dissector tables didn't have an associated protocol, so they were left without one (-1 used) Change-Id: I6339f16476510ef3f393d6fb5d8946419bfb4b7d Reviewed-on: https://code.wireshark.org/review/14446 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-13Dissection of SSAPs is a bit weird. 0x1 would be displayed as ">Unknown (0x01)"Joerg Mayer1-1/+2
on my particular trace. This duplicates the value with the C/R-bit set. Needs a proper fix eventually. Small indentation fix. Change-Id: I6bf7c560b5161994b8d90d7ae70724c03c6df73b Reviewed-on: https://code.wireshark.org/review/13926 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-12-20Create capture dissector table for LLC non-snap dissectors.Michael Mann1-18/+2
Change-Id: I37602d0e2148150b55b2812855bccf2f181d31b8 Reviewed-on: https://code.wireshark.org/review/12737 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-17Create capture dissector "info" structure (capture_packet_info_t)Michael Mann1-10/+10
While it currently only contains packet_counts, it will hopefully stabilize the capture function signature if more fields are added. Change-Id: I003552c58043c7c2d67aec458187b12b233057e2 Reviewed-on: https://code.wireshark.org/review/12690 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-14Create some more capture dissector tables.Michael Mann1-0/+2
These were created from capture dissector functions that had switch statements determine "next" protocol/dissector. The registration decreases the need for function declarations in header files. Added new capture dissection tables for IP, IPv6, TCP and UDP as that seems like the next logical place to expand Change-Id: I1ec0cd54eecda4f400669ee5b026bf6e2b46545a Reviewed-on: https://code.wireshark.org/review/12634 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-14Create capture dissector tables.Michael Mann1-50/+34
They are modeled after dissection dissector tables, but for the moment, don't have/need the flexibility. They are intended to be much simpler/faster than full dissection. The two most used/needed are "wtap_encap" and "ethertype", so they were the basis of starting to use and test capture dissector table API. Others may be added in the future. The "capture dissector" function signature needed a bit of tweeking to handling "claiming" of a packet. The current application of this is capture functions returning TRUE if they affected a "type" of packet count. Returning FALSE ends up considering the packet an "other" type. Change-Id: I81d06a6ccb2c03665f087258a46b9d78d513d6cd Reviewed-on: https://code.wireshark.org/review/12607 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-13Standardize the capture dissector function signature.Michael Mann1-9/+9
This will make it easier to mold into (capture) dissector tables. Change-Id: Iad63f2c2869782977992a3a072adb020be4b1818 Reviewed-on: https://code.wireshark.org/review/12587 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-13Create a way to register "capture" dissectors.Michael Mann1-1/+1
Capture dissectors could be architected like dissection dissectors, with tables and subtables and possibly using tvbs to pass there data instead of raw byte arrays. This is a first step towards that by refactoring capture_info_packet() to work off of a "capture dissector table" Registering the capture dissection functions instead of calling them directly also clears up a bunch of dissector header files who sole purpose was providing the capture dissection function definition. Change-Id: I10e9b79e061f32d2572f009823601d4f048d37aa Reviewed-on: https://code.wireshark.org/review/12581 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-09new_register_dissector -> register_dissector for dissector directory.Michael Mann1-2/+2
Change-Id: Ie39ef054a4a942687bd079f3a4d8c2cc55d5f22c Reviewed-on: https://code.wireshark.org/review/12485 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-14register_dissector -> new_register_dissectorMichael Mann1-22/+19
Picking off "easy" dissectors that only have one or two exit points at most. Change-Id: I25fe6a0aac93980333217d007702799d16946563 Reviewed-on: https://code.wireshark.org/review/11816 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-04Don't allow multiple registrations of a protocol in dissector tables.Michael Mann1-3/+3
The target here is the Decode As dialog where protocols have multiple registrations into a dissector table and that shows up as multiple entries in the Decode As dialog list with the same name so users are unsure which "dissector" they are choosing. The "default" behavior (done in this commit) is to not allow duplicates for a dissector table, whether its part of Decode As or not. It's just ENFORCED for Decode As. Bug: 3949 Change-Id: Ibe14fa61aaeca0881f9cc39b78799e314b5e8127 Reviewed-on: https://code.wireshark.org/review/11405 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-04-07Add proper "Decode As" mechanism for AAL2 instead of preference.Michael Mann1-0/+2
Also create dissector table for AAL5 subdissectors. This isn't identified as a "Decode As" need, but now the conversion should be easier if that becomes needed. Change-Id: Ie70318991874de9ef8d95a2853dfceb3c0b94a00 Reviewed-on: https://code.wireshark.org/review/7894 Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-18Add a CF_FUNC macro for casting BASE_CUSTOM functions.Gerald Combs1-2/+2
Add a CF_FUNC macro to match VALS, TFS, etc. This should help us to avoid the following warning: warning: ISO C forbids initialization between function pointer and 'void *' [-Wpedantic] We could start adding DIAG_OFF+DIAG_ON everywhere but this seems to be more consistent with the other macros in proto.h. Update each instance of BASE_CUSTOM to use CF_FUNC. Adjust a dummy variable name generated by asn2wrs.py that was triggering an invalid error in checkhf.pl. Fix an encoding arguement in packet-elasticsearch.c found by fix-encoding-args.pl. Change-Id: Id0e75076c2d71736639d486f47b87bab84e07d22 Reviewed-on: https://code.wireshark.org/review/7150 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-23Deleting unnecessary #includes from dissectors.Martin Mathieson1-2/+0
Third batch (packet-icmpv6.c -> packet-mac-lte.c). Will look at cleaning up and committing script afterwards. Change-Id: Ib91e36ad200db01c3000605f6a7a21125b96a640 Reviewed-on: https://code.wireshark.org/review/6018 Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com> Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-21Cleanup use of #includes in non-generated epan/dissector/*.cBill Meier1-3/+1
Specifically: - Set packet.h to be the first wireshark #include after config.h and "system" #includes. packet.h added as an #include in some cases when missing. - Remove some #includes included (directly/indirectly) in packet.h. E.g., glib.h. (Done only for those files including packet.h). - As needed, move "system" #includes to be after config.h and before wireshark #includes. - Rework various #include file specifications for consistency. - Misc. Change-Id: Ifaa1a14b50b69fbad38ea4838a49dfe595c54c95 Reviewed-on: https://code.wireshark.org/review/5923 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-13Use ENC_BIG_ENDIAN when fetching FT_U?INT8 fields ...Bill Meier1-4/+4
Change-Id: Ie8cb993bb9dd3e8dbfa1876a4e731bca10ee0507 Reviewed-on: https://code.wireshark.org/review/5754 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-11-09Create a subdissector table for juniper payload protocols.Michael Mann1-0/+4
Change-Id: I60fd9c6c486b9b3b90e32fb9ccce3973569cc2ee Reviewed-on: https://code.wireshark.org/review/5204 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Evan Huus <eapache@gmail.com>
2014-10-06Adjust indentation to match editor modelines; Do other minor whitespace changes.Bill Meier1-3/+3
Change-Id: Ic020b2c92db5d14a2be9dc4d35aef4514b8b0353 Reviewed-on: https://code.wireshark.org/review/4502 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-08-15paacket-llc.c: Minor changesBill Meier1-2/+14
- Remove unneeded '#include <epan/conversation.h>'; - tvb_length_remaining() --> tvb_reported_length_remaining(); - Add editor modelines. Change-Id: I8410a1286238c0fa1ec9f6b680ab0eb2665672f9 Reviewed-on: https://code.wireshark.org/review/3621 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-08-14Eliminate proto_tree_add_text from some dissectors.Michael Mann1-44/+31
Other minor cleanup while in the neighborhood. Change-Id: If73a029f564219782c313d4154c24c7ce7458b52 Reviewed-on: https://code.wireshark.org/review/3574 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-19Revert "Fixup: tvb_* -> tvb_captured"Michael Mann1-1/+1
https://www.wireshark.org/lists/wireshark-dev/201406/msg00131.html This reverts commit 246fe2ca4c67d8c98caa84e2f57694f6322e2f96. Change-Id: Ib24bae0198c13a84bd7f731bf4af921212109a8f Reviewed-on: https://code.wireshark.org/review/2430 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-18Fixup: tvb_* -> tvb_capturedDario Lombardo1-1/+1
Change-Id: I9209c1271967405c34c1b6fa43e1726a4d3a5a3f Reviewed-on: https://code.wireshark.org/review/2377 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-01Just have one value_string table for OUIs.Guy Harris1-1/+1
While we're at it, get rid of duplicate #defines for some OUIs, sort the OUI #defines, and fix some routine names. Change-Id: I8f4e5408b44896c3629a0014299b060ebc15bab6 Reviewed-on: https://code.wireshark.org/review/1906 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-31Move the definitions of OUI value_strings to epan/oui.c.Guy Harris1-55/+0
Change-Id: Iad921bebad03dd482b58a38ed25ae3f4a99c5cf2 Reviewed-on: https://code.wireshark.org/review/1904 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-02-25Remove trailing whitespace.Bill Meier1-3/+3
Change-Id: Ia03a1cd4590aceda30ead4aa93ad413d90c6aea6 Reviewed-on: https://code.wireshark.org/review/372 Reviewed-by: Bill Meier <wmeier@newsguy.com> Tested-by: Bill Meier <wmeier@newsguy.com>
2013-12-18Remove unneeded #include epan/dissectors/packet-scsi.hAlexis La Goutte1-1/+0
svn path=/trunk/; revision=54234
2013-12-18Fix [-Wmissing-prototypes]Anders Broman1-0/+1
svn path=/trunk/; revision=54209
2013-12-15Fix [-Wmissing-prototypes]Jakub Zawadzki1-0/+3
svn path=/trunk/; revision=54135
2013-12-14Add a cast to silence an unnecessary warning.Evan Huus1-1/+1
svn path=/trunk/; revision=54093
2013-12-14From Peter Paluch via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9158Evan Huus1-15/+61
Currently, the LLC dissector in packet-llc.c displays the values of DSAP IG bit and SSAP CR bit as separate items in the proto tree. This gives an impression that these entries are separate fields in the LLC header while in reality, they are only the least significant bits in DSAP/SSAP octets. In addition, the importance of these bits is relatively low in today's LLC-based protocols (they are mostly set to 0), so having them always displayed in the proto tree is somewhat of a luxury. Modify the LLC dissector by having added a subtree to both DSAP and SSAP items that displays the IG and CR bits as bits in a bitfield, and moved the display of IG and CR bits into these subtrees. It may seem that adding a text item instead of a FT_UINT8 value is not a sensible approach because such item is not filterable. However, if filtering by the entire DSAP/SSAP value (which is the typical way of filtering on SAPs), this value is always added to the tree in its entirety and indexed by "llc.dsap" and "llc.ssap" filter strings. If the GI or CR bit are to be matched, "llc.dsap.ig" and "llc.ssap.cr" filter strings are available. Searching for the value of the DSAP/SSAP & 0xFE which would be the value currently added by the proto_tree_add_text() is not done and should not be done, as IEEE stipulates: "An individual actual address value does not necessarily have any relationship with a group address of the same actual address value." (http://standards.ieee.org/develop/regauth/tut/llc.pdf) Following this consideration, the choice of displaying the SAP "actual address" using proto_tree_add_text() is acceptable. svn path=/trunk/; revision=54091
2013-11-29Avoid including <wiretap/wtap.h> in dissectors.Jakub Zawadzki1-0/+2
svn path=/trunk/; revision=53655
2013-11-29Rename some of pint.h macros to match common style (bits number on the end).Jakub Zawadzki1-1/+1
pntohs -> pntoh16 pntohl -> pntoh32 pletohs -> pletoh16 pletohl -> pletoh32 phtons -> phton16 phtonl -> phton32 svn path=/trunk/; revision=53652
2013-11-09include <wsutil/pint.h> only when needed.Jakub Zawadzki1-0/+1
svn path=/trunk/; revision=53196
2013-09-11Instead of prepending "LLC " to the UI table name, just modify the table name. Chris Maynard1-3/+1
svn path=/trunk/; revision=51952
2013-09-09Change some internal dissector table UI names so it's clear which protocol ↵Chris Maynard1-1/+3
they pertain to and it's easier to find in the list. svn path=/trunk/; revision=51904
2013-06-14Removed check_col() and the occasional tree.Michael Mann1-15/+7
svn path=/trunk/; revision=49938
2013-04-07Fix some Dead Store (Dead assignement/Dead increment) Warning found by ClangAlexis La Goutte1-1/+0
svn path=/trunk/; revision=48783
2013-03-19From beroset:Anders Broman1-3/+3
remove C++ incompatibilities https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416 svn path=/trunk/; revision=48425
2013-03-18From Michal Labedzki:Anders Broman1-1/+1
Fix issues discovered by cppcheck Also use global OUI array in AVRCP. Thanks to Evan Huus for cppcheck. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8304 svn path=/trunk/; revision=48387
2012-11-04From Andrei Emeltchenko: Add OUI_BLUETOOTH part of ↵Anders Broman1-0/+1
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7633 bt-oui: Add decoding Bluetooth High Speed over wireless svn path=/trunk/; revision=45887