aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/opcua/opcua.c
AgeCommit message (Collapse)AuthorFilesLines
2017-02-16opcua: display abort messages correctlyHannes Mezger1-0/+14
Change-Id: I795fc3a3cf4ca93483f870d229668d7f747bb799 Reviewed-on: https://code.wireshark.org/review/20147 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-29Register reassembly tablesMichael Mann1-15/+2
Register all reassembly tables with a central unit, allowing the central unit to have the callback that initializes and destroys the reassembly tables, rather than have dissectors do it individually. Change-Id: Ic92619c06fb5ba6f1c3012f613cae14982e101d4 Reviewed-on: https://code.wireshark.org/review/19834 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-10-08Combine Decode As and port preferences for tcp.port dissector table.Michael Mann1-57/+4
This patch introduces new APIs to allow dissectors to have a preference for a (TCP) port, but the underlying data is actually part of Decode As functionality. For now the APIs are intentionally separate from the regular APIs that register a dissector within a dissector table. It may be possible to eventually combine the two so that all dissectors that register with a dissector table have an opportunity to "automatically" have a preference to adjust the "table value" through the preferences dialog. The tcp.port dissector table was used as the guinea pig. This will eventually be expanded to other dissector tables as well (most notably UDP ports). Some dissectors that "shared" a TCP/UDP port preference were also converted. It also removed the need for some preference callback functions (mostly when the callback function was the proto_reg_handoff function) so there is cleanup around that. Dissectors that has a port preference whose default was 0 were switched to using the dissector_add_for_decode_as_with_preference API rather than dissector_add_uint_with_preference Also added comments for TCP ports used that aren't IANA registered. Change-Id: I99604f95d426ad345f4b494598d94178b886eb67 Reviewed-on: https://code.wireshark.org/review/17724 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-11new_create_dissector_handle -> create_dissector_handle for plugins.Michael Mann1-1/+1
Change-Id: I0d485b1337c669291ad58b6c096657ce2db353c8 Reviewed-on: https://code.wireshark.org/review/12516 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-08-23Remove some svn $Author$ lines that escaped previous cleanups.Joerg Mayer1-2/+0
git does keep of this in a much better way anyway. Change-Id: I9923516105e63e72878e0ed34c74eed44453ab01 Reviewed-on: https://code.wireshark.org/review/10207 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-07-08opcua dissector: fix display of service type in packet columnHannes Mezger1-15/+8
The loop was iterating using g_NumServices, which is the number of entries in g_arParserTable and not the number of entries in g_requesttypes. Instead now we use val_to_str which can in addition display the ServiceId instead if not found in the table. Change-Id: If15ee5c460e07c4687464805935b92c913392011 Reviewed-on: https://code.wireshark.org/review/9459 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>
2015-07-03plugins: add cleanup routinesPeter Wu1-0/+7
Destroy the reassembly tables on exit, fix memleak in profinet dissector. Change-Id: Id34dbfde42fe715513997452f87cd4fdc328e294 Reviewed-on: https://code.wireshark.org/review/9229 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-27Lua: Expose tcp_dissect_pdus() to LuaHadriel Kaplan1-1/+2
Provide a way for Lua-based dissectors to invoke tcp_dissect_pdus() to make TCP-based dissection easier. Bug: 9851 Change-Id: I91630ebf1f1fc1964118b6750cc34238e18a8ad3 Reviewed-on: https://code.wireshark.org/review/6778 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
2014-12-22plugins: Cleanup #includesBill Meier1-3/+2
Change-Id: Ic839f2995532d68308f8b5908c185acc7acaaa9c Mostly: remove '#include <glib/glib.h>' and certain other #includes already included in packet.h Reviewed-on: https://code.wireshark.org/review/5971 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-10-17Add argument 'packet_info *pinfo' to all dissecting functionsHannes Mezger1-3/+3
Change-Id: Ie02326e365ee3f620fcbe3f2e8e45dc5300d3418 Reviewed-on: https://code.wireshark.org/review/4728 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>
2014-10-06plugins: Add editor modelines; Adjust whitespace as needed.Bill Meier1-48/+59
Change-Id: I36124f6021d46a228721bdc976f6b9fef1c8c088 Reviewed-on: https://code.wireshark.org/review/4488 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-09-17opcua: use BASE_NONE instead of 0Hannes Mezger1-4/+4
Change-Id: I5ca5d41edf1f56b24da6360a10f0c6e2600572d2 Reviewed-on: https://code.wireshark.org/review/4150 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-09-17opcua: format all hf_register_info tables by aligning them to longest valueHannes Mezger1-32/+11
Change-Id: I0b533edd7bad52922dd1e0aaa2c980e56dd88b78 Reviewed-on: https://code.wireshark.org/review/4149 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-09-17opcua: add hint to OPCUA settings tooltipHannes Mezger1-1/+1
It's unclear how the ports should be separated, this additional text in the tooltip clarifies it Change-Id: I686482522d006024f920a3cc26b83cd21c19f8a5 Reviewed-on: https://code.wireshark.org/review/4147 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-08-05Fix Bug #10348 Different dissection results for same file.AndersBroman1-90/+99
The fault is that reassembly_table_init() must be called when reloading the file - move it to an init routine and register the init routine. While there move the proto_register_opcua() routine to the end of the file to be more consistent with other dissectors. Change soft deprecated APIs Change-Id: I2b93692be24dbf60f4ef09aa7283e55ebf3c1874 Reviewed-on: https://code.wireshark.org/review/3431 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-16Cleanup subtree types in opcua pluginHannes Mezger1-3/+4
- make ett_opcua_transport static, is only used locally - format code grouping extern ett variables - add subtree variables for encodingmasks of simple types Change-Id: Ia044ca6ca0ff19e940a03d21610db67fe3679b01 Reviewed-on: https://code.wireshark.org/review/2157 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-31Continue to remove $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^\*\* \$Id\$/,+1 d') (2 star and space) Change-Id: I48505ffb8bfa103cd7db0117e18cdb1925a7034d Reviewed-on: https://code.wireshark.org/review/884 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-12-23Avoid using ephemeral memory in register routines.Evan Huus1-1/+4
svn path=/trunk/; revision=54423
2013-11-15Try to fix [-Wmissing-prototypes]Anders Broman1-0/+2
svn path=/trunk/; revision=53337
2013-11-09Add data parameter to tcp_dissect_pdus() as well as convert it to using ↵Michael Mann1-15/+15
"new" style dissectors. Now that "bytes consumed" can be determined, should tcp_dissect_pdus() take advantage of that? Should tcp_dissect_pdus return length (bytes consumed)? There are many dissectors that just call tcp_dissect_pdus() then return tvb_length(tvb). Seems like that could all be rolled into one. svn path=/trunk/; revision=53198
2013-07-17Remove fragment_data, add fragment_head, fragment_item - for now alias it to ↵Jakub Zawadzki1-1/+1
the same structure. This is begin of work to split fragment head and fragments items. svn path=/trunk/; revision=50708
2013-03-22Don't wire into the reassembly code the notion that reassemblies shouldGuy Harris1-11/+11
be done on flows from one address to another; reassembly for protocols running atop TCP should be done on flows from one TCP endpoint to another. We do this by: adding "reassembly table" as a data structure; associating hash tables for both in-progress reassemblies and completed reassemblies with that data structure (currently, not all reassemblies use the latter; they might keep completed reassemblies in the first table); having functions to create and destroy keys in that table; offering standard routines for doing address-based and address-and-port-based flow processing, so that dissectors not needing their own specialized flow processing can just use them. This fixes some mis-reassemblies of NIS YPSERV YPALL responses (where the second YPALL response is processed as if it were a continuation of a previous response between different endpoints, even though said response is already reassembled), and also allows the DCE RPC-specific stuff to be moved out of epan/reassembly.c into the DCE RPC dissector. svn path=/trunk/; revision=48491
2013-02-19How can I get a new tvbuff that starts at an offset within a givenGuy Harris1-1/+1
tvbuff and runs to the end of the tvbuff? Let me count the ways.... Replace a bunch of different ways of doing that (some incorrect, in that they're not properly handling tvbuffs where the captured and reported lengths are different) with tvb_new_subset_remaining(). svn path=/trunk/; revision=47751
2013-02-10Fix a (benign) ERROR: NO ARRAY: opcua/opcua.c, hf_opcua_reassembled_dataBill Meier1-2/+1
svn path=/trunk/; revision=47614
2012-12-26Fix a bunch of warnings.Guy Harris1-1/+1
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of sizeof. Cast away some implicit 64-bit-to-32-bit conversion errors due to use of strtol() and strtoul(). Change some data types to avoid those implicit conversion warnings. When assigning a constant to a float, make sure the constant isn't a double, by appending "f" to the constant. Constify a bunch of variables, parameters, and return values to eliminate warnings due to strings being given const qualifiers. Cast away those warnings in some cases where an API we don't control forces us to do so. Enable a bunch of additional warnings by default. Note why at least some of the other warnings aren't enabled. randpkt.c and text2pcap.c are used to build programs, so they don't need to be in EXTRA_DIST. If the user specifies --enable-warnings-as-errors, add -Werror *even if the user specified --enable-extra-gcc-flags; assume they know what they're doing and are willing to have the compile fail due to the extra GCC warnings being treated as errors. svn path=/trunk/; revision=46748
2012-12-07From hannes:Anders Broman1-1/+4
'Fix for displaying the payload of the first chunk correctly. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8068 svn path=/trunk/; revision=46445
2012-12-07From hannes:Anders Broman1-9/+218
Enable the plugin to detect and reassemble chunked UA messages for displaying them correctly. From me: - Partly applied by hand. - move hf and ett asignments inseide the register routine as per convention. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8068 svn path=/trunk/; revision=46436
2012-12-05Fix numerous instances of a variable/parameter name "shadowing" a library ↵Bill Meier1-5/+5
function name; (At least some (gcc ?) compilers give a "shadow" warning for these). svn path=/trunk/; revision=46402
2012-09-20We always HAVE_CONFIG_H so don't bother checking whether we have it or not.Jeff Morriss1-3/+1
svn path=/trunk/; revision=45015
2011-10-21For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.Bill Meier1-10/+10
Also: remove trailing whitespace for a number of files. svn path=/trunk/; revision=39503
2010-12-20Rename the routines that handle dissector tables with unsigned integerGuy Harris1-2/+2
keys to have _uint in their names, to match the routines that handle dissector tables with string keys. (Using _port can confuse people into thinking they're intended solely for use with TCP/UDP/etc. ports when, in fact, they work better for things such as Ethernet types, where the binding of particular values to particular protocols are a lot stronger.) svn path=/trunk/; revision=35224
2010-12-04From Gerhard Gappmeier via ↵Jeff Morriss1-2/+21
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5429 : Until now the info column only shows the OPC UA transport protocol type (Hello, Ack, Secure Conversion message). After connections establishment has finished this column shows only Secure Conversion message, because every service is sent over the secure channel. This patch adds the useful support of displaying the service type in the info column. This makes it easier to find specific service calls in huge capture files. svn path=/trunk/; revision=35119
2010-04-05Get rid of a bunch of check_col().Anders Broman1-4/+1
svn path=/trunk/; revision=32388
2009-12-17From Martin Lutz: Patch tvb_memeql return check;Bill Meier1-6/+6
... tvb_memeql returns 0 for truth. See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3986#c7 svn path=/trunk/; revision=31294
2009-09-09Check our array lengths and refuse to process them if they're too large.Gerald Combs1-6/+6
Fixes bug 3986. Use tvb_memeql and proto_tree_add_item instead of digging around in tvb->real_data. svn path=/trunk/; revision=29813
2009-08-09Don't guard col_set_str (COL_INFO/COL_PROTOCOL) with col_checkKovarththanan Rajaratnam1-4/+1
svn path=/trunk/; revision=29345
2009-04-06From Gerhard Gappmeier:Jaap Keuter1-63/+89
This patch updates the plugin to fit the released OPCUA protocol version. svn path=/trunk/; revision=27974
2008-10-25proto_register/proto_reg_handoff; Various small cleanup and bug-fixingBill Meier1-25/+9
remove unnecessary #include prefs.f and emem.h in a few cases... svn path=/trunk/; revision=26554
2007-05-21Make files more generic.Jaap Keuter1-1/+1
svn path=/trunk/; revision=21864
2007-05-16from Gerhard Gappmeier (ULFL: only slightly changed the unused prevention):Ulf Lamping1-1/+2
I updated the files for the build process to fit the current wireshark version. I don't know much about it so a just copied the missing parts from another module. I'm not sure of it's right, so please have a look at it. Modifications: * added plugin.rc.in * added moduleinfo.nmake * updated Makefile.am/nmake/common * removed unused variable from opcua_application_layer.c * fixed unused parameter warning in opcua.c I tested it on Windows with VC6 and on Gentoo linux with gcc 3.4.6. svn path=/trunk/; revision=21802
2007-05-15from Gerhard Gappmeier:Ulf Lamping1-3/+4
renamed prefix ua_ -> opcua_ remove unused code svn path=/trunk/; revision=21784
2007-05-15add svn properties for dir and filesUlf Lamping1-255/+255
svn path=/trunk/; revision=21780
2007-05-14from Gerhard Gappmeier (ascolab):Ulf Lamping1-0/+255
new dissector for OPCUA protocol svn path=/trunk/; revision=21760