aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeOptions.txt
AgeCommit message (Collapse)AuthorFilesLines
2023-01-17MinGW: Enable -Werror by defaultJoão Valverde1-6/+1
2023-01-14MSYS2: Disable -Werror by defaultJoão Valverde1-3/+6
2023-01-12CMake: Reverse debug macrosJoão Valverde1-2/+4
Originally WS_DISABLE_DEBUG was chosen to be similar to G_DISABLE_ASSERT and NDEBUG. However generator expressions are essential for modern CMake but the syntax is weird and having to use negations makes it ten-fold worse. Remove the negation. Instead of changing the CMake variable reverse the macro definition for WS_DISABLE_DEBUG. The $<CONFIG:cgs> generator expression with multiple config arguments requires CMake >= 3.19 so we can't use that yet for a further syntactical simplification.
2023-01-12Remove WS_DISABLE_ASSERTJoão Valverde1-1/+0
Assertions can be enabled/disabled using WS_DISABLE_DEBUG. The extra granularity afforded by WS_DISABLE_ASSERT seems unnecessary.
2022-12-15CMake: Disable UTF-8 debug checks for release buildsJoão Valverde1-1/+1
Disable UTF-8 debug checks for release builds for optimization purposes. Also remove unused macro that currently lacks a proper use case. Change version info to be more complete about the build type without being too verbose.
2022-11-30asn2wrs: disable line directive by defaultJoakim Karlsson1-0/+1
To debug with line directive build with -DENABLE_DEBUG_A2W=ON flag
2022-11-18CMake: Split "extra" warnings into interesting/not interestingJoão Valverde1-1/+2
Add another category for warnings that are worth looking into. Split ENABLE_EXTRA_WARNINGS into ENABLE_TODO_WARNINGS and ENABLE_PEDANTIC_WARNINGS. Disable pedantic warnings in the CI builds. Add Clang specific warnings to standard category. Fix or workaround -Wunreachable warnings.
2022-11-17CMake: Do not disable -Werror with "extra compiler warnings"João Valverde1-1/+1
Give the ENABLE_WERROR option full control of -Werror. Silently overriding the user configuration is potentially confusing and unnecessary.
2022-09-27Add some UTF-8 debug checks with a compile time flagJoão Valverde1-0/+2
Some older dissectors that predate Unicode and parse text protocols are prone to generate invalid UTF-8 strings. This is a bug and can have safety implications. For example passing invalid UTF-8 to proto_tree_add_string() is a common bug. There are safeguards in format_text() but this should not be relied on as a general solution to the problem. For one, as the name implies, it is only used with representation of a field value, which is not the same as the value itself of an FT_STRING field. Issue #18317 shows another reason why. For now this compile flag only enables extra checks for string ftypes, which covers a subset of proto.h APIs including proto_tree_append_string(). Later is should be extended to other interfaces. This is also not expected to be disabled for release builds because there are still many dissectors that do not correctly handle strings. More work is needed to 1) identify them and 2) fix them. Ping #18317
2022-08-29extcap: Add falcodump.Gerald Combs1-0/+1
Add an extcap that fetches a scap from a Falco/libsinsp plugin. Tested using the cloudtrail plugin.
2022-08-22CMake+etc: Enable Qt6 by default for Unix buildsJoão Valverde1-1/+1
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-07-06Rename Logwolf to LograyGerald Combs1-2/+2
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-05-20CMake: Enable Qt6 if WIRESHARK_QT6_PREFIX_PATH is set.Gerald Combs1-1/+5
Remove the "developers only" admonition.
2022-04-21CMake: Bump minimum CMake version to 3.10John Thacker1-3/+1
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-04More Logshark to Logwolf renaming.Gerald Combs1-2/+2
2022-04-04Logshark: Add initial UI.Gerald Combs1-1/+2
Add a separate UI application named "Logshark". It's currently a very thin superclass of Wireshark, but that will change over time. Based on work by Loris Degioanni.
2022-03-22Rename Sysdig Bridge to Falco Bridge.Gerald Combs1-0/+1
The Sysdig Bridge plugin loads Falco plugins, so rename it to Falco Bridge. Make it optional and dependent on libsinsp+libscap, similar to our codec plugins. Remove some unused code.
2022-03-11CMake: Disable fuzzshark by default.Gerald Combs1-5/+1
Most people don't use fuzzshark, so don't waste compute resources building it. OSS-Fuzz has been updated to always build fuzzshark in https://github.com/google/oss-fuzz/pull/7373
2022-03-09extcap: new interface, wifidump, to capture Wi-Fi frames using a remote SSH hostAdrian Granados1-0/+1
2022-01-03CMake: Use more consistent naming for optionsJoão Valverde1-4/+4
Having some options use DISABLE_ and others ENABLE_ is inconsistent and difficult to remember. Use ENABLE_ instead consistently. Frame-larger-than remains an exception.
2021-11-24Get CMake to successfully work with Qt6Joerg Mayer1-0/+3
Of course it still fails in the compile phase, but only for some of the ui/qt/ files. Wireshark with Qt5 still compiles and runs. To do the build invoke cmake with the following settings added: export CMAKE_PREFIX_PATH=:${MY_QT6_PREFIX}/lib/cmake cmake -DUSE_qt6=ON ... Independently of this patch there is lots of Qt-stuff in CMakeLists.txt that needs review/cleanup: - Some of the stuff can probably be solved in a less hacky way: + There seemed to be a way for QT6 to provide the required c++-standard, but in the end I could not find it. + Once we have a working Qt6 codebase, we may get rid of the USE_qt6 flag and just test for Qt6Core first and if not present check for Qt5Core. - All comments that match /qt ?[4-6]/i need reviewing/cleaning up. - The changes in this patch have been tested to work on all machines that are my mac (macos 12.0.1, XCode 13.1, Intel, GPL-Qt6.2.1 with only the macos package selected, cmake 3.21.4) Add ui/qt/qt6-migration-links.txt for some possibly helpful links
2021-11-14Make PCRE2 a required dependencyJoão Valverde1-1/+0
2021-11-14dfilter: Add support for PCRE2João Valverde1-0/+1
PCRE2 is the future of PCRE. The only advantage of GRegex is that it comes bundled with GLib, which is not an advantage at all. PCRE2 is widely available, the GRegex abstractions layer are not a good fit and abstract things that don't need abstracting or that we could handle better ourselves, there are open bugs (#12997) and maintenance is spotty at best. GRegex comes with many of the problems of bundled code, aggravated by the fact that it completely falls outside of our control.
2021-09-21MinGW-w64: Disable building 'etwdump'João Valverde1-1/+3
2021-07-26CMake: Make LTO default off, restrict to release buildJoão Valverde1-4/+2
Link Time Optimizations increases build time a lot so restrict this optimization to release builds. Follow our build bots and make this option default off. Also LTO requires CMake >= 3.9 so make the LTO CMake option universally conditional on that requirement.
2021-06-10CMake: Reverse logic to handle debug codeJoão Valverde1-1/+1
Only enabling debug code by default with Debug build type seems overly restrictive; debug output is still conditional on the log level.
2021-05-24CMake: Disable LTO again by defaultJoão Valverde1-5/+5
After some experimentation results with GCC and clang seem poor, compilation times are terrible and I don't feel confident enabling it by default yet. More testing is needed.
2021-05-24CMake: Enable LTO/IPO support for all platformsJoão Valverde1-2/+5
2021-05-24Add ws_debug() and use itJoão Valverde1-0/+1
Replace most instances of ws_debug_printf() except in epan/dissectors and dissector plugins. Some replacements use printf(), some use ws_debug(), and some were removed because they were dead or judged to be temporary.
2021-05-19Disable assertions for release buildsJoão Valverde1-0/+1
Currently our build generates very many warnings if G_DISABLE_ASSERT is defined. Add ws_assert() and ws_assert_not_reached() to incrementally replace existing assertions and then disable them using WS_DISABLE_ASSERT. Assertions are disabled with CMake build type Release. By default the build type is RelWithDebInfo so the current behaviour of enabling assertions by default is (for now) preserved. Add some notes to README.Developer.
2021-04-27Remove unneeded c-ares checks.Gerald Combs1-1/+0
C-ares has been mandatory since 451a241e50. Remove some checks that are no longer needed. Rename OPTIONAL_DLLS to THIRD_PARTY_DLLS and OPTIONAL_PDBS to THIRD_PARTY_PDBS in CMakeLists.txt, which is more accurate.
2021-04-26Windows: move ENABLE_VLD to CMakeOptions.txtPascal Quantin1-0/+1
2021-04-14CMake+CI: Colorize our compiler output.Gerald Combs1-0/+6
As described at https://medium.com/@alasher/colored-c-compiler-output-with-ninja-clang-gcc-10bfe7f2b949 both Clang and gcc generate colorized output when they detect a terminal, but not for piped output, which is the case when using Ninja. Add an ENABLE_COMPILER_COLOR_DIAGNOSTICS CMake option, and set it to "ON" when we're using Ninja. In the merge-req:ubuntu-gcc-ctest and merge-req:ubuntu-clang-other-tests GitLab CI jobs, generate colorized HTML report artifacts using ansi2html.
2020-12-02MBIM: Update dissector to support DLT_ETWOdysseus Yang1-0/+6
New link type DLT_ETW is added for write and read Event Trace on Windows. This change updates MBIM dissector to decode a MBIM message from a DLT_ETW packet.
2020-10-03RTP: opus playbackLin Sun1-0/+1
It's possible to play opus payload with libopus (https://opus-codec.org/). Closes #16882. Helped-by: Pascal Quantin <pascal.quantin@gmail.com> Signed-off-by: Lin Sun <lin.sun@zoom.us> Signed-off-by: Yuanzhi Li <ryanlee@mail.ustc.edu.cn>
2020-08-04Build: Add LTO/IPO supportGraham Bloice1-0/+6
Enable Link Time Optimization, also known as Interprocedural Optimization if the compiler supports it. Added a CMake option (ENABLE_LTO), defaulted to ON only on Windows Change-Id: Iea02b00aac12cc9a62595eeb8ff52382f1c4ddcd Reviewed-on: https://code.wireshark.org/review/37573 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-04-06CMake: remove ENABLE_PCAP_NG_DEFAULT optionPeter Wu1-1/+0
pcapng has been the compile-time default since 2011. If there are any users who would like to use the libpcap format, then they should use runtime options instead (e.g. `tshark -P` or `editcap -F pcap`). Change-Id: I54b70368cdc3ca78bc8617bc488cc687740a1eb9 Reviewed-on: https://code.wireshark.org/review/36721 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <gharris@sonic.net>
2020-01-20RTP: decode iLBC payloadJirka Novak1-0/+1
It is possible to decode iLBC payload. It uses libilbc library (https://github.com/TimothyGu/libilbc). Bug: 16314 Change-Id: Id4cad7ae32305a0e94ef32beb24e07733d7f834e Reviewed-on: https://code.wireshark.org/review/35686 Reviewed-by: João Valverde <j@v6e.pt> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-15macOS: Add support for automatic updates using Sparkle.Gerald Combs1-1/+2
Add support for automatic updates using the Sparkle framework. Add FindSparkle.cmake and associated CMake plumbing. Add a public key and other info to Info.plist.in. Add ui/macosx/sparkle_bridge.{h,m}, which wraps the Sparkle API. Make code that's specific to WinSparkle Windows-only. Add Sparkle installation steps to the macos-setup scripts. Sparkle prints a warning if your bundle is unsigned (which is the case during development) so disable installing it by default. Updating here takes a long time. We might be able to fix that by shipping our DSYMs separately. Change-Id: I6cc6671db5657dadc514bda6bf6e1c8bbc9468a5 Reviewed-on: https://code.wireshark.org/review/35090 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-08-20Kafka: include zstd compression in Kafka message batchesPiotr Smolinski1-0/+1
Change-Id: I1d06486ccf7b174ee9aa621fa3d8acb8b3673777 Reviewed-on: https://code.wireshark.org/review/34222 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-07-17Qt: Import Profile informationRoland Knall1-0/+1
Allow easy import of profiles. Profiles must be stored inside a zip file, with no additional hierarchy. Change-Id: I0ae77460c20ef6b3e447906e671b0cefa6b9b032 Reviewed-on: https://code.wireshark.org/review/33881 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-04-23CMake: add USE_STATIC optionFabrice Fontaine1-0/+1
USE_STATIC will: - always link statically with external libraries (such as glib2) - will not set rpath to avoid the following error: CMake Error at cmake_install.cmake:50 (file): file RPATH_CHANGE could not write new RPATH: /usr/lib to the file: /home/fabrice/br-test-pkg/br-arm-full-static/target/usr/bin/tshark No valid ELF RPATH or RUNPATH entry exists in the file; Change-Id: I242dc1a091cc211ee891568a2dee5080c9974fba Ping-Bug: 15713 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Reviewed-on: https://code.wireshark.org/review/32945 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-04-22Add brotli decompression support for HTTP and HTTP2 dissectors.Dániel Bakai1-0/+1
Change-Id: I9c09f55673187f6fee723fcd72798fb6b9958b03 Reviewed-on: https://code.wireshark.org/review/32745 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-12-29Add support for RSA decryption using PKCS #11 tokensPeter Wu1-1/+1
Add support for loading RSA private key files from PKCS #11 tokens, identified by PKCS #11 URIs. Add a new 'pkcs11_libs' UAT which can dynamically load PKCS #11 provider libraries that are not found by p11-kit. The configuration GUI will need additional code to discover available PKCS #11 tokens and will be added later. This feature requires GnuTLS 3.4 with PKCS #11 support, so Windows, macOS via Homebrew, Ubuntu 16.04, Debian Stretch. Not supported: RHEL7. Currently macOS via official packages disables PKCS #11 support, so that will also not work. Change-Id: I20646bfd69c6bd13c8c2d27cb65c164a4b0b7a66 Reviewed-on: https://code.wireshark.org/review/30855 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-10-20fuzzshark: integrate oss-fuzz targets in CMakePeter Wu1-0/+1
The current fuzzshark target built by CMake is not usable for fuzzing. Address this by adding a new ENABLE_FUZZER option that enables mandatory instrumentation and libFuzzer linking options for the fuzzshark binary. Create more CMake targets for specific fuzzing targets such as fuzzshark_ip and fuzzshark_ip_proto-udp. These targets are not built by default, either build individual targets or use the all-fuzzers target. Now these binaries are not specific to oss-fuzz, so move them to a new directory (perhaps the corpora can be added here in the future). oss-fuzz build.sh is simplified and reuses the CMake targets. When OSS_FUZZ is set, it will force static linking with external libraries and limit parallel linker jobs (maybe not necessary for Google's oss-fuzz builders, but my 8G/6c VM ran out of memory). Change-Id: If3ba8f60ea1f5c3bd2131223050a81f9acbce05d Reviewed-on: https://code.wireshark.org/review/30228 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-01Add a systemd Journal Export extcap.Gerald Combs1-0/+7
Add an sdjournal extcap, which reads journal entries using the sd-journal API and dumps them as journal Export Format records. Change-Id: I17ccfa88ab5d053c16c869cd26e580d84022502e Reviewed-on: https://code.wireshark.org/review/29479 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-08-25CMake: Add dumpcap group option to installationJoão Valverde1-0/+5
Change-Id: I2718776a908ae5f9c6c475a110f9170b812b392d Reviewed-on: https://code.wireshark.org/review/29282 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt>
2018-08-25CMake: Format for readabilityJoão Valverde1-2/+3
Change-Id: I6c3ba0f09c9eb59abc24798930ffa5e51feb2cf1 Reviewed-on: https://code.wireshark.org/review/29281 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt>
2018-05-14extcap: Support for DisplayPort AUX channel monitorsDirk Eibach1-0/+1
Support for the generic netlink DisplayPort AUX channel monitor kernel driver. Change-Id: Iab445229ecef082968355f604993292f5f2d8d69 Reviewed-on: https://code.wireshark.org/review/27313 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com> Reviewed-by: Roland Knall <rknall@gmail.com>
2018-04-09CMake: More Qt4 removal.Gerald Combs1-1/+0
Remove some Qt major version checks. Remove the ENABLE_QT5 option. Change-Id: I891bc90956a2ea2cd5a7c50c56d9fcbfc963d6c2 Reviewed-on: https://code.wireshark.org/review/26785 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>