Commit Graph

82694 Commits

Author SHA1 Message Date
Joerg Mayer 24a364f762 Get CMake to successfully work with Qt6
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-24 10:31:16 +00:00
João Valverde 35ad2e85c8 dfilter: Free a scanner string 2021-11-24 10:06:19 +00:00
João Valverde eb8c3169e7 dfilter: Clean up charconst error message 2021-11-24 09:38:58 +00:00
João Valverde 943c282009 dfilter: Parse character constants in lexer
Invalid character constants should be handled in the lexical scanner.

Todo: See if some code could be shared to parse double quoted strings.

It also fixes some unintuitive type coercions to string. Character
constants should be treated as characters, or maybe integers, or
maybe even throw an invalid comparison error, but coverting to a
literal string or byte array is surprising and not particularly
useful:
  '\xFF' -> "'\xFF'" (equals)
  '\xFF' -> "FF"     (contains)

Before:

    Filter: http.request.method contains "\x63"

    Constants:
    00000 PUT_FVALUE	"c" <FT_STRING> -> reg#1
    (...)

    Filter: http.request.method contains '\x63'

    Constants:
    00000 PUT_FVALUE	"63" <FT_STRING> -> reg#1
    (...)

    Filter: http.request.method == "\x63"

    Constants:
    00000 PUT_FVALUE	"c" <FT_STRING> -> reg#1
    (...)

    Filter: http.request.method == '\x63'

    Constants:
    00000 PUT_FVALUE	"'\\x63'" <FT_STRING> -> reg#1
    (...)

After:

    Filter: http.request.method contains '\x63'

    Constants:
    00000 PUT_FVALUE	"c" <FT_STRING> -> reg#1
    (...)

    Filter: http.request.method == '\x63'

    Constants:
    00000 PUT_FVALUE	"c" <FT_STRING> -> reg#1
    (...)
2021-11-24 08:40:20 +00:00
Dr. Lars Völker 18d7afa711 MKA: Fixing misleading capability value-strings (Bugfix)
The original MACsec capability value strings do not reflect the
IEEE 802.1X specification (2010 or 2020).

For example: IEEE 802.1X says for value 2:
"‘Integrity without confidentiality’ and ‘Integrity and
confidentiality’ with a confidentiality offset of 0"

The packet-mka.c value string for 2 says:
"MACsec Integrity with no confidentiality offset"

The updated value string now shows that integrity and
integrity+confidentiality are supported.
2021-11-24 08:13:29 +00:00
Uli Heilmeier 8d03eae346 OS Version Info: Update Windows 10/11 2016/2019
Windows Server 2016 and 2019 have both dwMajorVersion==10 and dwMinorVersion==0
It seems this is the same for Windows 10 and Windows 11.

See also https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_osversioninfoexw

As we don't know if we running on 10 or 11, 2016 or 2019 we should report
both OS names.
2021-11-24 07:36:16 +00:00
John Thacker fd1c9b75ba doc: Update stats_tree README
Update README.stats_tree including the sample implementation for
changes in the API, such as the enum return value and needing to
set the node datatype as either int or float.

Also update the comments in the stats_tree header to make it clear
that abbrev and name refer to the abbreviation used in the tshark -z
option, and the name of the menu and window in the GUI for the stats
tree.
2021-11-23 22:20:16 -05:00
João Valverde 7028646f9e dfilter: Fix invalid character constant error message
This reverts commit d635ff4933.

A charconst cannot be a value string, for that reason it is not
redundant with unparsed.

Maybe character constants should be parsed in the lexical scanner
instead.

Before:
  Filter: ip.proto == '\g'
  dftest: "'\g'" cannot be found among the possible values for ip.proto.

After:
  Filter: ip.proto == '\g'
  dftest: "'\g'" isn't a valid character constant.
2021-11-23 17:35:40 +00:00
João Valverde b657396d44 plugins.example: Add missing header
Fixes 9bdccce574.
2021-11-23 17:16:27 +00:00
João Valverde 72c5efea1b dfilter: Reject invalid character escape sequences
For double quoted strings. This is consistent with single quote
character constants and the C standard. It also avoids common
mistakes where the superfluous backslash is silently suppressed.
2021-11-23 16:48:02 +00:00
João Valverde bbaa144b3c dfilter: Remove reference to GRegex 2021-11-23 14:08:06 +00:00
Nan Xiao 8883788423 EVS: Fix bug in decoding LP-CNG SID BW value 2021-11-22 11:53:06 +00:00
Joerg Mayer 769be50d76 Remove last remnants of Qt5MacExtras
MacExtras has been both obsoleted by Qt5 and unused by Wireshark code.
https://doc.qt.io/qt-5/qtmac-obsolete.html
2021-11-22 09:31:23 +00:00
Dr. Lars Völker 56d100d6ea MKA: Adding Announcement TLV parsing and Cipher Suite
This patch adds support to parse the Announcement TLV in MKA and the
Cipher Suite announcement within it.
2021-11-21 20:18:56 +01:00
Gerald Combs 730a4c0b85 Docs: Update our supported macOS version information. 2021-11-21 18:36:57 +00:00
Uli Heilmeier 3c73fa5d55 Revert "tests: fix test fails on Ubuntu, fix #17730"
This reverts commit 78067deb89.
Commit d5ba1fe2 unsets XDG_CONFIG_HOME when setting up the environment.

Related to #17730
2021-11-21 17:47:32 +00:00
Gerald Combs 92045d98c0 [Automatic update for 2021-11-21]
Update manuf, services enterprise numbers, translations, and other items.
2021-11-21 16:24:28 +00:00
John Thacker ca71d1624c gryphon: Create pkt_info if it doesn't exist
Try to retrieve the per packet info data first, and create it if
it doesn't exist, rather than assuming it is there on the second
pass. Prevents segfaults in cases with strange TCP sequence issues
(that still show up as bugs in the TCP dissector.) Fix #17737.
2021-11-21 09:23:07 -05:00
Dr. Lars Völker abf9ed5f11 MKA: Adding support for Announcement TLV padding (Bugfix) 2021-11-21 14:04:41 +00:00
John Thacker b5917d0182 wmem: Add a multimap
A number of protocols have IDs that can be reused that are used as
lookup keys. In most cases the frame number should be used as well
to differentiate repeat appearances of an ID. For response/request
matching, it is frequently useful to find the most recent frame number
(greatest value less than or equal to the current one) that contained
an ID.

We can achieve that by using a multimap that stores values with a given
ID in a tree keyed with the frame number. This works better than using
a map or a tree alone:

1) A map isn't ordered, so doesn't allow for less than or equal comparison.
2) Using a tree requires an ordering on all the ID components, and then
   having to test all the components other than the frame number separately
   for equality after retrieval.

Currently the multimap does not support inserting items without specifying
the tree key (and having the multimap generate a key), because the total
capacity of trees (including deleted nodes) is not tracked. If other use
cases are needed, this could be added later along with more generic
multimap support.

Use a multimap in ANSI MAP, ANSI TCAP, and GSM SMS, all of which need to
match lookup IDs that can be reused. Fix #7653.
2021-11-21 07:16:55 -05:00
Gerald Combs e2703507c2 Update a bunch of GLib documentation links.
Change our developer.gnome.org/glib URLs to
developer-old.gnome.org/glib. The official documentation for GLib
appears to be at https://docs.gtk.org/glib/, but it has a different
layout than the gnome.org content (and is surprisingly resistant to
exploration IMHO). We can switch to developer-old.gnome.org using a
simple substitution and it still seems to be updated, so do that for
now.
2021-11-20 21:33:17 +00:00
Stig Bjørlykke a8643ab254 Qt: Fix column validation in columnString()
The column parameter in PacketListRecord::columnString() must be
below cap_file->cinfo.num_cols to be valid. An issue with this check
may be triggered when switching profile.
2021-11-20 17:22:33 +00:00
Odysseus Yang 5a7c23c5da MBIM: dissect MBIM_CID_BASE_STATIONS_INFO
MBIM_CID_BASE_STATIONS_INFO
2021-11-20 16:44:24 +00:00
Stig Bjørlykke 3badea1e80 btle: Improve Advertising Data reassembly
Copy Advertiser Address from AUX_ADV_IND if not present in AUX_CHAIN_IND
to make reassembly work. Check for valid reassembled data before
doing dissect_ad_eir().
2021-11-20 15:38:24 +00:00
Michael Tuexen 2b52d14d62 BBLog: Fix the handling of skipped blocks 2021-11-20 00:10:28 +01:00
Gerald Combs 389cf9d752 HICP: Use wmem_strsplit.
As the GLib documentation says, g_strsplit returns "A newly-allocated
NULL-terminated array of strings. Use g_strfreev() to free it." Call
wmem_strsplit instead so that we clean up after ourselves. Blind attempt
at fixing #17736.
2021-11-19 17:58:27 +00:00
João Valverde f1b10644a7 Release notes: Add back note about display filter syntax
This indicates a deprecation that was removed, that is relevant
to note for this release.
2021-11-19 10:16:02 +00:00
Pascal Quantin 4921183e33 GTPv2: fix dissection of 5GS TAC
Fixes #17738
2021-11-19 04:51:05 +00:00
Gerald Combs f0b2bb7472 Docs: Clean up the release notes. 2021-11-18 18:43:33 -08:00
Gerald Combs d5ba1fe2fc Test: Make sure XDG_CONFIG_HOME isn't set.
Make sure the environment factory in fixtures_ws.py unsets
XDG_CONFIG_HOME, otherwise tests can fail. Ping #17730.
2021-11-18 20:55:46 +00:00
Georg Sauthoff faf03149af Don't close stdin on spawn error
This solves the following issue:

In cases where `mmdbresolve` fails to execute (e.g. when it's simply
missing from a tree) the spawn fails such that a zero initialized file
descriptor is closed (i.e. stdin). The close is silent, unless one
executes something like `tshark -r - ...` where a bad file descriptor
is reported then.
2021-11-18 19:24:09 +00:00
eason wei 61e4529fe5 tests: fix the test case running warning.
Fix the test_follow_dccp_existing_flow test case warning in suite_follow_dccp.py.
2021-11-18 07:55:22 +00:00
Martin Mathieson 263189e23d Fix some spelling errors. 2021-11-18 04:43:51 +00:00
Joerg Mayer 8772147021 Cmake: Qt6 extends CMAKE_MODULE_PATH, work around this 2021-11-17 17:30:28 +00:00
Joerg Mayer d52478436d macos-setup.sh: Update some tools
- Cmake to 3.21.4
- Sparkle to 1.27.0
- Asciidoctor to 2.0.16
- AsciidoctorPdf to 1.6.1
2021-11-17 16:18:50 +00:00
easonweii 78067deb89 tests: fix test fails on Ubuntu, fix #17730
unset the env variable XDG_CONFIG_HOME in ubuntu.yaml (action config file), wireshark will use $HOME evn variable;
and i test those two solutions, all test case is success;
2021-11-17 22:41:55 +08:00
Aidan MacDonald a8a3a3093c USB Attached SCSI protocol dissector
This is capable of dissecting UASP traffic on a USB 2.0
bus, provided Wireshark sees the interface descriptor.

Dissecting USB 3.0 traffic won't work properly because we
don't have access to an URB's bulk stream ID, so the data
transfer can't be attributed properly to commands.
2021-11-17 13:27:57 +01:00
Aidan MacDonald 660dded383 Refactor USB mass storage class dissector
The existing dissector only handles the Bulk-Only Transport
protocol but occupies the USB dissector hooks for all mass
storage class traffic.

To facilitate alternative protocols like UASP, direct all
mass storage class traffic to a stub dissector which will
dispatch to the real dissector based on other information,
such as the USB interface protocol.

Heuristic dissectors are still attached directly to the
core USB hooks.
2021-11-17 13:27:56 +01:00
Chuck Craft f748c91bb2 Qt (ByteView): update preference on hover state change; WSUG typo 2021-11-17 09:43:11 +00:00
Filip Kågesson f9be0f0c8c HICP: Added dissector to support Host IP Configuration Protocol.
A new dissector was added to support dissection of the HICP protocol.
2021-11-16 21:43:17 +00:00
Luckinger Florian 2172cd3e95 EBHSCR: Add dissection of LIN packets 2021-11-16 21:28:54 +00:00
Luckinger Florian f9398d82fb EBHSCR: Update dissection of ethernet frames
Add new bits to status field. Add column info for frames with no ethernet
payload.
2021-11-16 21:28:54 +00:00
Luckinger Florian b43d4a8c28 EBHSCR: Add dissection of FlexRay packets
Dissect FlexRay specific EBHSCR header of frame packets, symbol packets,
slot status packets and start of cycle packets. Payload of frame packets
and symbol packets is prepared and passed to the FlexRay dissector.
2021-11-16 21:28:54 +00:00
Jirka Novak ffd1f1cecf VoIP calls dialog: fix generated filter
New 'in { }' syntax requires comma between items so filter generator in
VoIP calls dialog must use it too.
2021-11-16 21:02:05 +01:00
Michael Tuexen 74d0c147a1 TCP Black Box Log: Fix and improve some fields 2021-11-16 17:17:34 +00:00
Jaap Keuter 5f7806a496 c-ares: move domain from haxx.se to its own .org
With c-ares release 1.18.0 the URLs were updated to c-ares.org.
Let's do the same.
2021-11-16 17:02:50 +00:00
Jaap Keuter 4f8e7f0d1c Add direct GitLab reference in GitHub PR lockdown text
Nothing more annoying than having to read a bunch of documentation, while
all you need is one fundamental piece of information: the right repo.
2021-11-16 16:47:09 +00:00
João Valverde 3c7894e2a0 dfilter: Add compilation result to log output
Add result output to console log, in addition to intermediate debug
information. This allows tracing the result using the log only.
2021-11-16 13:52:30 +00:00
João Valverde edf1e72d0c capture: Lower log level for debug output 2021-11-16 12:47:54 +00:00
João Valverde 75bb51eef9 dfilter: Clean up some debug statements, second try
Add just a console entry for check_test(), in a more compact
form.

Remove logging of the call chain. This was partially replaced by the
printout of the syntax tree.
2021-11-16 11:27:04 +00:00