Commit Graph

92 Commits

Author SHA1 Message Date
Guy Harris a2414d8909 Don't wire into the reassembly code the notion that reassemblies should
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-03-22 23:59:54 +00:00
Jaap Keuter 827eb58b04 From David Arnold:
Replace use of INCLUDES with AM_CPPFLAGS in all Makefiles to placate recent autotools.

svn path=/trunk/; revision=48261
2013-03-12 06:53:39 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Guy Harris 29715ccc8f How can I get a new tvbuff that starts at an offset within a given
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-19 23:17:07 +00:00
Evan Huus f95978cf08 From Hannes Mezger via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8327
Updates to the OPCUA plugin so that subtrees of the dissector select the
appropriate number of bytes. Also fix dissection of the array dimensions
field for matrix values and the highlighting for empty string fields.

svn path=/trunk/; revision=47673
2013-02-15 15:24:39 +00:00
Bill Meier f784806968 Comment out numerous unused hf_.... instances found by checkhf.
svn path=/trunk/; revision=47617
2013-02-10 20:52:21 +00:00
Bill Meier af28be3598 Fix a (benign) ERROR: NO ARRAY: opcua/opcua.c, hf_opcua_reassembled_data
svn path=/trunk/; revision=47614
2013-02-10 19:30:37 +00:00
Guy Harris e30d2b5001 Make the other plugin makefiles use the new style introduced in the MATE
makefiles.

svn path=/trunk/; revision=47579
2013-02-09 05:31:15 +00:00
Guy Harris 8ed7a73e22 Fix a bunch of warnings.
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-26 05:57:06 +00:00
Anders Broman 8f3f87a931 Bump revission.
svn path=/trunk/; revision=46447
2012-12-07 19:15:34 +00:00
Anders Broman 5505655199 From hannes:
'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-07 16:57:14 +00:00
Anders Broman e7c9ade670 From hannes:
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-07 09:33:40 +00:00
Bill Meier 7cd0417af5 Fix numerous instances of a variable/parameter name "shadowing" a library function name;
(At least some (gcc ?) compilers give a "shadow" warning for these).

svn path=/trunk/; revision=46402
2012-12-05 15:56:36 +00:00
Jeff Morriss 3551a86c36 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45015
2012-09-20 01:29:52 +00:00
Jakub Zawadzki b18e880040 Update FSF address - part II.
svn path=/trunk/; revision=43538
2012-06-28 23:18:38 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Bill Meier 3d4b3f2784 Set Makefile.common as a plugin.c dependency so plugin.c is rebuilt if Makefile.common is changed
svn path=/trunk/; revision=42972
2012-06-01 14:44:35 +00:00
Bill Meier 1caa79ad80 Windows: Set Makefile.common as a plugin.c dependency so plugin.c is rebuilt if Makefile.common is changed
ToDo: ditto for Makefile.am ?

svn path=/trunk/; revision=42971
2012-06-01 14:08:12 +00:00
Guy Harris 90f564717f Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

Clean up indentation.

svn path=/trunk/; revision=42586
2012-05-11 19:20:23 +00:00
pascal 48f4ae6e3b From Nhi Nguyen:
OPC UA bytestring node id decoding is wrong
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7226

svn path=/trunk/; revision=42437
2012-05-05 04:57:40 +00:00
Jakub Zawadzki a3aa2b7d7c Add missing consts in opcua plugin.
svn path=/trunk/; revision=42000
2012-04-09 20:06:27 +00:00
Jeff Morriss 75c3c92f19 Add a "-build" argument to checkAPIs.pl. Use that argument when building
from makefiles (and thus from the buildbot).

The intention is to be able to tell when a human is running the tool so we
can provide more code-review guidance.

As a starter, enable the "too many proto_tree_add_text() calls" check when
a human is running the tool.

svn path=/trunk/; revision=41943
2012-04-04 20:46:49 +00:00
Anders Broman 8e97665863 Add *.sbr files to the clean target.
svn path=/trunk/; revision=40761
2012-01-29 20:03:39 +00:00
Bill Meier 794757ae8f For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
Also: remove trailing whitespace for a number of files.

svn path=/trunk/; revision=39503
2011-10-21 02:10:19 +00:00
Bill Meier cca6984ab9 Do some more conversions of proto_tree_add_item() 'encoding' arg
(previously missed).

svn path=/trunk/; revision=39450
2011-10-18 00:17:48 +00:00
Bill Meier 782cc6e3c3 Convert plugin files proto_tree_add_item() 'encoding' arg for field types FT_STRING, FT_STRINGZ, FT_UINT_STRING as follows:
1. If there's no character encoding (ENC_ASCII, ...) specified
    then use ENC_ASCII.
 2. For all but FT_UINT_STRING, always use ENC_NA
    (replacing any existing True/1/FALSE/0
    /ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN).

svn path=/trunk/; revision=39429
2011-10-15 19:58:31 +00:00
Bill Meier 9eb54292d3 Convert 'encoding' parameter of certain proto_tree_add_item() calls in plugins/*:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
  the encoding parameter for proto_tree_add_item() calls which directly reference
  an item in hf[] which has a type of:
     FT_BOOLEAN
     FT_IPv4
     FT_EUI64
     FT_GUID
     FT_UINT_STRING

Also: For type FT_ITv6 use ENC_NA. (This was missed in an earlier SVN)

svn path=/trunk/; revision=39329
2011-10-10 00:53:55 +00:00
Bill Meier 02065b0981 Convert 'encoding' parameter of certain proto_tree_add_item() calls in plugin dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
 the encoding parameter for proto_tree_add_item() calls which directly reference
 an item in hf[] which has a type of:
    FT_UINT8
    FT_UINT16
    FT_UINT24
    FT_UINT32
    FT_UINT64
    FT_INT8
    FT_INT16
    FT_INT24
    FT_INT32
    FT_INT64
    FT_FLOAT
    FT_DOUBLE


svn path=/trunk/; revision=39292
2011-10-06 14:46:34 +00:00
Stig Bjørlykke cb56e84556 Removed unused parameter to parseServiceNodeId.
Coverity 596.

svn path=/trunk/; revision=36283
2011-03-23 08:03:02 +00:00
Bill Meier d3efa3ed9f A bit of Windows makefiles rework and cleanup:
- Define macros for certain CFLAGS in config.nmake iso of having defs in each makefile;
  a. -DHAVE_CONFIG_H and -D_U_="" are now part of a macro named STANDARD_CFLAGS;
  b. -WX has been replaced by WARNINGS_ARE_ERRORS (defined as -WX in config.nmake)
      (This allows disabling "Warnings as Errors" by just changing config.nmake)
  c. CVARSDLL definitions (not usage) have been removed from the various makefiles.
     XXX: It appears the usage of CVARSDLL can also be removed (not yet done) since:
     -DWIN32 and -DNULL=0 do not appear to be needed (any more);
     -D_MT and _D_DLL  are not needed since /MP causes these definitions.
  d. Define a macro WARNINGS_CFLAGS with additional specific compiler (level4) warnings to be enabled.
     E.G., 4295: array is too small to include a terminating null character
- config.nmake: reformat some long lines for readability;
- plugins\Makefile.nmake: clean-deps does nothing: remove it (and usage in top-level makefile);
- dissectors/Makefile.nmake: test to enable packet-rrc.obj target needs to include MSVC2010 ...

svn path=/trunk/; revision=35747
2011-02-02 01:19:53 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
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-20 05:35:29 +00:00
Stig Bjørlykke d9af8b16ba Added opcua_extensionobjecttable.c from revision 34906.
svn path=/trunk/; revision=35177
2010-12-11 21:40:01 +00:00
Jeff Morriss 64a099a652 From Gerhard Gappmeier via 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-12-04 02:54:59 +00:00
Jeff Morriss 4f6ea6ef47 From Gerhard Gappmeier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5427 :
This patch adds support for dissecting all Extension Objects types defined by
the OPC Foundation.

svn path=/trunk/; revision=35118
2010-12-04 02:54:25 +00:00
Anders Broman a06eef00b8 From Gerhard Gappmeier:
Fix mapping of datatype strings in opcua plugin
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5428

svn path=/trunk/; revision=35105
2010-12-02 20:44:18 +00:00
Jeff Morriss 3c7ac06886 From Gerhard Gappmeier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5410 :
This patch adds support for displaying OPC UA ExtensionObjects.

An ExtensionObject is a mechanism to transport user defined structures as
serialized blobs. Some types of ExtensionObjects are already defined by the OPC
Foundation's OPC UA Specifications.
These types can be implemented by this dissector, because they are well-known.

Real user-defined or vendor-defined types are unlikely to be implemented by a
passive dissector, because this would require browsing of the UA server's
address space to retrieve the type information.

Currently only the following types are supported:

 * DataChangeNotification
 * EventNotification

Others OPC defined types will follow.


From me: fix warnings: "format not a string literal and no format arguments"

svn path=/trunk/; revision=34906
2010-11-16 17:00:50 +00:00
Jeff Morriss b7b98d4315 From Gerhard Gappmeier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5409 :
This patch fixes displaying OPCUA Strings and ByteStrings.

From me: fix warnings: "format not a string literal and no format arguments"

svn path=/trunk/; revision=34905
2010-11-16 16:45:22 +00:00
Jeff Morriss 987e35df39 From Gerhard Gappmeier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5406 :
I attached a patch which fixes some problems in the array handling of OPC UA 
data when the array length is zero or -1 which is a Null-Array.

svn path=/trunk/; revision=34880
2010-11-15 18:52:41 +00:00
Guy Harris ac3ac6c476 Plugins are not shared libraries, so:
1) don't set thei SOVERSION - run-time-loaded modules don't have
	   an SOVERSION;

	2) build them with link mode MODULE, not SHARED, on all
	   platforms.

(Fixing 1) also fixes the problem with building them as MODULE on OS X.)

svn path=/trunk/; revision=34243
2010-09-24 20:41:34 +00:00
Jörg Mayer de68ad3066 H. Sivank <hsivank@gmail.com>
I try to configure Wireshark with cmake on macosx 10.6.
It fails with : set_target_properties called with incorrect number of arguments.
Attached a patch to fix this issue.


svn path=/trunk/; revision=34201
2010-09-23 07:02:33 +00:00
Jeff Morriss 54082c6ed0 Add Cmake stuff to the source distribution so more people can try it out.
svn path=/trunk/; revision=32807
2010-05-14 16:27:03 +00:00
Jeff Morriss d85cc79af1 Add some information about how/why this dissector is (partially) machine-generated and what that means to Wireshark maintainers.
svn path=/trunk/; revision=32577
2010-04-27 13:50:43 +00:00
Jeff Morriss 85885007ef Make the OpcUa plugin's fields filterable (by giving them abbreviations).
(Thank you, sed, for doing the 90% of the work for me.)

Note that two of these files says "do not modify" implying that they are
machine generated but AFAIK we don't have the means to rebuild them.

svn path=/trunk/; revision=32561
2010-04-26 00:15:30 +00:00
Bill Meier 5ccee6196a Remove some uneeded #includes
svn path=/trunk/; revision=32419
2010-04-07 18:24:18 +00:00
Anders Broman 7cfa27b04b Get rid of a bunch of check_col().
svn path=/trunk/; revision=32388
2010-04-05 20:04:52 +00:00
Jörg Mayer 96779de920 cmake changes:
- Add checking for linker flags
- Install plugins with the name including the Wireshark version.
  This will make it easier to find matching plugin versions if
  files get just copied over.


svn path=/trunk/; revision=32231
2010-03-18 10:27:17 +00:00
Jörg Mayer 67072286bf - Remove the lib prefix for plugin names.
- Remove a (resolved) comment.
- Add a commented out line how to add version infos to the
  plugin's file name.

svn path=/trunk/; revision=31995
2010-02-24 22:32:10 +00:00
Bill Meier 1341fcd87e Fix some gcc -Wshadow warnings.
svn path=/trunk/; revision=31722
2010-01-28 21:49:30 +00:00
Guy Harris 8e236e55de For fields of type FT_ABSOLUTE_TIME, have the "display" value be one of
ABSOLUTE_TIME_LOCAL or ABSOLUTE_TIME_UTC, indicating whether to display
the date/time in local time or UTC. (int)ABSOLUTE_TIME_LOCAL ==
(int)BASE_NONE, so there's no source or binary compatiblity issue,
although we might want to eliminate BASE_NONE at some point and have the
BASE_ values used with integral types start at 0, so that you can't
specify BASE_NONE for an integral field.

svn path=/trunk/; revision=31319
2009-12-19 03:17:44 +00:00
Bill Meier 9587938020 From Martin Lutz: Patch tvb_memeql return check;
... tvb_memeql returns 0 for truth.
See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3986#c7

svn path=/trunk/; revision=31294
2009-12-17 16:22:50 +00:00