For example, on at least some versions of Fedora, if you have a 64-bit
machine, have both the 32-bit and 64-bit versions of the run-time zlib
package installed, and have only the *32-bit* version of the zlib
development package installed, it'll find the header, and think it can
use zlib, and will use it in subsequent tests, but it'll try and link
64-bit test programs with the 32-bit library, causing those tests to
falsely fail. Hilarity ensues.
Change-Id: Ic2536e8a652ef96e2a3923c1faa61f6c8c06bf58
Reviewed-on: https://code.wireshark.org/review/22417
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
On Windows, we build libz as part of the Wireshark build process, so we
don't necessarily *have* a libz library to search or inflatePrime() at
this point; the search fails on the buildbots, for example.
So, on Windows, we just assume we have a new enough version of libz, so
that it has inflatePrime().
Bug: 13850
Change-Id: Ied0909f4a591ff3312d83a2a2ed41e3cd12218e8
Reviewed-on: https://code.wireshark.org/review/22413
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It's now FindMACOS_FRAMEWORKS.cmake.
(But is it actually *used*? CMakeLists.txt does the check itself.)
Change-Id: I6e972869b94da959dc7c9a3fccacfbd35e0e992c
Reviewed-on: https://code.wireshark.org/review/22163
Reviewed-by: Guy Harris <guy@alum.mit.edu>
According to PEP 514, Python.org's Windows installer stores its
installation path in
HKEY_LOCAL_MACHINE\Software\Python\<Company>\<Tag>\InstallPath
where <Tag> is the value of sys.winver. Newer versions of python add "-32"
and "-64" to the version in order to allow side by side installations.
Adjust LocatePythonExecutable accordingly.
Change-Id: I8c7f8b4c31b37e7f687ce9909f97d62a779cfa91
Reviewed-on: https://code.wireshark.org/review/22048
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Add a local copy of FindHTMLHelp.cmake to search for hhc.exe that
includes the 32 bit program files locations "Program Files (x86)"
as this is where hhc.exe normally lives.
Change-Id: Ic5917a0765786ac483a7d4ef457043319d0e8501
Reviewed-on: https://code.wireshark.org/review/22037
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
This reverts commit 8cd1fd0c99.
Making HAVE_REMOTE a config.h #define is a really horrible idea. It's *NOT* a configuration option.
Instead, HAVE_REMOTE should be defined by other mechanisms, as was done in 79eab8ca07.
Change-Id: I4632b63bd73a25a27c5f4686d2baf3e0beddecb3
Reviewed-on: https://code.wireshark.org/review/21604
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This reverts commit d13b8ea13c.
This will only work with git HEAD of libpcap, but not with any release versions of libpcap or winpcap (the *pcap includes require the define, not Wireshark).
Change-Id: I08e5ec66e3642dc02f793c83ffc4363bb348202c
Reviewed-on: https://code.wireshark.org/review/21603
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
We never test for it - we test for HAVE_PCAP_REMOTE - so there's no need
to set it in config.h.
While we're at it, note that "PCAP" in "HAVE_PCAP_REMOTE" can refer to
libpcap as well as WinPcap, given that, at least in the tip of the
master branch, you can configure remote support in libpcap, although
it's not enabled by default (it needs to be vetted for security, as it
increases the attack surface of a machine running the server *and* of an
application using libpcap with remote support).
Change-Id: I3c96cf16bbda19ec7c085f74cffc6f125198d45b
Reviewed-on: https://code.wireshark.org/review/21589
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Strawberryperl 5.24.1.1 installs "pod2man", "pod2man.bat" and
"pod2html.bat", but not "pod2html" so find_program cannot locate it.
Change-Id: Id52ee7e77bbbfc8c2fcc6ab66c498d4818f54bf8
Reviewed-on: https://code.wireshark.org/review/21350
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Cygwin is not needed if the documentation is not built (i.e. asciidoc,
docbook, xsltproc are not needed). Via Chocolatey the following packages
can be installed: git, winflexbison, strawberryperl.
Change-Id: Ib13d144321cf6d2ed5c3346a2ae271de983deada
Reviewed-on: https://code.wireshark.org/review/21316
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This removes the need for sh (and Cygwin) on Windows to build Wireshark.
runlex.sh (added in commits 5be4499a and 517d6d57) was added because
older flex had quirks with its options (and the --header(-file) option
was not available). The minimum required flex version for reentrant
scanners (2.5.6) does not have these issues though, so remove the step.
Change-Id: I73c82bb329e2130481efca94809dc60b86dcbafe
Reviewed-on: https://code.wireshark.org/review/21315
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
runlex.sh does not need sed anymore since v2.3.0rc0-2386-g64f83641ad.
Since building docs already depends on Perl, let's use Perl instead.
Change-Id: Id7e923e47001cfd32c8cef89960377026464f2ee
Reviewed-on: https://code.wireshark.org/review/21314
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Add default setting for the libraries entry, to satisfy windows builds,
if no libxml2 has been found
Change-Id: I3db026b6b8446eb42c7f30ee63c00a07600948fa
Reviewed-on: https://code.wireshark.org/review/21221
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
This can be used by dissectors that need to parse out-of-band
configuration.
Change-Id: I13c0a2f408fb5c21bad7ab3d7971e0fa8ed7d783
Reviewed-on: https://code.wireshark.org/review/20912
Reviewed-by: Roland Knall <rknall@gmail.com>
This solves a crash occurring when trying to free memory allocated by
GeoIP (cross-compiled with mingw(32|64)) with MSVC function
Bug: 13598
Change-Id: I757cff13660bd485d7ea91d10660e9bf86404728
Reviewed-on: https://code.wireshark.org/review/21090
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The Windows builds (using msbuild) fail sporadically when building
documentation (target developer_guides). The problem is that the targets
"developer_guide_pdf_a4" and "developer_guide_html" both depend on
developer-guide.xml and msbuild does not notice that the file has
already been generated by the generate_developer-guide.xml target.
For a discussion of the problem, see
https://gitlab.kitware.com/cmake/cmake/issues/16767
To fix this, remove the "developer-guide.xml" dependency from
"developer_guide_xyz" (to prevent these targets from triggering building
"developer-guide.xml"). Instead, depend on a generated
"developer-guide.xml-stamp" file which is created by the
"generate_developer-guide.xml" target (but do *not* add it as output of
this target, otherwise we will have the original problem again).
This workaround is restricted to the MSVC generators because otherwise
it would trigger a CMP0058 policy warning when used with Ninja.
Change-Id: Idb3975cde35be2601b038a500d4886bbd3a684d7
Reviewed-on: https://code.wireshark.org/review/20812
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Avoid anachronisms, however; there was no "macOS 10.0" or even "OS X
10.0", for example. It was "Mac OS X" until 10.8 (although 10.7 was
sometimes called "OS X" and sometimes called "Mac OS X"), and it was "OS
X" from 10.8 to 10.11.
Change-Id: Ie4a848997dcc6c45c2245c1fb84ec526032375c3
Reviewed-on: https://code.wireshark.org/review/20933
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Move the search for the libgcc_s_seh and _sjlj DLLs to the GLib directory.
That's the only place it currently exists on the 64-bit builder.
Change-Id: Icf55dacf061d9423e78cabeaf16aa539ccb619bb
Reviewed-on: https://code.wireshark.org/review/20162
Reviewed-by: Gerald Combs <gerald@wireshark.org>
At startup, dig through the registry looking for shell extensions. If
any of them match known Dell Backup and Recovery DLL names and the DLL
version matches 1.8.*.*, show the user a warning dialog.
This is a bit extreme but I'm not sure what else to do. Dell is a popular
computer manufacturer and bug reports keep trickling in.
Change-Id: I6d1bd6c56850279356570154d231b07facb30cff
Bug: 12036
Ping-bug: 12701
Ping-bug: 13414
Reviewed-on: https://code.wireshark.org/review/16861
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Also switch some third party libraries to stripped version to reduce size
Change-Id: If0fd06a85fb17fb3e35543bcc714c8a8a1ce20c6
Reviewed-on: https://code.wireshark.org/review/20117
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
The ASCIIDOC_CONF_FILES setting for asciidoc was only generated
if any of the guides were being built.
Clean up a dup setting and some and blank lines in FindASCIIDOC
Change-Id: Ie8ab97db09e18cdb8d7e2a7bd4dcf8c288dd036f
Reviewed-on: https://code.wireshark.org/review/19291
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Update our WinSparkle package to 0.5.3. This fixes a file deletion bug.
Note that WinSparkle now supports application shutdown callbacks, which
should let us fix bugs 9687 and 12989.
Bug: 13217
Change-Id: I4b5f325c6dc251ce167f7bd344bbf3ca5ad3fe14
Reviewed-on: https://code.wireshark.org/review/19230
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Many capitalization can be found for this library (spandsp, Spandsp, SpanDSP),
let's use the one found in the library README and in its spec file.
Change-Id: Ia66b723e5d582a6218da1b6366b7d4859272f80c
Reviewed-on: https://code.wireshark.org/review/19122
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Integrate the Spandsp library for G.722 and G.726 support. Adds support
for G.722 and all eight variants of G.726.
Note: this also fixes a crash in Qt (buffer overrun, reading too much
data) caused by confusion of the larger output buffer (resample_buff)
with the smaller input buffer (decode_buff). It was not triggered before
because the sample rate was always 8k, but with the addition of the new
codecs, a different sample rate became possible (16k).
Fix also a crash which occurs when the RTP_STREAM_DEBUG macro is enabled
and the VOIP Calls dialog is opened (the begin frame, start_fd, is not
yet known and therfore a NULL dereference could occur).
Passes testing (plays normally without bad RTP timing errors) with
SampleCaptures files: sip-rtp-g722.pcap and sip-rtp-g726.pcap. Tested
with cmake (Qt), autotools (Qt and GTK+) with ASAN enabled.
Bug: 5619
Change-Id: I5661908d193927bba50901079119eeff0c04991f
Reviewed-on: https://code.wireshark.org/review/18939
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
When libpcap-dev is not installed, do not look for functions like
pcap_datalink_name_to_val since the negative result would be cached.
Then after installing libpcap-dev, the build would fail due to
redeclaration of functions.
Change-Id: Ifdbad09e9cf160383b16b6459693f7ea5d65b9c3
Reviewed-on: https://code.wireshark.org/review/18834
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
ddd1c87d43 modified the order
of linker command line options. This broke the tests and made
invalid linker flags seem valid.
(Link target) ->
LINK : warning LNK4044: unrecognized option '/Wl,--as-needed'; ignored [C:\wireshark\build3\wsutil\wsutil.vcxproj]
LINK : warning LNK4044: unrecognized option '/pie'; ignored [C:\wireshark\build3\wsutil\wsutil.vcxproj]
The simple fix is to add specific options for Visual Studio and clang at the beginning of
the linker's command line options rather than at the end.
Change-Id: I6492ea1271e18be0d190e7579f47baecf6ac4d61
Reviewed-on: https://code.wireshark.org/review/18709
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
This causes problems with cmake 2.8.9, which ships with Debian Wheezy.
Reorder the linker options to avoid a leading space. According to GNU
ld's manual, the order of linker options on the command line does not
matter. This should be the same for Visual Studio's cl.exe and for
clang's linker.
See
https://www.wireshark.org/lists/wireshark-dev/201604/msg00141.html
for more details about the problem.
Change-Id: Ieaf7425600d394f365b01747747665233693fea2
Reviewed-on: https://code.wireshark.org/review/18581
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
HTML and manual pages can be generated in parallel.
Change-Id: I2301e8bdc5ae1179a8ac0c24f412e5435993a764
Reviewed-on: https://code.wireshark.org/review/18281
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
CMake standard style is to use lowercase function names, do that.
Change-Id: I893825cfac0cc402177ffb1a0f43f0ffc6341c45
Reviewed-on: https://code.wireshark.org/review/18312
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
We do not use the STARTUP negotiation since a stream
can be captured in its middle but try to decompress
if the flag is present and fallback if it fails.
Change-Id: Iecbf49a45220b04be7808869c9884548eb1e7694
Signed-off-by: Benoît Canet <benoit@scylladb.com>
Reviewed-on: https://code.wireshark.org/review/17952
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Running "ninja developer_guide_html" somehow did not produce a new HTML
docbook once wsluarm.ascii (a dependency of developer-guide.xml) was
modified.
It turns out that output file docbook/wsdg_html/index.html only had a
ordering-only dependency on target generate_developer-guide.xml. An
extra dependency is needed on the output file to ensure that the HTML
file gets rebuild on changes.
See the last note on
https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/
Fixes v2.1.0rc0-2137-gd544ecd ("cmake: fix parallel docbook build").
Change-Id: I7689c71994f13b29cf7f8561f7c993aa8298632d
Reviewed-on: https://code.wireshark.org/review/18225
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Cygwin flex\bison generate shortening warnings due to size_t on
Win 64. The win flex\bison versions don't so find them first.
Change-Id: Ib68c84435f859325612410b72b6cf21cf106ecc2
Reviewed-on: https://code.wireshark.org/review/17763
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Pass relative image directory paths to xsltproc. The DocBook documentation
says you can use a URI, but trying to get that to work with CMake
and Windows appears to be a path to tears and undignified wails of
frustration.
Add attributes for our different types of images and use them so that
the PDFs don't scale our screenshots to an unusable size.
Change-Id: I786d09d9ef9be3d423b2af426a8867739ae12c1a
Reviewed-on: https://code.wireshark.org/review/17688
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
I accidentally assumed that libnl2 works fine with just libnl.so, but
apparently the other libraries are also necessary.
Change-Id: I1636710ea3f41ed10a5ccb37106cae9e688abec9
Reviewed-on: https://code.wireshark.org/review/17654
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Dario reported that the cmake build fails after installing libnl3-devel
(libnl-devel was already present). This results from a name collision
for NL_LIBRARY and NL_INCLUDE_DIR variables.
Initially these variables contained the values for libnl-1. When libnl3
is installed, these variables were not updated (because it was cached),
but HAVE_LIBNL3 would still be set, resulting in a header and feature
mismatch. Use separate variables for libnl1 and libnl3 to fix this.
Other fixes: also set HAVE_LIBNL for libnl1; fallback to libnl1 if
libnl3 is unusable (e.g. because libnl-route-3.0 is missing).
Change-Id: Icf0a03843ea870347ddf365f69bacf4883d07f6d
Reviewed-on: https://code.wireshark.org/review/17449
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Setting our compiler warning flags in CMAKE_C_FLAGS does not allow
using different flags per target.
Allow for that possibility by setting the internal WS_WARNINGS_{C,CXX}_FLAGS
and using the COMPILE_OPTIONS property to set them.
This change is just setting mechanism and there should be no difference
in generated warnings.
The check_X_compiler_flag cmake test is changed to test each flag individually.
We need a list, not a space separated string, and the aggregate test is not
significant.
Change-Id: I59fc5cd7e130c7a5e001c598e3df3e13f83a6a25
Reviewed-on: https://code.wireshark.org/review/17150
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>
Now that nmake build system has been removed they are not needed anymore.
Change-Id: I88075f955bb4349185859c1af4be22e53de5850f
Reviewed-on: https://code.wireshark.org/review/16050
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>