Commit Graph

1341 Commits

Author SHA1 Message Date
João Valverde 867a068332 CMake: Add back a Wireshark env var to configure Qt
Use the variables WIRESHARK_QT{5,6}_PREFIX_PATH.

This allows having Qt5 and Qt6 paths configured isimultaneously and switch easily between them.

Use list(APPEND) to avoid clobbering other CMAKE_PREFIX_PATH paths.

Follow-up to b33210750c.
2022-08-26 09:55:41 +00:00
John Thacker b65b95dda4 CMake: Build test_programs automatically when running test
Since we require CMake version at least 3.7, we can use fixtures
to ensure that the unittests have been built before running
suite_unittests.

This only applies to running the tests via ctest (including
'[ninja|make] test'), not when running pytest directly.

Fix #17191
2022-08-26 00:51:10 +00:00
João Valverde 94da25af6c RPM: Add support for Qt6 and Fedora Linux 2022-08-25 07:54:00 +00:00
João Valverde b33210750c CMake+etc: Enable Qt6 by default for Unix builds
Linux builds were left behind on the Qt transition, presumably because
our Ubuntu CI image does not support Qt6.

Enable Qt6 by default and explicitly disable it for slower or more
conservative Linux distros.

Drop experimental status for Qt6, because we are using it to build
official Windows and macOS releases.
2022-08-22 09:08:06 +00:00
Tomasz Moń 12bb2788f9 CMake: Break on GLib criticals by default in MSVC
Set G_DEBUG=fatal-criticals environment variable when debugging with
Visual Studio. Setting the environment variable conveniently triggers
breakpoint whenever there is a programmer error.
2022-08-17 17:06:57 +00:00
Gerald Combs d2a70cc4ac CMake: Add a Logray patch version. 2022-08-17 16:20:06 +00:00
Gerald Combs 08feb35af0 Version: 3.7.3 → 4.1.0.
[skip ci]
2022-08-15 15:33:00 -07:00
Chuck Craft bbb9610cb3 pluginifdemo: Qt5->Qt6; bump version to 0.0.2 2022-08-15 05:07:46 +00:00
Tomasz Moń c1861ad1cc
extcap: Close capture session after extcap finishes
Wait up to 30 seconds for extcap process to finish after closing pipes.
The wait is achieved in non-blocking fashion, i.e. the UI is completely
responsive during the wait. Only actions related to capture process like
capture control, file open, save, export are inactive during the wait.

On Windows extcap child watch callback gets called immediately as the
process is forcefully terminated. Prior to this change the extcap was
forcefully terminated on Windows anyway.

The wait is possible on UNIX systems if extcap does handle SIGPIPE and
SIGTERM signals. The defaults handlers for SIGPIPE and SIGTERM simply
terminate the process so for large number of extcaps there is no change.
If extcap does not finish within 30 seconds, it is forcefully terminated
using SIGKILL signal.
2022-08-10 06:18:15 +02:00
João Valverde b8ec3199ab Convert Acknowledgements to markdown and update GUI
Move Acknowledgements to a separate file to enable some code
simplification and improve maintenance and discoverability
for acknowlegements.

Convert the Acknowledgements file to Github flavored markdown
and display it in rich text using QTextBrowser.

Add Acknowledgements.md to NSIS installer
2022-08-02 00:09:29 +00:00
Gerald Combs f65fd437dd Fix our version.
Update our version to 3.7.3.

[skip ci]
2022-07-29 10:20:59 -07:00
Gerald Combs 3307397da1 CMake: Set the correct variables for ccache.
As the RULE_LAUNCH_COMPILE documentation says,

"Note: This property is intended for internal use by ctest(1). Projects
and developers should use the <LANG>_COMPILER_LAUNCHER target properties
or the associated CMAKE_<LANG>_COMPILER_LAUNCHER variables instead."
2022-07-25 14:10:39 -07:00
Gerald Combs 49dda8c71e Make Perl optional.
Update our documentation, build configuration, and setup scripts to make
Perl optional.
Closes #18152.
2022-07-23 21:12:25 +00:00
Chuck Craft 26e1d3cdb2 cmake: copy profiles output check
Extend directory path used for RELATIVE comparison.

Closes #18204
2022-07-21 21:31:54 +00:00
Gerald Combs b8d85227f6 Qt: Update the RTP stream UI to support Qt6Multimedia.
Fixes #18115
2022-07-21 20:09:52 +00:00
João Valverde d2b6b89b94 Update license file structure and GUI display
Add the text of the GPLv2 in HTML, taken from the FSF website,
and use rich text to display the license in the GUI.

Move the introductory note about the GPL from the COPYING
license text file to the README.

Remove various other license callouts at the end of the COPYING file
as unnecessary and unhelpful. This information is present in
each source file, where it belongs.
2022-07-21 19:10:06 +00:00
Roland Knall 5991a75d78 ReleasNotes: Add minimum version requirements
Adding an explanation on minimum required versions to the release
notes, as well as bumping c-ares to version 1.14.0

The previous minimum (1.5.0) has been released in 2008. The new
version has been choosen to correlate with those distros, that
also provide a minimum version of Qt5 higher than 5.9, as 5.9
is no longer supported in the main branch
2022-07-21 12:37:17 +00:00
Roland Knall 06cd84a6e9 Qt: Recommend 5.12 and enforce 5.10
In order to phase out older versions, we recommed 5.12 as a
minimum Qt version going forward. Although build support for
5.10 and 5.11 is not being removed at this point, it might
be for 4.x at a later time.
2022-07-13 21:26:46 +00:00
Tomasz Moń 0438fca96b Qt: Concurrently fill display filter expression dialog
Use QtConcurrent to create and sort widget items. The dialog window is
immediately visible and usable. Search becomes available once all items
are added to the tree.

When compiled with Qt5, all items are added in bulk. Qt6 features new
QPromise interface that makes it possible to add tree items one by one.
2022-07-11 16:36:43 +00:00
Moshe Kaplan 87ca8c227a tools: Port make-version.pl to Python 2022-07-11 14:44:23 +00:00
Tomasz Moń 75196b5103 Qt: Fix Qt 6.3 Visual Studio build
Since Qt 6.3 the /permissive- option is required as otherwise the
compilation fails on static assert:
  "On MSVC you must pass the /permissive- option to the compiler."
2022-07-10 14:47:49 +00:00
Gerald Combs f296a00f09 Add a default configuration profile for Logray.
Add and install default coloring rules and filter buttons for Logray.
Add is_packet_configuration_namespace() and use it to set the default
timestamp type for Logray to "Absolute", which is more appropriate for
log entries.
2022-07-06 10:53:21 -05:00
Gerald Combs 75efbb1ac4 Rename Logwolf to Logray
Switch to the name "Logray" for the log analyzer. Rays are biological
cousins of sharks and more people like the name "Logray" in a completely
unscientific survey here. Apologies for any inconvenience this might
cause.
2022-07-06 15:04:25 +00:00
Gerald Combs 51cb231208 CMake: Copy our DLLs to a DLL-specific directory.
Set our DLL build directory to the the target directory for wsutil.dll
instead of DATAFILE_DIR.
2022-07-06 01:06:20 +00:00
Gerald Combs f17d39db1e CMake+tools: Clean up our build version variables.
In the top-level CMakeLists.txt, fill in PROJECT_BUILD_VERSION directly.
Clean up the WiX PRODUCT_VERSION variable.
2022-07-05 15:00:06 +00:00
João Valverde a877f2d5f3 dfilter: Allow existence check for slices
Allow checking if a slice exists. The result is true if the
slice has length greater than zero.

The len() function is implemented as a DFVM instruction instead.
The semantics are the same.
2022-07-04 22:45:14 +00:00
Gerald Combs 7c96053f3b Version: 3.7.1 → 3.7.2
[skip ci]
2022-06-27 12:10:57 -07:00
Gerald Combs dac75fba7f CMake: Bump the minimum Python version to 3.6.
Make Python 3.6 the minimum required version. Version 3.6 added support
for f-strings.
2022-06-27 15:54:40 +00:00
Moshe Kaplan acb8158033 Tools: Port tools/generate_authors.py to Python3.
Port the script that creates AUTHORS to Python3.
Ping #18152.
2022-06-24 08:05:50 +00:00
Gerald Combs de1a4c3774 CMake: Update package target names.
Rename the rpm-package target to wireshark_rpm and the appimage target
to wireshark_appimage.
2022-06-08 17:56:21 +00:00
Gerald Combs c253dda269 CMake+Packaging: Add a logwolf_dmg target. 2022-06-08 17:39:54 +00:00
Gerald Combs c5e265f852 CMake: Deduplicate some version variables.
Use PROJECT_VERSION instead of VERSION. Prepend "PROJECT_" or
"LOG_PROJECT_" as needed to other variables. Remove the leftover unused
variables.
2022-06-07 16:04:17 -07:00
Gerald Combs 8c7e3f0d30 Packaging: Add a Logwolf NSIS config.
Create Logwolf-specific copies of the various Wireshark NSIS config files
and modify them to install and uninstall Logwolf. There are still a bunch
of rough edges, but the installer works for a test capture I have here.
2022-06-03 21:24:21 +00:00
Gerald Combs 056fd8a1e3 NSIS: Update some target and filenames.
Rename the following build targets, similar to the recent macOS target
name changes:

nsis_package_prep to wireshark_nsis_prep
nsis_package to wireshark_nsis

Rename some NSIS files to reflect that they're specific to Wireshark.
Update the documentation and CI configurations.
2022-06-02 16:33:31 -07:00
Gerald Combs 370c58f913 macOS: Add Logwolf packaging targets.
Rename the following build targets:

app_bundle to wireshark_app_bundle
dmg_package_prep to wireshark_dmg_prep
dmg_package to wireshark_dmg

Add logwolf_app_bundle, logwolf_dmg_prep, and logwolf_dmg targets and
packaging assets. Update the documentation.

We need to add a set of Logwolf version variables to CMake and
make-version.pl. Add a static logwolf-version attribute to
attributes.adoc in the mean time.
2022-05-26 20:29:20 +00:00
Gerald Combs 5373483963 Tools: Add a CMakeExecutable parameter to win-setup.ps1.
52054046c1 switched archive extraction from 7Zip to CMake. This removed
a dependency on 7Zip, but assumed that CMake was in our PATH.  Add a
CMakeExecutable to win-setup.ps1 and use it in CMakeLists.txt to pass
the value of CMAKE_COMMAND.
2022-05-26 20:13:18 +00:00
João Valverde ab33d9b809 Qt6+MSYS2: Fix windeployqt usage
The msys2 qt6 package installs windeployqt as windeployqt-qt6.
2022-05-25 23:46:23 +01:00
João Valverde ce52af1a32 CMake: Disable errors with -Walloc-size-larger-than=
This seems to be buggy and have a complicated interaction with
the GCC optimizer. Disable hard failures so we can focus on
actual issues and deal with dormant false positives when it is
convenient.

Ping #18089
2022-05-23 23:03:59 +01:00
Gerald Combs 565670c1c8 Version: 3.7.0 → 3.7.1
[skip ci]
2022-05-11 13:12:42 -07:00
Gerald Combs 52db7e88bc Falco Bridge: Fix building on Windows.
Fix Falco plugin installation in multi-config environments. Fix FindSinsp
on Windows.  Ignore a couple of warnings for now.
2022-04-27 22:01:17 +00:00
Gerald Combs dbf3ac3701 CMake+Logwolf: Populate our Falco plugin directory.
Create plugins/<version>/falco and copy over the Cloudtrail plugin.
2022-04-25 12:07:48 -07:00
Gerald Combs fc2cc05dde Move some configuration and data files to resources/share.
Create resources/share/wireshark and resources/share/logwolf. Move
various data and configuration files to resources/share/wireshark and
add resources/share/logwolf/colorfilters.
2022-04-25 09:18:57 -07:00
John Thacker 2b24b512ca rpm: Support for building with clang on Fedora
Fedora now supports rpm options to build with clang as the compiler
https://docs.fedoraproject.org/en-US/packaging-guidelines/#compiler
2022-04-25 08:52:23 -04:00
John Thacker 91987dc0ab nghttp2: Implement minimum required version 1.11.0
All currently supported Linux distributions have a version greater
than 1.11.0 (and our macOS and Windows versions are also much greater),
and this allows us to use nghttp2_hd_inflate_hd2(), which replaced the
deprecated nghttp2_hd_inflate_hd()
2022-04-24 10:24:11 -04:00
John Thacker d2064ae188 gnutls: Bump version to 3.5.8
Bum the minimum version of GnuTLS to 3.5.8, which was the first stable
release in the 3.5 series. All the currently supported Linux
distributions have a version at least this new.
2022-04-23 02:26:08 +00:00
Gerald Combs 4cc20bb49e CMake: Fail if we're building for 32-bit Windows.
Fail noisily if we're building for 32-bit Windows. Ping #17779.
2022-04-22 17:25:31 +00:00
John Thacker 2dd07bc5b9 glib: Bump required version to 2.50
All the currently supported distributions have at least 2.50.
Remove a version check.
2022-04-22 12:55:37 +00:00
John Thacker 3407992cb4 CMake: Bump minimum CMake version to 3.10
Linux distributions that have a version less than 3.10 are either
almost at end of support (Debian Stretch), or will be supported by
Wireshark 3.6 LTS (RHEL 7, SLES 12).

The Windows minimum is already 3.13. Increasing the minimum required
means that policies CMP0069 and CMP0071 are automatically set to NEW,
and we can use VERSION_GREATER_EQUAL.

Fix an error in the Qt version comparison; it's Qt 5.14 that first
required macOS 10.13 High Sierra, not Qt 5.15.
2022-04-21 20:24:52 -04:00
Gerald Combs 4bb16383a3 macOS: Require Sparkle 2.
Remove our Sparkle 1 code. Fixes #18035.
2022-04-21 17:54:27 +00:00
John Thacker b80cdaa243 libgcrypt: Require version 1.8.0
Libgcrypt 1.8.x is required for a large amount of decryption
support and is the current LTS version of libgcrypt. The 1.6 and
1.7 series have been end-of-life since 2017-06-30 and 2019-06-30,
respectively.

The Linux distributions that have versions of libgcrypt before 1.8.0
are nearing or at end of support (RHEL7, SLES 12, Debian stretch,
Ubuntu 16.04LTS) and can be supported by the Wireshark 3.6 LTS release
series.

Remove an enormous amount of ifdefs based on libgcrypt versions
1.6.0, 1.7.0, and 1.8.0. There will be a second pass for the
commons defines HAVE_LIBGCRYPT_AEAD, HAVE_LIBGCRYPT_CHACHA20, and
HAVE_LIBGCRYPT_CHACHA20_POLY1305, which are now always defined.

The ISAKMP dissector has some comments noting that some workarounds
were used for libgcrypt 1.6 that aren't needed with 1.7; perhaps
that could be updated now.
2022-04-20 21:30:21 -04:00