This sets the scope of the static build option to Wireshark support
libraries only.
Before the patch:
Static plugins don't work with CMake and autotools.
autotools static build is broken, and most likely will always be, as
building Wireshark all-static is difficult and time-consuming.
After the patch:
For CMake Wireshark will be built with static or shared libraries and
dynamic plugins. Everything just works. CMake apparently doesn't want
you building static and shared libraries at the same time.
For autotools Wireshark will be built with shared libraries by default.
--disable-shared and --enable-static options work as usual. Dlopened
plugins are not built if --disable-shared is given to configure (to
disable shared libraries). This is a limitations imposed by libtool.
Tested on Linux. This removes broken support for building plugins
statically.
Change-Id: Ib8e8176976f136eea93a2ce8f9857b6cf9bec64c
Reviewed-on: https://code.wireshark.org/review/24241
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
Move registration code to a new register.c file so it is readable.
Dissector load points are stored in a generated function pointer
array instead.
Simplify python script somewhat by not interleaving the plugin and
dissector logic.
Change-Id: I5ec21270f4e1550a5c911efa7f0dc4fc7fcb13a5
Reviewed-on: https://code.wireshark.org/review/24474
Reviewed-by: João Valverde <j@v6e.pt>
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Created an AdminDeployment.xml file for use with the chocolatey
package for VS2015 Community Edition and updated the WSDG to
include it.
Bug: 14147
Change-Id: Id2a701067bf38874cf0bf534cca55dba9cfd30d4
Reviewed-on: https://code.wireshark.org/review/24464
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Instead of interleaving protocol registrations and status callbacks in
the main thread, move protocol registrations to a worker thread. Do the
same with protocol handoffs. This *should* be safe since the status
callbacks only update the UI.
This reduces startup time by about 200ms on my laptop:
Run OS Thread? Time
1 macOS N 340 ms
2 macOS N 260 ms
3 macOS N 252 ms
4 macOS Y 147 ms
5 macOS Y 146 ms
6 macOS Y 142 ms
7 Win 7 N 80 samples
8 Win 7 N 56 samples
9 Win 7 N 75 samples
10 Win 7 Y 31 samples
11 Win 7 Y 2 samples
12 Win 7 Y 0 samples
macOS was sampled using Instruments. Windows 7 was sampled using the
Visual Studio 2015 profiler.
We should do the same thing with our capture and tap event loops, but
that will likely require quite a bit more work.
Change-Id: Iac9a81d8f71668f5979b524744a03f6d80aee893
Reviewed-on: https://code.wireshark.org/review/24447
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
A while back Graham pointed out the SPDX project (spdx.org), which is
working on standardizing license specifications:
https://www.wireshark.org/lists/wireshark-dev/201509/msg00119.html
Appendix V of the specification describes a short identifier
(SPDX-License-Identifier) that you can use in place of boilerplate in
your source files:
https://spdx.org/spdx-specification-21-web-version#h.twlc0ztnng3b
Start the conversion process with our top-level C and C++ files.
Change-Id: Iba1d835776714deb6285e2181e8ca17f95221878
Reviewed-on: https://code.wireshark.org/review/24302
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Not used. Remove also weird pre-hash hash optimization in proto.c.
Change-Id: Ibebc12dbe90ac1d05fb1ba601d32fe98797fbd56
Reviewed-on: https://code.wireshark.org/review/24254
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: João Valverde <j@v6e.pt>
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Set two environment variables (needs to be done before epan_init and
before the first g_slice_alloc call) to force direct memory allocation
without another layer that could hide bugs.
Change-Id: I0d72092c239e2e7f42b0b7849c01471407e785e2
Reviewed-on: https://code.wireshark.org/review/21195
Reviewed-by: Michael Mann <mmann78@netscape.net>
make-manuf lives in the "tools" directory.
Change-Id: I9be2d44178f27d46629c439ff61f624d8d99e681
Reviewed-on: https://code.wireshark.org/review/24168
Reviewed-by: Michael Mann <mmann78@netscape.net>
/src/wireshark/tools/oss-fuzzshark/fuzzshark.c:218:7: warning: implicit declaration of function 'color_filters_init' is invalid in C99 [-Wimplicit-function-declaration]
if (!color_filters_init(&err_msg, NULL))
^
1 warning generated.
Change-Id: I37dbc4521b6a3cda271e6e33a290ed35911e7dda
Reviewed-on: https://code.wireshark.org/review/24086
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Should be available on every platform we support.
Change-Id: Ib65d78e351d22d581b427e5e93fc8d5e5348b260
Reviewed-on: https://code.wireshark.org/review/24047
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Including where it says not to in comments. Use IPv4 dotted-decimal
notation.
Change-Id: Iafe1f6fbd2bd5867c41642dc27411f47dff8ce6a
Reviewed-on: https://code.wireshark.org/review/24044
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
It seems to be some sort of development helper, and since CMake doesn't
use it presumably it is not useful anymore.
Change-Id: I23e4ab24199f21310ebd09064c3ae53e48673e4d
Reviewed-on: https://code.wireshark.org/review/23945
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Petri-Dish: João Valverde <j@v6e.pt>
Reviewed-by: João Valverde <j@v6e.pt>
This will help detect some bogus checkapi runs in the future.
Change-Id: I43345e3a0a5471e9655f34e36ccf1562d6526758
Reviewed-on: https://code.wireshark.org/review/23946
Reviewed-by: Michael Mann <mmann78@netscape.net>
Autotools has the very useful feature by design of allowing the user
to override the default build flags (you break it you keep it).
Apparently CMake applies COMPILE_OPTIONS target property after
CMAKE_{C,CXX}_FLAGS so that doesn't work here. Prepend our flags to those
variables instead to make it work then.
Specific target flag overrides can still be added with COMPILER_OPTIONS
(e.g: generated files with -Wno-warning) but this is less effective and
then we're back at the point where this overrides user flags. It's less
of a concern though.
Change-Id: I44761a79be4289238e02d4e781fef0099628817b
Reviewed-on: https://code.wireshark.org/review/23675
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Estimating the effort required to process a capture based on its size
isn't very reliable. Instead of rejecting files that are too large, just
limit Valgrind fuzzing to the first 100,000 packets in each file. This
should fix a timeout issue we're seeing on the master fuzzer.
Change-Id: I0117735341d3a183c6131f5f05dbd1d559fc4b3f
Reviewed-on: https://code.wireshark.org/review/23872
Reviewed-by: Gerald Combs <gerald@wireshark.org>
When we exit due to excessive memory leaks make sure we say so in the
error log.
Change-Id: I03f60271f3e4bb467fbaa5b9ac17431eed96f300
Reviewed-on: https://code.wireshark.org/review/23870
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Only plugins built for the same feature release (X.Y) are assured binary
compatibility. Make sure we don't try to run unsuitable code and, if so,
warn the user. This might happen for example if the user manually copies
a binary plugin to the wrong folder, intentionally or by accident.
I'm using "release version" to loosely mean not a patch release
(i.e: a feature release).
Change-Id: I896e9cbbd2d3843623fff6af8ef51002ec06f1f8
Reviewed-on: https://code.wireshark.org/review/23807
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
It doesn't build with autotools and CMake.
Under-documented and unmaintained. Seems to be a work-in-progress
that stalled.
Introduces spurious CMake dependency on yapp.
Change-Id: I0dca1ccbdfd683586c05765437d4b7804ab5cc70
Reviewed-on: https://code.wireshark.org/review/23758
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
It's not installed so like most other files it doesn't need or benefit
from the prefix.
Change-Id: I01517e06f12b3101fee21b68cba3bc6842bbef5c
Reviewed-on: https://code.wireshark.org/review/23751
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Pick up change from Samba:
commit 67040cf61232dd1cdcc820237919ac1e073c31c2
Author: Volker Lendecke <vl@samba.org>
Date: Tue Jun 20 15:31:18 2017 +0200
pidl: Fix array range checks in python output
Without this, we generated code like
if (ndr_table_dnsserver.num_calls < 0) {
PyErr_SetString(PyExc_TypeError, "Internal Error, ndr_interface_call missing for py_DnssrvOperation_ndr_pack");
return NULL;
}
call = &ndr_table_dnsserver.calls[0];
This does not really make sense, and Coverity found comparing the unsigned
num_calls against <0 a bit pointless.
Should fix 138 Coverity findings and make the code a bit more correct.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Change-Id: I401e3771e6f3c1125ff847749073693af23884fc
Reviewed-on: https://code.wireshark.org/review/23723
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 40e409bf9e89a163c771b2a58493d2c1b496fae7
Author: Petr Viktorin <pviktori@redhat.com>
Date: Wed May 3 16:57:07 2017 +0200
python3: Use "y#" instead of "s#" for binary data in PyArg_ParseTuple
The "s#" format code for PyArg_ParseTupleAndKeywords and Py_BuildValue
converts a char* and size to/from Python str (with utf-8 encoding under
Python 3).
In some cases, we want bytes (str on Python 2, bytes on 3) instead. The
code for this is "y#" in Python 3, but that is not available in 2.
Introduce a PYARG_BYTES_LEN macro that expands to "s#" or "y#", and use
that in:
- credentials.get_ntlm_response (for input and output)
- ndr_unpack argument in PIDL generated code
Signed-off-by: Petr Viktorin <pviktori@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Change-Id: If4d9cdabc5016127f60682caf300f6801a360083
Reviewed-on: https://code.wireshark.org/review/23722
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 9703464b942fdddbf7bc4380cbd26d1803f9bc00
Author: Jeremy Allison <jra@samba.org>
Date: Tue May 2 08:10:40 2017 -0700
pidl: Fix Coverity warnings from duplicate NULL checks.
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat May 6 16:03:17 CEST 2017 on sn-devel-144
Change-Id: I25c6ae984c6a963c05f33d9a649b64f9795c7292
Reviewed-on: https://code.wireshark.org/review/23721
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 2de5fa45e0abfdb50f604f87e494bf334c39003a
Author: Lumir Balhar <lbalhar@redhat.com>
Date: Mon Jan 23 21:03:17 2017 +0100
python: pidl: Port Python interface generator
Port PIDL generator of Python interfaces to generate interfaces in
Python 3 compatible form.
Python 2.7 is now required, so we can use PyCapsule in both versions.
Signed-off-by: Lumir Balhar <lbalhar@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Pair-programmed-by: Andrew Bartlett <abartlet@samba.org>
Change-Id: I981993e326132a1911bfbb686ca5ae033dd1df49
Reviewed-on: https://code.wireshark.org/review/23720
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 2170f556299c6ab4ce33f22169ca26ecad3440e3
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Feb 20 18:02:09 2017 +0100
pidl:Python: use of pytalloc_GenericObject_reference*() for pyrpc_{ex,im}port_union() wrapping
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12601
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat Feb 25 06:33:33 CET 2017 on sn-devel-144
Change-Id: I4d3cb70c79531e5faf5249b67948cc6d354c1bd0
Reviewed-on: https://code.wireshark.org/review/23719
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit d62eb3cc9f97b203d21ec6e75c48c739a43bc163
Author: Stefan Metzmacher <metze@samba.org>
Date: Wed Feb 22 10:08:46 2017 +0100
pidl:Python: make sure print HASH references for STRUCT types
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12601
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Change-Id: Ieef766844ce66160eaaacecc73a51f94f69319fb
Reviewed-on: https://code.wireshark.org/review/23717
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 57539c84416aeb8fc8e3a8653f790b329e6fa9a1
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Sep 12 09:20:44 2016 +0200
pidl:Python: add PyTypeObject objects for function structs
They provide get/set methods for the in_* and out_* elements
and the magic __ndr_{push,pull,print}_{in,out}__ hooks to enable
the marshalling via ndr_{push,pull,print}_{in,out}().
This provides an easy way to generate and parse the payload of
DCERPC requests and responses, which is very useful for writing
tests.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I8f0e70fb771a91ba9590e2e92b5713b48313d2de
Reviewed-on: https://code.wireshark.org/review/23716
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up a change from Samba:
commit a546124f10d1e2bee29bc06c0b8754257d2bdc23
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Sep 12 09:20:04 2016 +0200
pidl:Python: split out a PythonElementGetSet() helper function
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: Ica8b699189b69833abfa6049dd3c4e489788ce54
Reviewed-on: https://code.wireshark.org/review/23715
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 40175613519e7405a16e8f896dfdc2949430bc4b
Author: Stefan Metzmacher <metze@samba.org>
Date: Tue Sep 13 01:06:18 2016 +0200
pidl:Python: the py_{import,export}_*() functions can be static now.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I6e06c97b44a04cab36d134916eddf4c501ccc35d
Reviewed-on: https://code.wireshark.org/review/23714
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up a change from Samba:
commit f7707c04a5e039e757b288ad67a0c3cac9c6466a
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Sep 12 16:33:38 2016 +0200
pidl:Python: make use of the pyrpc_{import,export}_union() functions
This avoids the linking problems at C shared object level.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I62c1d03b10e965552a4d598fa2370692ee0cd12a
Reviewed-on: https://code.wireshark.org/review/23713
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up a change from Samba:
commit e0324c0cf7e7c363a5791c2e35c8820b79640a47
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Sep 12 16:33:38 2016 +0200
pidl:Python: provide a PyTypeObject with METH_CLASS __import__() and __export__() hooks
These are wrappers around the currently public C functions
'py_import_*() and 'py_export_*().
In order to let other python module use these function, we should
resolve the needed type object and call the __import__() or __export__()
hooks instead of linking to the other shared module at C level.
We already do the same for structs.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I47813a544365085407a31d174ee180778674e42b
Reviewed-on: https://code.wireshark.org/review/23712
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 3a0ce3e41d9fdab58273c239955862b03396ea19
Author: Stefan Metzmacher <metze@samba.org>
Date: Sun Sep 25 00:48:29 2016 +0200
pidl:Python: provide the abstract syntax as <module>.<interface>_abstract_syntax
The <module>.abstract_syntax alias is only kept as legacy for
the first interface in a module.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: Ie6d3d48ea3012bd328eb20e2e6693928fe24ead8
Reviewed-on: https://code.wireshark.org/review/23711
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit a560116aa5228885e5f52fc46fa92151357de69c
Author: Stefan Metzmacher <metze@samba.org>
Date: Tue Sep 13 09:07:32 2016 +0200
pidl:Python: improve the .doc string for the get/set elements
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I8ecb22fd88298ecd4e350b1815d8720b493aac27
Reviewed-on: https://code.wireshark.org/review/23709
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 47b40ac96afbd4fb28e519b9658256ecaa304e71
Author: Stefan Metzmacher <metze@samba.org>
Date: Mon Sep 12 15:12:24 2016 +0200
pidl:Python: make use of NDR_ERR_CODE_IS_SUCCESS()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: I550b83596fe27bad5ba4f7d91eb0ac62380f4eac
Reviewed-on: https://code.wireshark.org/review/23708
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit d4660e869790c7da1cb97e9d95a995e5a32b34ef
Author: Stefan Metzmacher <metze@samba.org>
Date: Sun Sep 25 01:07:14 2016 +0200
pidl:Python: __ndr_print__ functions don't get arguments and need METH_NOARGS
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Change-Id: Ic0648f65b8c3f60e614361778d2c0bf72d61be35
Reviewed-on: https://code.wireshark.org/review/23707
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit 306783d6f5d577a0b8bd31d659d8c802f22f0333
Author: Jeremy Allison <jra@samba.org>
Date: Thu Apr 20 12:24:43 2017 -0700
lib: modules: Change XXX_init interface from XXX_init(void) to XXX_init(TALLOC_CTX *)
Not currently used - no logic changes inside.
This will make it possible to pass down a long-lived talloc
context from the loading function for modules to use instead
of having them internally all use talloc_autofree_context()
which is a hidden global.
Updated all known module interface numbers, and added a
WHATSNEW.
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Ralph Böhme <slow@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Apr 22 01:17:00 CEST 2017 on sn-devel-144
Change-Id: I549e24e2e1fec12d8e7d3f3304cdac29882892a5
Reviewed-on: https://code.wireshark.org/review/23705
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Pick up change from Samba:
commit ffb8b50e3c07c833fb7b1a583d21f9dc1166a0a6
Author: Andrew Bartlett <abartlet@samba.org>
Date: Mon Nov 14 11:24:03 2016 +1300
s4-rpc_server: Allow each interface to declare if it uses handles
This will allow the NETLOGON server in the AD DC to declare that it does not use
handles, and so allow some more flexibility with association groups
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Change-Id: Ic09452d27493ff913f5a5c064a038e3783e91df2
Reviewed-on: https://code.wireshark.org/review/23704
Reviewed-by: Guy Harris <guy@alum.mit.edu>