Commit Graph

85061 Commits

Author SHA1 Message Date
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
John Thacker 00bfdf46a7 Qt: Fix export objects memory leak
The export object entries were never getting freed, creating a
pretty serious memory leak.

=1307558==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2237664 byte(s) in 46618 object(s) allocated from:
    #0 0x55ac70d80457 in malloc (/home/johnthacker/wireshark-clang/run/wireshark+0x1a4a457) (BuildId: ad576854e9259fb05a7d0aacbff6e3e1f8e41157)
    #1 0x7fe8ff2f4278 in g_malloc (/lib64/libglib-2.0.so.0+0x5a278) (BuildId: 8a4c270219135729dff508e4bb3cc03099af40e8)
    #2 0x7fe910912ff4 in tap_push_tapped_queue /home/johnthacker/wireshark/epan/tap.c:366:15
    #3 0x7fe910711548 in epan_dissect_run_with_taps /home/johnthacker/wireshark/epan/epan.c:640:2
    #4 0x55ac7263288d in retap_packet /home/johnthacker/wireshark/file.c:2241:5
    #5 0x55ac7263201c in process_specified_records /home/johnthacker/wireshark/file.c:2207:14
    #6 0x55ac726315fc in cf_retap_packets /home/johnthacker/wireshark/file.c:2292:11
    #7 0x55ac712aed41 in ExportObjectDialog::show() /home/johnthacker/wireshark/ui/qt/export_object_dialog.cpp:173:15
...
Indirect leak of 1700955 byte(s) in 139854 object(s) allocated from:
    #0 0x55ac70d80457 in malloc (/home/johnthacker/wireshark-clang/run/wireshark+0x1a4a457) (BuildId: ad576854e9259fb05a7d0aacbff6e3e1f8e41157)
    #1 0x7fe8ff2f4278 in g_malloc (/lib64/libglib-2.0.so.0+0x5a278) (BuildId: 8a4c270219135729dff508e4bb3cc03099af40e8)
...
SUMMARY: AddressSanitizer: 3961187 byte(s) leaked in 186587 allocation(s).
2022-08-22 03:45:20 +00:00
John Thacker 2617ff294f SMTP: Move the request handling into a function
This makes the code easier to read and will enable handling
multiple PDUs in a message easier (needed for full pipelining
support.)
2022-08-21 18:00:18 -04:00
John Thacker d6812621a0 SMTP: Move response handling into function
Make the code a little easier to read
2022-08-21 18:00:18 -04:00
Martin Mathieson 9a5029b364 DCT2000: Don't assign to tag unused value 2022-08-21 19:48:13 +00:00
Gerald Combs 70dbe58aea [Automatic update for 2022-08-21]
Update manuf, services enterprise numbers, translations, and other items.
2022-08-21 16:39:53 +00:00
John Thacker ccf720d95d epan: Handle subset tvbuffs with non-zero offets and length -1
According to tvbuff.h, tvb_new_subset_length() with length -1
should behave like tvb_new_subset_remaining(). That means that
the reported length should subtract off the offset into the
original tvb.
2022-08-21 15:21:24 +00:00
Guy Harris 58907c0723 blf: change description and add/extend comments.
Call the Vector Informatik BLF format "Vector Informatik Binary Logging
Format (BLF) logfile", to give more details to people who don't
necessarily know what "BLF" means (British Lung Foundation?).

Note that in the introductory comments to blf.c and blf.h as well.

Note that we should perhaps report unknown flags/packet timestamp type
values as errors or warnings.

Note that we can, and should, report at least some 802.11 radio
information to our caller.
2022-08-21 01:34:41 -07:00
Dr. Lars Völker 3167105e2f BLF: Adding ObjectHeader format 2 and 3
This patch adds the format 2 and 3 of the ObjectHeader, so that the blf
code does not stop reading the file, when one of these header formats is
present.

Minor refactoring was necessary.
2022-08-21 01:02:48 +00:00
John Thacker 9c3dee4bb4 Add missing debian symbols
Add new symbols from commit 005169491e
2022-08-20 18:37:33 -04:00