Commit graph

90126 commits

Author SHA1 Message Date
Guy Harris
e0811c1aa0 x75: don't register for WTAP_ENCAP_LAPB.
X.75 is not the same thing as LAPB, and we already *have* a LAPB
dissector that registers for WTAP_ENCAP_LAPB.  Two dissectors
registering for a value in the wtap_encap table means one of them will
lose, so it does not work; in this case, the LAPB dissector loses.

Fixes #19595.
2024-01-15 16:37:05 -08:00
Gerald Combs
760462e2dc Qt: Status bar updates
Only show the "Displayed: x (y%)" packet list info if we have a display
filter set, similar to the other statistics. This avoids showing the
same number twice followed by "100.0%".

QObject::tr() returns a QString, so there's no need to wrap it in
QString(). (We do this a *lot*, which is probably my fault.)

Clean up some QString::arg calls.

Use the modern signal + slot syntax.
2024-01-15 16:01:15 -08:00
John Thacker
5c8c379b69 extcap: Add ability to enable SHA-1 algorithms
libssh 0.10.0 removed SHA-1 based keys and algorithms from its
default configuration, though they are still supported. We
ship with 0.10.5 in Windows and macOS now, and many Linux
distributions are on 0.10.x as well.

Add the ability to re-enable SHA-1 RSA keys, MAC, and KEX algorithms
with a preference to ciscodump, sshdump, and wifidump.

This will be a little easier in 0.11.0, where it's possible to
just specify the algorithms you want to add to the default list,
instead of having to specify the entire list.

Fix #19510. Fix #19594
2024-01-15 06:40:08 -05:00
John Thacker
b8f252dd99 Qt: Add support for date and time before file index in multi file mode
Add buttons to select the infix pattern in multiple file mode,
using the new option for having the date and time before the
file index number (which provides more natural sorting, and
keeps different groups of captures together) added for tshark
and the capture options in 8bc52f542b

Fix #12371
2024-01-15 09:44:55 +00:00
John Thacker
b5c839815e Remove duplicative members from interface_t
interface_t contains an if_info_t as its member. It
doesn't need to copy the friendly name, vendor description,
and type from the if_info_t into separate members. The vast
majority of the time, we're already using the member from
the embedded if_info_t, but change a couple of cases.

The display name is a unique transformation of the name, friendly
name (OS name), and vendor description (hardware name) that depends
somewhat on the OS, so that needsto be seprate. The addresses and
links are also transformed from the if_info format. The name is
copied as well, but at least that's the primary key for the interface.
2024-01-15 09:23:34 +00:00
John Thacker
eeb818f5e7 TLS: Display minimum supported version when version unknown in Client Hello
If the supported_versions extension is provided in the Client Hello,
display the mimimum supported version given in the extension in the
Protocol column if the session TLS version is unknown. Use the minimum
version because we don't know what the server will agree to, but it
must be at least this version.

This only affects when the Server Hello or other authoritative
messages haven't been seen, so in first-pass dissection (live
capture or one pass tshark) or a capture that doesn't contain
authoritative messages at all.

Fix #16114
2024-01-15 08:03:36 +00:00
John Thacker
91e75f3e46 NBSS: Handle short packets
If we have a packet that isn't long enough to fit an entire header,
but the first byte does look like a message type, and we can do
reassembly, ask for reassembly.

Fix #19593
2024-01-14 11:25:12 -05:00
Jaap Keuter
f5615dd9f9 IPv4/v6: fix field offset calculation for GeoIP entries 2024-01-14 15:00:11 +00:00
Gerald Combs
7da3a871a3 [Automatic update for 2024-01-14]
Update manuf, services enterprise numbers, translations, and other items.
2024-01-14 09:25:08 +00:00
John Thacker
c413d81967 rtmpt: Add a default chunksize preference
For RTMP connections where we get the handshake, continue to use
the initial value of 128 as done in the protocol; we should get
any Set Chunk Size messages.

For connections where we don't get the initial handshake, i.e.
the connection is already in progress when the capture is started,
allow setting a different default chunksize. Note that both too
large and too small values will cause problems, but the since the
initial bytes of chunks can have any value, it's very difficult
to do this heuristically.

Fix #12403 (by setting the preference to a large value, e.g. 60000,
everything is dissected correctly in that capture.)
2024-01-14 00:51:10 +00:00
Loris Degioanni
f374ddf2fb Falco bridge: Add conversation filters
Add conversation filters for container, process, process, process and
descendant, thread and FD.
2024-01-13 15:04:47 -08:00
Gerald Combs
666443ebd1 Resources: Update the Logray Syscalls profile
Update the coloring rules and add display filter buttons and a column
layout.
2024-01-13 14:48:02 -08:00
Gerald Combs
06f80366d5 Falco bridge: Update our memory stats 2024-01-13 22:11:27 +00:00
Martin Mathieson
664b858d44 SOMEIP-SD: call val_to_str_const() 2024-01-12 12:59:26 +00:00
John Thacker
2c9b66d14a RTP: Use the same extended seqno / timestamp cycle for a new setup msg
Some systems repeatedly send out SDP setup information for the same
RTP conversation. We end up setting up multiple conversations
(it's not clear we need to, since most of the information we copy
to per-packet info for subsequent passes.)

When doing so, copy the per-SSRC number space information that
determines what cycle number we're on for extended sequence numbers
and timestamps (since those fields can and do wrap.)

This doesn't hurt at all if the setup information is for different
conversations, even ones using the same SSRC; it aligns the cycle
number but that's fine. It helps a lot in cases where the RTP
sequence number has already overflowed and then we get a duplicate
SETUP message; we need to stay on the same cycle.

Fix #19592
2024-01-12 21:56:30 -05:00
John Thacker
6e12e504b9 iface_lists: Do not reset capture options when refreshing interface list
When rescanning the interface list (e.g. when manually refreshing
or a new device is added or removed), do not destroy old devices
but instead reuse it and preserve the user-set options.

Do check the monitor mode and active dlt setting against the
retrieved values to make sure that they are still supported.

In particular this means that the capture filter is not reset.

For many of the options, the value when creating a new device is
taken from the prefs, and the prefs are updated when the Capture
Options Dialog is closed (monitor mode, promiscuous mode, link layer
type, snapshot length, buffer size), or when the Manage Interfaces
Dialog is closed (hidden, user description), which mostly worked,
unless a refresh occurred when those dialogs were open and changes
had not been saved to prefs.

Fix #16418
2024-01-13 02:28:46 +00:00
John Thacker
d4bc9d4036 opcua: Parse more Server and Client Certificates
Even though these files are generated and warn not to change
them, the generator is not working currently, so patch them.
(See the disscussion in !14000)
2024-01-13 01:30:58 +00:00
Zackhardtoname
6c26a3c7dc Fix uintptr_t not found error 2024-01-12 23:42:33 +00:00
Gerald Combs
eec059c598 Falco bridge: Use ws_strtoi
Fetch an integer value using ws_strtoi. This saves about 400ms when
loading a test capture here.
2024-01-12 14:19:42 -08:00
Gerald Combs
04bd21b700 pcapng: Sysidg events don't always have timestamps 2024-01-12 12:08:51 -08:00
Gerald Combs
a0f5d63515 Release notes: Note that the Parlay dissector has been removed 2024-01-12 18:40:01 +00:00
Gerald Combs
520fb7848e GitLab CI: Install ruby-dev in the Documentation job 2024-01-12 09:55:03 -08:00
Anders Broman
490d0514d9 Parlay: Retire the dissector.
Removing the generated Parlay dissecor on the assumtion it is now
obsolete. Leaving the IDL files in the repo for a while longer.
https://en.m.wikipedia.org/wiki/Parlay_Group
https://en.m.wikipedia.org/wiki/Parlay_X
2024-01-12 16:39:53 +00:00
John Thacker
846fae3141 rtmpt: Mark depended upon frames
RTMPT doesn't use the native reassembly API, so store the frames that
are involved in reassembly of a packet and mark the depended upon
frames itself so that exporting selected packets doesn't omit them.
2024-01-12 09:33:27 -05:00
John Thacker
9152670fe5 opcua: Use fragment_add_seq_offset
This is the reassembly API call for fragments that start at a
different value. This is better than examining the entire
chain, and also would have a better chance of working with
out of order fragments (though TCP should handle that for us.)
2024-01-12 14:18:13 +00:00
Jaap Keuter
16fa05d719 Help: on macOS local pages are found in the DATA_DIR of the bundle 2024-01-12 13:35:03 +00:00
Jaap Keuter
f99cc3a69b WSUG: Document the creation of filter button groups 2024-01-12 14:21:18 +01:00
Martin Mathieson
b7ece5f111 RLC Stats: Check earlier for whether frames should be considered 2024-01-12 10:10:25 +00:00
John Thacker
caa9bfbe41 wsutil: Check GLib version for g_spawn Linux bug
The g_spawn Linux bug was fixed in GLib 2.58.2
(https://gitlab.gnome.org/GNOME/glib/-/merge_requests/490)
so if we have that version or later we don't have to use
the workaround from commit 5e304f7718
2024-01-12 09:45:58 +00:00
Timo Warns
73e5eeae50 GNSS: add dissectors for further UBX messages 2024-01-12 09:20:13 +00:00
Guy Harris
2d04c10741 tftp: fix a typo.
The mode string for a Net-ASCII transfer is "netascii", not "netscii".

Fixes #19589.
2024-01-11 23:29:42 -08:00
Gerald Combs
3c62d285ac Falco bridge: Use g_str_hash
Use g_str_hash for our string interning. This reduces the load time for
a large file here from ~13s to ~10s.
2024-01-12 02:06:19 +00:00
Gerald Combs
8f3756431f Falco bridge: Remove an unused struct member 2024-01-11 15:11:35 -08:00
Martin Mathieson
821fa78fee Fix some spelling errors 2024-01-11 19:32:32 +00:00
John Thacker
7ce05b9dd7 opcua: X.509 Certificate dissection
Dissect the X.509 v3 Certificates used in OPC UA.

Use proto_tree_add_bytes_with_length for adding NULL bytes to
the tree with a (0) length different than the length taken up
in the tvb. It's somewhat nicer than changing the item length later.
2024-01-11 10:30:30 -05:00
Gerald Combs
10a77d7b46 Parlay: Add a recursion check 2024-01-11 14:58:27 +00:00
Gerhard Gappmeier
76f6b5285d opcua: fix payload size for unencrypted chunked messages
fixes #19581
also fix one typo
2024-01-11 14:37:25 +00:00
John Thacker
4a5965fee6 Logray: Mark unused parameter key in follow
Mark unused parameter to prevent warning
Fixup f01e345749
2024-01-11 09:00:48 -05:00
John Thacker
f13740da74 Qt: Allow Manage Interfaces columns to be sortable
Due to how QSortFilterProxyModel, when sorting, creates its own
mapping from proxy columns to source coumns instead of using
mapToSource, and that mapping, while omitting columns that are
not visible, is always done in order, it is much easier if all
View of the InterfaceTreeModel omit columns but do not reorder
them. (If the order really needs to be changed,
QHeaderView::swapSections() is available.)

Reorder the InterfaceTreeColumns to put the columns used by
ManageInterfaceDialog localView in relative order. Otherwise,
when enabling sorting clicking on the "Hide/Show" column actually
sorts via the device name, and clicking on the device name does
nothing because it maps to column six (and ManageInterfaceDialog
only uses 4 columns).

Then enable sorting.

Fix #16425
2024-01-11 13:26:25 +00:00
Xiaofeng Wang
610e5f0543 Support enhanced-RTMP ExVideoTagHeader 2024-01-11 09:38:47 +00:00
65c04f2886 Fill gaps in AWDL DataPathStateTLV. 2024-01-11 09:36:02 +00:00
John Thacker
1c25228013 tshark: Fake unused proto items when -e is given
Add a new hfi reference type for when we're printing items,
that supersedes direct reference - in addition to ensuring that
we don't fake an item, it also defaults the item to visible
(doesn't mark it as hidden when the tree isn't visible), so
that the string representation isn't faked either for fields
that have non-default formats.

Use it when fields are specified with -e; instead of setting
the entire tree as visible, only mark visible the items that
we want to print. This speeds up tshark -e output with all the
-T options that support it, sometimes by 2 to 4 times.

Part of #19573
2024-01-11 09:34:11 +00:00
John Thacker
fe54aa6371 Revert "Main dialog: Wireshark stops extcap on exit if no packets received yet"
This reverts commit 3aafecb7b9.

The problem in #17781 was caused by udpdump not flushing after writing
the header, meaning that when no packets were captured, the capture
file wasn't written yet and thus the check in testCaptureFileClose
wouldn't do anything.

This was a workaround for the issue, but the underlying problem
was solved by 9ad1ec1651 which ensures
that udpdump and other extcaps flush after writing the pcap header.

The workaround had the downside of requiring the user to enter
the Quit command again (particularly confusing in the case where
closing the capture doesn't result in a dialog, as there's relatively
little notification of what happened outside the icons.)

Fix #19572
2024-01-11 09:31:29 +00:00
Dr. Lars Völker
53e180491c SOME/IP-SD: Improve handling of ANY values and unknown entries 2024-01-11 09:30:33 +00:00
Joakim Karlsson
5d2bcdd377 pfcp: Update to 3GPP TS 29.244 V18.4.0 2024-01-11 09:29:36 +00:00
Martin Mathieson
9aff6a9314 netlink: show padding between short attributes 2024-01-11 09:24:41 +00:00
Dr. Lars Völker
27857b268e ISO15765: Cleanup and fix incomplete dissector warnings
Dissector is improved as follows:
- Code cleanup
- Added comments
- Offset calculations more obvious
- Segment data is put into segment hf instead of data dissector
- Padding is calculated and shown to fix incomplete dissector warnings
2024-01-11 09:20:13 +00:00
Gerald Combs
73bf0d5b23 Falco bridge: Minor performance improvement
Use a vector instead of a map. This reduces the load time for
a large file here from ~19s to ~13s.
2024-01-10 18:11:16 -08:00
Gerald Combs
f01e345749 Logray: Add back the "Follow Stream" dialog
Manually revert cd9f7b64c7 and update it to match the changes in
537b49ee41.

Disable the packet list and detail follow menus if we don't have any
matching protocols.
2024-01-11 01:04:43 +00:00
James Ring
c3293b9520 Don't overwrite error message from dumpcap
Previously, the errno message obtained from dumpcap would be overwritten
by the call to sync_pipe_close_command, so no information about the
failure would be passed on. This is fixed by ignoring the message from
sync_pipe_close_command, as it is probably less useful than the message
we already have.
2024-01-11 00:52:16 +00:00