Put plugins in CMake build dir with a version subdir. This avoids some
weird special cases, however running with autotools from build dir
displays the wrong global folder in about->folders. Unfortunately
the hack to run from the autotools build dir is troublesome.
Various fixes for Windows builds.
Try to fix also build dir issue loading plugins on macOS with
ENABLE_APPLICATION_BUNDLE (blind).
Change-Id: Ic3c7c21f5850c12a53844202d61fa0592b45739c
Reviewed-on: https://code.wireshark.org/review/23657
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: João Valverde <j@v6e.pt>
CCACHE_CPP2 / run_second_cpp is enabled by default in ccache 3.3 and later. (Unfortunately our builders have 3.2.4 installed.)
This reverts commit ed1ecfb39c.
Change-Id: I3cc88fa70bb04db5ae254bc9b878ce379e47527d
Reviewed-on: https://code.wireshark.org/review/23658
Reviewed-by: Gerald Combs <gerald@wireshark.org>
If we're compiling with clang and ccache, print a warning if CCACHE_CPP2
is unset. Doing so avoids generating a bunch of unwanted output when
warnings are enabled.
Change-Id: I6a796e8b910074ffa028ea45bc639b9461e1629e
Reviewed-on: https://code.wireshark.org/review/23646
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add flow graph functionality to tshark through -z option.
Output is same as ASCII format saved from GUI.
Change-Id: Iee0bfea7215858e6488b4728581be28287e9ea1a
Reviewed-on: https://code.wireshark.org/review/23652
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>
When Qt5 is installed using Homebrew on macOS, Qt5 is not available in
the default prefix. Remove the hack from macos-setup-brew.sh and adjust
the search path instead. Note that is needed for development, "brew
install" has already set this option in the environment.
See https://github.com/Homebrew/homebrew-core/issues/8392
Change-Id: I57ea09b649a94c9a4cb18b1b2d334808e47ec27e
Reviewed-on: https://code.wireshark.org/review/23232
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
When compiling the list of dependencies for the extcaps target, add only
those targets that we're actually building. If we skip an extcap, e.g.
because we're missing libraries to build it, don't add this extcap to
the dependency list.
This issue was observed on a Debian box that had no libssh-gcrypt-dev
package installed. Running cmake would create a warning about
non-existent dependencies of the extcaps target.
-- Configuring done
CMake Warning (dev) at CMakeLists.txt:3217 (add_dependencies):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
The dependency target "ciscodump" of target "extcaps" does not exist.
This warning is for project developers. Use -Wno-dev to suppress it.
Change-Id: I7335173fce9833423b0e9443589143cc1a122ac0
Reviewed-on: https://code.wireshark.org/review/23321
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
In some editors (like Xcode) it's possible to turn on and off
ASAN and UBSAN independent of the settings in CMake.
This option will disable the -Wframe-larger-than= flag even if
ASAN or UBSAN are not turned on in CMake.
Change-Id: I70b1ae544fe87093d0f5ce7ceb191f33399191ea
Reviewed-on: https://code.wireshark.org/review/23567
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Wireshark patch releases (X.Y.Z) are binary compatible so reflect
that in the plugin installation path.
By installing to $pkglibdir/plugins/X.Y out-of-tree plugins don't
need to be reinstalled with every patch release.
Change-Id: I9d1728e6fb12bcb51d2a723af22c750cb7a966cf
Reviewed-on: https://code.wireshark.org/review/23497
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>
The Wireshark User Guide seems to say:
Global lua plugins are in $pkglibdir/plugins
Personal lua plugins are in XDG_CONFIG_HOME/plugins
Global binary plugins are in $pkglibdir/plugins/$version
Personal binary plugins are in XDG_CONFIG_HOME/plugins/$version
Fix code to match that. This is a backward-incompatible change
for global lua plugins and personal binary plugins.
Adds a version subfolder to the personal plugin folder for binary plugins.
This allows for safe upgrades and side-by-side installations
with different prefixes (they no longer use the same personal dir).
Change-Id: Ie0f039113628a257625a9a9fb2cb30e532f5dd47
Reviewed-on: https://code.wireshark.org/review/23516
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>
To be continued incrementally to fix gaps and omissions.
If we are willing to reorganize the source tree to have one or two header
include folders this could be simplified considerably.
It would also force developers to give more consideration to API issues,
which is a good thing.
See also e7ef19efc0.
Bug: 14062
Change-Id: I0759da2f9793cfb5cf92c9e231457bba43df4353
Reviewed-on: https://code.wireshark.org/review/23548
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>
Move required variables for better context.
Remove TODO comment. "To do" is "everything" to re-implement CPack because
(incomplete) support was dropped in g0831becc1a.
Change-Id: Ie21001940794e264527f35b5d4638830de02d97e
Reviewed-on: https://code.wireshark.org/review/23410
Reviewed-by: João Valverde <j@v6e.pt>
For a sane plugin build environment. Include config.h as the first
header in the .c file instead.
Fix by moving required compiler attribute macros to a new
"ws_attributes.h" API header.
Change-Id: I34f58a927f68c1a0e59686c14d214825149749e1
Reviewed-on: https://code.wireshark.org/review/23400
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>
Ninja (but not Unix Makefiles or others) require an explicit BYPRODUCTS
command to ensure that the target is executed before evaluating others.
Change-Id: Iccbeb2516f7bf22ffdb444f3261ca58d22897891
Reviewed-on: https://code.wireshark.org/review/23342
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Allow nghttp2 to be disabled, similar to --without-nghttp2.
Change-Id: Id27ab12ef7c24a535824f762ce2feb20fba9e065
Reviewed-on: https://code.wireshark.org/review/23247
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
We can't just turn it on yet, because that would require generators to
know which generated functions use which parameters and mark only the
unused ones as such. The generator that turns PIDL files into DCE RPC
dissectors is one that would have to be fixed.
Change-Id: I7b0e9b08de6e7e9e611143de7307d3323a5c913e
Reviewed-on: https://code.wireshark.org/review/23249
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It's very incomplete and we already have installation makers for supported OSes.
Change-Id: Ide6332b9b6d69b66e7262662d781b548526ab752
Reviewed-on: https://code.wireshark.org/review/22226
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>
"The release mode (CMAKE_BUILD_TYPE=release) defines NDEBUG" isn't
Linux-specific; it's true in the Unix Makefile generator, and possibly
in other generators. (The Visual Studio generator, at least for newer
versions of VS, lets you specify at *build* time what type of build to
do, so the generated build files don't unconditionally define, or not
define, NDEBUG, they do so based on the build type.)
The RPATH stuff is done on Unix-like systems *except* for macOS.
Change-Id: Ieffbaaa9a8e11a1a30b34036a2412c6735baa0c8
Reviewed-on: https://code.wireshark.org/review/23114
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Instead of trying to ship README.md, convert its line endings and make
sure the result is named README.txt.
Change-Id: I4e081587c73342b01633b3a31ea03068e3fc1733
Reviewed-on: https://code.wireshark.org/review/23098
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Convert the contents of the top-level README to Markdown and give it a
.md extension. Most of our documentation is plain text or AsciiDoc, but
the top-level README file in a Git repository is special in that many
online browsers will show the README contents along with the directory
listing and those browsers tend to favor Markdown. This is true of
GitHub (which we're currently mirroring to), Gerrit via its Gitiles
plugin (which we're not yet using but likely will), and other places.
Add "foreign" to AM_INIT_AUTOMAKE. There is probably a joke to be
made here about the FSF and border walls.
Change-Id: I87c306d74864e1f0a432225b160a1b4483ee946c
Reviewed-on: https://code.wireshark.org/review/23049
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
By default CMake sets the RPATH for built binaries to the build
directory. To enable relocatable build directories, I override this
RPATH as follows during development:
-DCMAKE_BUILD_WITH_INSTALL_RPATH=1
-DCMAKE_INSTALL_RPATH='$ORIGIN:$ORIGIN/../extcap/..'
To make work (again), do not overwrite CMAKE_INSTALL_RPATH in
CMakeLists.txt.
Change-Id: I7f238af07926ea706a3f999c5b1e13286ca53a66
Fixes: v2.5.0rc0-664-g55dd9b16d5 ("CMake: Update RPATH during installation.")
Reviewed-on: https://code.wireshark.org/review/23062
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Adjust the following CMake and Autotools behaviors in order to
synchronize their respective install behaviors:
- Disable tfshark by default in CMakeOptions.txt
- Add profiles/Bluetooth/preferences to Makefile.am
- Add missing captype and ciscodump entries to doc/Makefile.am
- Install help/faq.txt on all platforms in CMakeLists.txt
- Add BUILD_corbaidl2wrs, BUILD_dcerpcidl2wrs, and BUILD_xxx2deb
options to CMake and use them to adjust the corresponding parts
of the build.
- Pull the DCERPC idl2wrs build steps into the top-level
CMakeLists.txt.
This change doesn't sync everything. Some installed content still
diverges, including the following:
- CMake installs a bunch of modules into lib/wireshark:
FindGLIB2.cmake
FindWireshark.cmake
FindWSWinLibs.cmake
LocatePythonModule.cmake
UseAsn2Wrs.cmake
UseMakeDissectorReg.cmake
WiresharkConfig.cmake
WiresharkConfigVersion.cmake
Do we need any or all of these? If so, should the Autotools behavior
be synced accordingly?
- Autotools installs libtool .la files. It also installs
wireshark-gtk.desktop unconditionally.
Change-Id: I7846efe08f7139c31b6ceca6f08a1fa5168b3e22
Reviewed-on: https://code.wireshark.org/review/23041
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
CMAKE_INSTALL_LIBDIR is a relative path. Prefix it with
CMAKE_INSTALL_PREFIX so that PLUGIN_INSTALL_DIR is absolute.
This matches our Autotools behavior.
Change-Id: Ib42cea8745615686e0c7e8473bdb1975a3b9eccd
Reviewed-on: https://code.wireshark.org/review/23043
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
If we're installing into a non-system prefix on UNIX or Linux, make
sure CMake updates our RPATHs accordingly.
Change-Id: Ia6eaa6533c996a8228cff25e9d2032b223781681
Reviewed-on: https://code.wireshark.org/review/23040
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Maybe there's some way to say "yes, I know that the pointer being cast
is appropriately aligned", or maybe some platforms say "yes, I know,
this is a struct sockaddr *, but those are aligned well enough for any
other socket address types", in which case we might be able to turn that
on by default in some cases.
Change-Id: I6b8cff7ebfe27785b20adbbc2f855e859b090236
Reviewed-on: https://code.wireshark.org/review/22983
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Move -Wunused-const-variable after -Wc++-compat.
Move -Wduplicated-branches after -Wdocumentation.
Add some comments for the warning flags for which the configure script
does a test to make sure the compiler doesn't mishandle them.
Add some other comments.
Change-Id: I7f648ff78eb932feef34aeccfff179bd0a2e5d49
Reviewed-on: https://code.wireshark.org/review/22980
Reviewed-by: Guy Harris <guy@alum.mit.edu>
If we want to add -Wframe-larger-than=16384, *append* it, don't
*overwrite* it.
Indent that code properly while we're at it.
Change-Id: Iae8894e6663500620a07589fd6ba3d00f9eac7ba
Reviewed-on: https://code.wireshark.org/review/22977
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Instrumentation code increases the stack usage. Let's deactivate the
check when compiling with ASan or UBSan as the objective here is not
to check the stack consumption and its usage is out of our control.
Change-Id: I9d6e269a0d404dc1833183a070fdbbb7fb0446e0
Reviewed-on: https://code.wireshark.org/review/22888
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Rc.exe doesn't have a /WX flag. Passing it /WX apparently results in
setting the /W flag, which warns about invalid code pages, and the /X
flag, which ignores %INCLUDE%. The latter is necessary in our case for
locating winver.h.
Change-Id: I6d757a547fedfa49d078a7bb5f15518c69760f72
Reviewed-on: https://code.wireshark.org/review/22794
Reviewed-by: Michael Mann <mmann78@netscape.net>
Having two distinct logical concepts (OUI and Well Known Address)
concatenated to a single "manuf" file is needlessly obfuscating
the WKA feature.
Have a distinct "wka" file instead and just skip the cat.
Change-Id: I46f53b0015a37331d65f8cfac7cbbd499dd0c5b8
Reviewed-on: https://code.wireshark.org/review/22742
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Don't fail if it's not present.
Change-Id: I7183ce6e1f2af822ebeed219be0f2ca7dd0bab0f
Reviewed-on: https://code.wireshark.org/review/22759
Reviewed-by: Guy Harris <guy@alum.mit.edu>
That way, if you have an older version, we fail at configure time, with
what should be a message indicating that your c-ares is too old, rather
than at compile time, with what might provoke users to ask "what am I
doing wrong?" or "what do I need to fix?" or "why is my compile
failing?" or....
Change-Id: I911574c4d90174b6bd074c5ef537557d47b199dc
Reviewed-on: https://code.wireshark.org/review/22752
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Rename "enterprises" to "enterprises.tsv" so that its format is a bit more
obvious and so that double-clicking the file might do something useful.
Add it to the Windows packages.
Change-Id: I5ef54a04ce1b4926aa4535e756e04b3e2a56d463
Reviewed-on: https://code.wireshark.org/review/22616
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
The indexer for eclipse gets confused, because CMake automatically
adds __cplusplus=199711L which will lead to C-only files being parsed
wrong, if a __cplusplus guard is being used.
This has not interference with the code generation, just the __cplusplus
definition is omitted
Change-Id: I82aa770837668fbfbb5ac8227da1943e20b409fe
Reviewed-on: https://code.wireshark.org/review/22506
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
"enterprise-numbers" is converted to tab-separated values and renamed
"enterprises". Unused fields are stripped.
PENs are stored in a hash table loaded at run-time.
User "enterprises" file is loaded from the personal config dir.
Misc make-sminmpec.pl improvements and fixes.
Note: names of type "Entity (formerly ...)" have the formerly part commented out for a cleaner output.
Change-Id: I60c533afbe3e399077fbf432088064471ad3e1e2
Reviewed-on: https://code.wireshark.org/review/22246
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: João Valverde <j@v6e.pt>