Commit Graph

85070 Commits

Author SHA1 Message Date
Guy Harris 8195bdd340 Rename a bunch of things with "conversation".
A conversation in Wireshark might have two endpoints or might have no
endpoints; few if any have one endpoint.  Distinguish between
conversations and endpoints.
2022-08-25 20:02:20 -07: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 67ceab96c8 Gitlab CI: Use Qt6 with Ubuntu builds
Our ubuntu container has Qt6 so use the default Qt version.

The APT packages are still using Qt5 at the moment. We may want to
migrate those to Qt6 in the future and choose a single Linux build
using Qt5.
2022-08-25 21:55:46 +01:00
João Valverde f2073b6d74 Qt: Fix build with Logray and Qt6
Copied from 349787051e.
2022-08-25 21:55:46 +01:00
Alexis La Goutte f6a299ffc4 windows: Upgrade nghttp2 to 1.49.0 2022-08-25 18:01:37 +00:00
Pascal Quantin 5fa60f079e Windows: upgrade Npcap to 1.71 2022-08-25 18:01:11 +00:00
DarienSpencer65 f593c4165e AT: Implement CMGR command (binary mode) 2022-08-25 16:47:28 +00:00
Angelo Spampinato 52e34b2531 Adding some SharkFest info to the welcome screen 2022-08-25 16:43:56 +00:00
João Valverde 1d8f8d620d tools: Add --install-all option to some setup scripts 2022-08-25 10:35:02 +01:00
João Valverde 8e77b5c499 Gitlab CI: Build Fedora RPM job using Qt6 2022-08-25 08:26:32 +00:00
João Valverde 1f3876f48b Gitlab CI: Clean up formatting 2022-08-25 08:26:32 +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 1c26cb178f rpm-setup.sh: Add support for Qt6 2022-08-25 07:54:00 +00:00
Guy Harris b6a21c6855 mxproxy: don't mix PT_ and ENDPOINT_ values.
PT_TCP and ENDPOINT_TCP happen to have the same numerical value, and
PT_UDP and ENDPOINT_UDP happen to have the same numerical value, but we
shouldn't cheat and just type-pun a PT_ value to an ENDPOINT_ value.

Instead, make the relevant structure members endpoinnt_type values and
assign them ENDPOINT_ values.
2022-08-24 23:38:14 -07:00
Guy Harris bb8d23192e Add a comment explaining WTAP_NSTIME_32BIT_SECS_MAX. 2022-08-25 01:42:31 +00:00
John Thacker d8e877f610 HTTP: Test the first header line in a PDU more
For a PDU where we haven't seen a request, response, or
header line yet, check to see if the header name is valid
before deciding that it is a header. Prevents many false
positives on continuation data that happens to have a line
end and a colon, where we couldn't do desegmentation for
some reason.
2022-08-25 01:08:54 +00:00
Chuck Craft 4915b646d0 tls 1.3: set CCM aad_len for draft >= 25
Closes #18277
2022-08-25 00:51:40 +00:00
John Thacker 16563952f4 tcp: Update the maxnextseq on ooo MSPs properly
If we get a new contiguous fragment that is inserted into the
middle of a MSP in progress, we need to update maxnextseq by
looking at all the fragments part of that MSP that are now contiguous.
Related to #17406
2022-08-25 00:24:00 +00:00
Stig Bjørlykke e0c302330b wiretap: Fix build on 32-bit Linux
Add WTAP_NSTIME_32BIT_SECS_MAX to define the maximum timestamp
for some formats where this is not known.
2022-08-24 23:26:19 +00:00
João Valverde eba586040e msys2-setup.sh: Add support for Qt6 2022-08-24 20:34:35 +01:00
João Valverde 573a9d0aa4 debian-setup.sh: Add support for Qt6
One or both Qt version deps can be selected with a command line option.

If no option is given the script will select Qt6 for Ubuntu 22.04 or
later, Qt5 otherwise.
2022-08-24 16:39:17 +00:00
Martin Mayer ffde66ea7c dissector: Open Control Protocol OCP.1/AES70 2022-08-24 14:20:18 +00:00
John Thacker fab27018b4 dtls: Handle invalid use_srtp protection profiles length
Handle a bad length, and set some expert infos if bad. Fix #18289
2022-08-24 08:30:03 -04:00
Guy Harris 2aeaf71fa5 Change names to reflect that it's an endpoint table.
More {host, hostlist} -> endpoint.
2022-08-23 22:15:45 -07:00
Chuck Craft 5399334ebc smpp: add NULL address_range to packet details
Sample capture attached to #6108
Account for all the bytes displayed in the packet bytes.
https://smpp.org/SMPP_v5.pdf - 4.7.3 address_range
2022-08-24 03:42:09 +00:00
Pau Espin e9618dccb1 BSSMAP: Show SAC in CellId tree
Similar is done for CGI, where LAC (%x)/CI (%u) is shown.
Let's do the same for SAI case, otherwise it's confusing since it first
looks as if LAC Cell Identifier was sent, but it is actually of type
SAI.
2022-08-24 03:01:50 +00:00
John Thacker 6da668d303 SMTP: Handle pipelining of DATA and BDAT
Handle RFC 2920 and RFC 3030 pipelining of DATA and BDAT. This
involves:

Instead of storing a single PDU type for each frame, storing
a linked list of PDUs (with end offsets), in order to handle
frames that switch between data and command state. This includes
handling other commands before or after a BDAT command, or handling
other commands after a DATA EOM. That means parsing the remaining
lines after BDAT and EOMs on the first pass instead of assuming that
the rest of the frame has a known type.

Also, RSET commands allow switching between BDAT transaction
and DATA transactions, per RFC 3030.

The case where more than one message is completed in a single frame
is not yet handled. RFC 2920 and 3030 imply that this is non-standard,
but it could work. To handle it, we would also have to track message
numbers in order to give fragment_add_seq_next unique frag IDs.
(It doesn't handle more than one fragment with the same ID ending in
the same frame.)

Fix #17269. Fix #17267.
2022-08-24 02:42:41 +00:00
Guy Harris 4b53f31d2d Fix comments to reflect reality.
It's an endpoint table, not a table of hosts.
2022-08-23 19:07:25 -07:00
John Thacker 66e19f9622 Qt: Silence warning
In the case that this is being called with an address type that
is neither IPv4 or IPv6, make sure that the char array used
to construct the QString is null terminated so that there's no
warning about using addr uninitialized or a possible strlen running
off the end.
2022-08-24 00:36:12 +00:00
João Valverde 30bfc732df debian-setup.sh: Add missing packages 2022-08-24 01:15:23 +01:00
Jérôme Pouiller ef513118f9 Update Wi-SUN FAN dissector with LBC-IE
The last specification of the Wi-SUN FAN (I have not checked when it
appeared, but it is present in 1.1v04) introduce LBC-IE (see
"6.3.2.3.1.17 LFN Broadcast Configuration Information Element
(LBC-IE)").
2022-08-23 19:54:17 +00:00
Jérôme Pouiller 3fc57d3f93 Update Wi-SUN FAN dissector with last LBS-IE specification
The last specification of the Wi-SUN FAN (I have not checked when it
appeared, but it is present in 1.1v04) introduce the field
broadcast_sync_period in LBS-IE (see "6.3.2.3.1.13 LFN Broadcast
Schedule Information Element (LBS-IE)").
2022-08-23 19:54:17 +00:00
Guy Harris ec6fd00518 Fix deprecation warning.
get_hostlist_packet_func() was not deprecated in favor of itself, it was
deprecated in favor of get_endpoint_packet_func().
2022-08-23 19:20:47 +00:00
Michael Tuexen 13a302da6e TCP: Improve consistency of reproting the SACK supported option
The =1 part does not make any sense in reporting SACK_PERM=1.
There is no value in the option and if it is not supported the
option is not there. So remove the =1 part.
2022-08-23 19:02:24 +00:00
João Valverde 1b210202a5 Gitlab CI: TShark build jobs don't need USE_qt6 2022-08-23 18:43:07 +00:00
Alexis La Goutte 73bd37cec8 NSIS: Remove Quick Gui checkkbox 2022-08-23 16:54:10 +00:00
João Valverde a27ecac02a Gitlab CI: Use DWARF-4 with Valgrind Fuzz job
Valgrind does not support Clang 14 + DWARF-5.

Ping #18191.
2022-08-23 16:09:23 +00:00
João Valverde 3109ba9e57 epan: Add back missing public API declaration.
Follow-up to d9e662bc54.
2022-08-23 14:44:23 +01:00
John Thacker 7bf4144494 Qt: Enable compilation on gcc 12.1 and Qt6
gcc 12.1 thinks that there's a signed/unsigned qsize issue with
the Qt6 sources. Enable compilation until this gets fixed upstream.

/usr/include/qt6/QtCore/qarraydataops.h:98:17: error: ‘void* memcpy(void*, const void*, size_t)’ specified size between 9223372036854775808 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
   98 |         ::memcpy(static_cast<void *>(this->end()), static_cast<const void *>(b), (e - b) * sizeof(T));
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-08-23 12:38:20 +00:00
João Valverde 6dfa521c26 WSDG: Fix CMake preset JSON errors 2022-08-23 10:53:01 +00:00
Roland Knall 645b9ab7f4 Qt6: Adapt various docs 2022-08-23 10:37:14 +00:00
Guy Harris d9e662bc54 Rename some functions and types for endpoint tables.
The "conversation table" mechanism supports two types of tables, one for
the "Conversations" menu item under "Statistics" and one for the
"Endpoints" menu item under "Statistics".  The first of them shows
statistics for conversations at various layers of the networking stack;
the second of them shows statistics for endpoints at various layers of
the networking stack.

The latter is *not* a table of hosts; an endpoint might be a host,
identified by an address at some network level (MAC, IP, etc.), or it
might be a port on a host, identified by an address/port pair.

Some data types, function names, etc. use "host" or "hostlist" or other
terms that imply that an endpoint is a host; change them to speak of
endpoints rather than hosts, using names similar to the corresponding
functions for conversations.

Provide wrapper functions and typedefs for backwards source and binary
compatibility; mark them as deprecated in favor of the new names.

Clean up some comment errors found in the process.
2022-08-23 09:55:14 +00:00
João Valverde 6297831fb9 Gitlab CI: Add another USE_qt6=OFF option.
[skip ci]
2022-08-23 09:51:59 +01:00
João Valverde 9aa8331467 Gitlab CI: Fix ubuntu/rpm builds using Qt5 2022-08-23 08:52:20 +01:00
zhangzhilei 21d93f072a TLS:add error check for ssl_hmac_init
add error check for ssl_hmac_init
2022-08-23 02:20:53 +00:00
Chuck Craft b60240a8a6 spelling: "two pass" -> two-pass 2022-08-22 10:20:29 +00:00
João Valverde 2155a725e1 Gitlab-CI: Disable Qt6 for Windows Qt5 build 2022-08-22 10:17:24 +01: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
João Valverde 6b35aa0773 Qt: Add dfilter error location to tooltip
If display filter compilation fails and the expression has a syntax
error and associated location, it will be displayed in the filter
tooltip, using a textual underline.

As far as I can tell using a graphical squiggly underline seems extremely
difficult for an object inheriting from QLineEdit, so the tooltip
textual method was used instead.
2022-08-22 07:31:08 +00:00
John Thacker cbe4cd926c HTTP: Send binary Continuation Data to Follow Stream
If we shortcut the HTTP header check because the file starts with
a non-ASCII character, but we think that it is Continuation Data
because we've seen real HTTP in the same conversation, mark the
data as file data and send it to the follow tap, just as we would
if it failed the more extensive checks for being a header. Deals
with cases where desegmentation isn't performed (whether because
of prefs, missing packets, bad checksums, etc.)

Related to #13918.
2022-08-22 03:58:30 +00:00