Commit Graph

89875 Commits

Author SHA1 Message Date
João Valverde b52d9173f8 Remove version component from plugin path
Remove the major.minor version from the plugin path, i.e:
    lib/plugins/X.Y/{epan,wiretap,codecs}
and use an unversioned path:
    lib/plugins/{epan,wiretap,codecs}

Introduce a new naming policy for plugins that requires
name.so.ABI_VERSION.

This is a simplified filesystem layoutfor plugins some
important benefits such as:

 * improves compatibility between Wireshark versions, because
a plugin that wasn't recompiled will be automatically picked
up, but only if it has a compatible ABI version in the file name.
 * does not clash with Apple guidelines
 * simpler for users to understand and apply
 * just overall simpler and easier to maintain, removes a lot
of complexity from CMake code

It does impose more requirements on the plugin naming scheme
but this should be handled completely transparently
by the build system.

It would also be possible to add support for unversioned *.so file
extensions at the same time, although in ths case it is not possible
to support multiple Wireshark ABI versions with only *.so, of course.
This wasn't done here but it may or may not be a useful enhancement
in the future.

Follow-up to 90b16b4092.
2023-12-14 14:28:30 +00:00
João Valverde b51a3933ba CMake: Refactor plugin add_library() macros
Replace the macro subfolder argument with type specific plugin
macros.
2023-12-14 14:18:55 +00:00
John Thacker 70383151ae doc: Mention partial checksums in Checksum Section
[skip ci]
2023-12-14 08:52:06 +00:00
Giovanni Musto 7b4d667f30 BLF: Fix BLF_OBJTYPE_CAN_FD_ERROR_64 not decoded as error 2023-12-14 08:46:34 +00:00
Christian Krump 9c2959b483 EPLv2: textual decoding of ASnd error code
Additional decoding (textual) of possible error code within ASnd frame.
2023-12-14 08:33:12 +01:00
Alexis La Goutte b983decbcb opcua_application_layer: fix Dead Store found by Clang Analyzer 2023-12-14 07:17:23 +00:00
Alexis La Goutte 6081bf1535 merge(wiretap): fix Dead Store found by Clang Analyzer 2023-12-14 07:17:23 +00:00
Alexis La Goutte 00be42a1f2 tls-utils(ECH): fix Dead Store found by Clang Analyzer 2023-12-14 07:17:23 +00:00
John Thacker cd8893db10 capture: Serialize the machine readable interface list
Use JSON to serialize the machine readable interface list.
This removes any problems with embedded tabs in names and
descriptions, and makes it easier to later get the interface list
and the capabilities in one call (and possibly even a single call
that retrieves both and starts statistics.)

Related to #15082
2023-12-14 00:03:21 +00:00
Gerald Combs e3837d403e Falco bridge: Minor code cleanup 2023-12-13 13:17:53 -08:00
Gerald Combs baf8ec83ef Logray: Add a Syscalls coloring rule 2023-12-13 13:17:28 -08:00
Gerald Combs 5353057795 GitLab CI: Switch to clang 17 2023-12-13 09:15:28 -08:00
Joakim Karlsson e9d4f4f846 GTPv2: Dissect IE Group ID 2023-12-13 16:02:36 +01:00
João Valverde 8ba4fb537d Improve pkg-config description 2023-12-13 13:09:46 +00:00
Joakim Karlsson 4a9214b12d GTPv2: Dissect IE PGW Set FQDN Extendable 2023-12-13 09:10:22 +01:00
John Thacker 897c94bd04 Qt: Don't connect in the .ui file only to disconnect in constructor
Don't connect the QDialogButtonBox accepted() signal to the
dialog's accept() slot in the Qt Creator .ui XML only to
disconnect that connection in the constructor.

Apparently in Qt6 these things are parsed in somewhat different
order, so the disconnection wasn't happening, leading to
destroying the dialog while the FileDialog was still open.

There's a case for moving the Save As actions to ActionRole buttons
(though then the little save icon would have to be set manually.)

Fix #19529
2023-12-13 05:18:17 +00:00
Gerald Combs 107550c9c0 Move wireshark.pc.in and make our .pc file paths relative
Move the libwireshark pkgconfig file to the resource directory.

Set the various paths in our .pc files based on the `pcfiledir` variable
instead of using absolute paths. This should make it possible to install
using a DESTDIR that differs from CMAKE_INSTALL_PREFIX.
2023-12-12 19:28:29 -08:00
Jaap Keuter c0bfd405b5 Resolve GCC clobbered variable warnings
Building with GCC 13.2.0 exposes even more clobbered variable warnings.
Mark these volatile to circumvent those.
2023-12-13 01:22:58 +00:00
Gerald Combs 1fc41b77b2 Logray: Fix the Syscall profile 2023-12-12 17:11:52 -08:00
Gerald Combs ac524cff38 Windows: Upgrade GnuTLS to 3.8.2 2023-12-12 14:58:18 -08:00
Maxim Sharabayko 0d52ed247e srt: Parse Key Material message. 2023-12-12 19:53:17 +00:00
Gerald Combs 934fe03fca Falco bridge: Add protocols for each filter check type
The libsinsp filtercheck categories aren't likely to change much over
time, so create a static list of them. Make them protocols as well, and
remove the "falco." field prefix where we can.

Initialize our hfids to 0.
2023-12-12 17:38:06 +00:00
João Valverde 8486ba26c6 epan: Add plugin get_descriptions callback
Allow epan plugins to push descriptions for each individual
plugin or extension managed by the epan plugin interface.

For example a Lua or Python epan plugin can push
descriptions for each *.lua or *.py script it registers.
2023-12-12 14:43:37 +00:00
João Valverde 5bcfa5b261 epan: Remove register_all_tap_listeners plugin callback
This is currently unused by anyone so remove it until the tap
listener interface can be properly tested.
2023-12-12 14:36:31 +00:00
João Valverde 0ed89bb91b Qt: Remove HAVE_PLUGINS #ifdef 2023-12-12 14:36:31 +00:00
João Valverde fd21a7717f epan: Remove HAVE_PLUGINS #ifdef 2023-12-12 14:36:19 +00:00
Martin Mathieson 4e7b79edce MAC and RLC statistics: fix filter expressions to work with NR 2023-12-12 13:28:32 +00:00
Chris Brandson 4158fd0115 Zigbee improved Smart Energy time format and display
Similar to other changes to the dissection and display of UTC Time, changed
Smart Energy time fields to display both UTC text time and UTC Time as a
number with the number as the field value for t-shark. As UTC Time is used
elsewhere, broke that functionality out into the main ZCL file, but Smart
Energy applies a special meaning where the value 0 means 'now' independant
of the actual time, this is restricted to Smart Energy uses of UTC Time.

Thanks to Cole Wu <colewu9712@gmail.com> for the original implementation and
support.
2023-12-11 21:28:32 +00:00
Martin Mathieson 6b7664bfd3 Fix some broken dissector URLs 2023-12-11 21:16:21 +00:00
Gerald Combs 04165f8536 Monero: Use col_add_str
Our info column string might be dynamically allocated, so use
col_add_str.

Fixes #19526
2023-12-11 20:08:27 +00:00
Gerald Combs b16190ab6d Falco bridge: Set our event number
Set our event number in extract_syscall_source_fields so that we receive
the correct information if it's been cached.
2023-12-11 10:04:19 -08:00
Martin Mathieson 807413ea33 ORAN FH CUS: Update some value_strings for v13.0 2023-12-11 17:12:47 +00:00
João Valverde e2dff8eb27 Qt: Remove another plugin #ifdef 2023-12-11 16:01:30 +00:00
John Thacker edc7ebfcdb Qt: Don't fill in interfaces if we're just doing a caps query
Move the call to fill_in_local_interfaces to after checking for
an interface capabilities query.

We don't need to retrieve all the local interfaces if we're doing
a capabilities query and then exiting. The interfaces to query
are either specified on the command line, specified in preferences,
or picked as a default (interface "1"), none of which requires
filling in all the local interfaces and querying their capabilities
an additional time.

Part of #15082
2023-12-11 09:41:43 -05:00
John Thacker cc7f348b38 capture: Free capabilities automatically when the hash is destroyed
Use g_hash_table_new_full so that each capability in the hash table
is automatically freed instead of callers have to do so manually.
2023-12-11 09:15:34 -05:00
Martin Mathieson a57069a7ca CIP & PLDM: make some functions static 2023-12-11 13:56:26 +00:00
Martin Mathieson 2936f5c026 E2AP: add support for CCC RAN Function 2023-12-11 12:30:26 +00:00
Martin Mathieson 79d26352f2 GSM-MAP: use common tfs.c true_false_string 2023-12-11 12:29:23 +00:00
Martin Mathieson 66c4987948 RLC Graph: some improvements 2023-12-11 12:15:35 +00:00
Joakim Karlsson 3d5ac61f29 GTPv2: Dissect IE PGW Change Info Extendable 2023-12-11 08:30:02 +01:00
John Thacker 719ca70130 HTTP3: Use BASE_SHOW_ASCII_PRINTABLE for QPACK
The non-Huffman encoded QPACK bytes are added to the tree as
FT_BYTES, and they are expected to be probably printable
ASCII but treated as opaque data if not. That's
BASE_SHOW_ASCII_PRINTABLE, which makes the values a little more
useful in the tree.
2023-12-10 22:32:53 -05:00
John Thacker 88e5ae3d14 HTTP3: Use the Wireshark logging system
Move some of the less useful messages to ws_noisy, the rest to
ws_debug. (A few of the errors could be ws_info, which isn't
displayed by default either.)

Part of #19519
2023-12-10 23:43:10 +00:00
João Valverde 360cb3f40a plugins: Lower a log level
Avoid filling the fuzz test console with this message.
2023-12-10 22:51:27 +00:00
João Valverde 22c27f2dae Qt: Remove an #ifdef for Windows
Instead of pre-failing, allow the delete to fail.
2023-12-10 22:50:53 +00:00
João Valverde e3d23bfad4 Improve paragraph about the GPLv2 in the README
[skip ci]
2023-12-10 21:56:54 +00:00
John Thacker ae170d9b22 Logray: Only retrieve the extcap interfaces
Logray filters the interface list down the extcap interfaces,
so don't bother spawning dumpcap to retrieve the other interface
types. It's time consuming, and on Windows with NPcap installed
with administrator privileges, means unnecessary UAC prompts.
2023-12-10 14:31:25 -05:00
Gerald Combs ccb8a79bc2 [Automatic update for 2023-12-10]
Update manuf, services enterprise numbers, translations, and other items.
2023-12-10 16:24:43 +00:00
John Thacker 0c9cceebe3 Qt: Cache the capture interface list in Wireshark and Logray
Since global_capture_opts is always already init'ed in
scan_local_interfaces_filtered, call the get_iface_list
callback instead of the generic capture_interface_list there.

Cached the interface list returned from capture_interface_list
and store it in the MainApplication. On subsequent calls
to the capture opts get_iface_list callback, return the cached
list if it exists.

When Refresh Local Interfaces is called (either manually by the
user, or by a notification from iface_monitor), clear the cached
interface list and set it to NULL so that a new capture_interface_list
call will happen.

This prevents multiple privileged dumpcap calls when parsing
multiple interface options, or when retrieving the entire interface
list after having already done so to parse an interface command
line option.

Related to #15082
2023-12-10 13:01:02 +00:00
John Thacker 2e5f5ab645 HTTP3, QUIC: Desegment HTTP3 QPACK Encoder Streams
Return the number of bytes decoded and placed in the tree and
set pinfo->desegment_offset and desegment_len so that the QUIC
disssector can desegment the HTTP3 Encoder stream.

Pass that number of bytes to the nghttp3 decoder so that we don't
end up passing the same bytes twice with reassembly.

Make it so the QUIC data stream desegmenting code puts a link
to the frame data was reassembled in for segments that begin
an MSP as well in more cases, as the TCP dissector does.
(There are a few more cases TODO to produce results similar to
TCP.)

Fix #19475
2023-12-10 07:36:41 -05:00
Guy Harris 17d479f876 nflog: time stamps are in seconds/microseconds, not seconds/nanoseconds.
See

1. https://www.tcpdump.org/linktypes/LINKTYPE_NFLOG.html

2. The `nla_put(inst->skb, NFULA_TIMESTAMP, sizeof(ts), &ts))`
   call in net/netfilter/nfnetlink_log.c in the Linux kernel source.

Add support for 16-byte and 12-byte seconds/microseconds time stamp, to
match what we already have for seconds/nanoseconds time stamps, in
`proto_tree_add_item()` etc., and use that.

Fixes #19525.
2023-12-09 12:15:50 -08:00