Commit Graph

84794 Commits

Author SHA1 Message Date
John Thacker 42567a59bc Qt: Support setting columns as un/resolved via Edit Preferences
Make it so that "Edit->Preferences->Columns" can also set the
resolved/unresolved status of custom columns. Hide the checkbox
when the fields don't support it (including any non custom
columns.) Also make the checkbox entries in the column list model
not editable.

Fix #15394
2022-07-01 11:22:59 +00:00
Roland Knall 2cebafc613 Qt: Filter TrafficListTypes
Add a textbox to allow for filtering the traffic types
in the conversation and endpoint dialog. The current implementation
allows for an easier growth of the list entries. To ensure that
the user can find the entry he/she/they is looking for fast, add
a textbox for filtering
2022-07-01 11:30:57 +02:00
Roland Knall 54aed0aa10 Qt: Cleanup TrafficTypesList
Consolidate two methods which practically do the same thing, as well
as remove some residues from earlier implementations
2022-07-01 08:02:47 +00:00
Guy Harris 0257b41167 iec104: dissect the control field as a 4-octet little-endian field.
Treat all 4 octets of the control field as a single little-endian value
divided into bitfields.  We already showed *some* subfields as
bitfields; this means we show *all* of them that way.

That makes the display more clearly show which bits in those octets
correspond to which fields.

It also fixes the dissection of the type field; we have separate
bitfields for I frames (1-bit bitfield) and S and U frames (2-bit
bitfield).

Use proto_tree_add_item_ret_uint() to fetch the values other than the
frame type value.

Fixes #18167.
2022-06-30 23:35:52 -07:00
John Thacker a40e5f715a Qt: Check custom column syntax in Preferences properly
Not all display filters are valid for custom columns (see #15990).
Use the validation function for custom columns instead of the
display filter validation when adding or editing a custom column
through Edit->Preferences, as the Edit Column in the packet list
header already does.

Revisit this if we ever do expand the list of possible custom
columns.
2022-06-30 20:31:19 -04:00
Roland Knall 4149d52f4e Qt: column edit default checkbox 2022-06-30 21:15:21 +02:00
Odysseus Yang b250224c45 MBIM: dissect SAR commands
MBIM_CID_MS_SAR_CONFIG
MBIM_CID_MS_TRANSMISSION_STATUS
2022-06-30 17:21:15 +00:00
Gerald Combs 493e65a0d8 Tools: Remove fixhf.pl.
Remove fixhf.pl. It doesn't appear to have been used since 2010, and
it's in our commit history if we ever need to restore it.
Ping #18152.
2022-06-30 15:48:41 +00:00
Roland Knall b165f31cd3 gtp: Fix copy-paste error 2022-06-30 16:38:05 +02:00
John Thacker 09800da792 Qt: Add resolved button to Edit Columns
Add the ability to set custom columns as resolved/unresolved via
the Edit Column frame, if the column fields support it.

Related to #15394.
2022-06-30 08:28:54 -04:00
John Thacker 774a7f0eee dcp-etsi: Strengthen heuristic, add for Decode As
Strengthen the DCP-ETSI (TS 102 821) heuristic from matching
two bytes to matching four bytes. Split the heuristic and
non-heuristic dissector pieces, and add the non-heuristic
dissector for Decode As.
2022-06-30 07:29:46 -04:00
Dr. Lars Völker 4a26993ec0 SOME/IP: code cleanup to reduce memory leaks 2022-06-30 04:34:22 +00:00
Moshe Kaplan 96c4c9063f packet-gtp.c: Fix copy-paste error (Coverity 1506627)
Use guaranteed uplink bitrate,
instead of max uplink bitrate, when
calculating guaranteed uplink bitrate.
Fixes Coverity 1506627 and #18164.
2022-06-30 03:03:24 +00:00
John Thacker 37d3c7add2 STUN: Check the Fingerprint (CRC32) 2022-06-29 21:57:10 -04:00
John Thacker 7f5089ba40 knxip: Add a port range preference
KNX/IP has an IANA registered port, 3671, and some other ports commonly
used but unregistered (or registered to other services). It also has
no heuristics. Add a port range preference defaulting to the registered
port.
2022-06-29 21:41:25 -04:00
John Thacker 6c16cd7cbb tplink-smarthome: Add a brief heuristic
tplink-smarthome uses a port registered by IANA to another application.
At least add a heuristic; since the message is always JSON, we
can decode and test the first two characters.
2022-06-29 19:29:22 -04:00
Moshe Kaplan 1b586a66df register.c: Avoid potential race condition (Coverity 1477510)
Wrap writing to cur_cb_name in a mutex, to avoid
potential race conditions.
Fixes Coverity 1477510.
2022-06-29 11:21:25 -04:00
Roland Knall ac4b9e174d Qt: Cleanup PacketListHeader
Remove unnecessary for-loop and subroutine
2022-06-29 15:46:19 +02:00
Roland Knall 413b383224 Qt: Reduce PacketListHeader complexity
Propagating the capture_file was required for a single
function as was the cast for the model. Both are not
needed, as the functionality can be either moved to
PacketListModel or was already included in PacketList
2022-06-29 14:47:05 +02:00
Roland Knall 5fb2324692 Qt: Improve sort for packet list 2022-06-29 12:42:22 +02:00
Roland Knall 505226d1e2 Ui: Centralize PacketList helper prototypes
To implement loading a packet list, a lot of helper
methods are required. Those prototypes where split up
over two places and have been moved to packet_list_utils.h
to ensure a single place for lookup
2022-06-29 09:31:09 +00:00
Roland Knall 94c439f603 Ui: Use only one method for exit
Replace the redundant main_window_quit with the
more specialized exit_application and return 0
as a state
2022-06-29 09:00:33 +00:00
Roland Knall 799a033080 ReleaseNotes: Correct some spellings and wordings
Fixes #18161

[skip ci]
2022-06-29 10:19:20 +02:00
Tomasz Moń 88c8bb19e5
USBLL: Dissect speed specific linktypes
USB 2.0/1.1/1.0 devices (or 3.x and newer when connected to hosts that
are not Super-Speed capable) operate at one of three speeds:
  * Low-Speed (1.5 Mbps)
  * Full-Speed (12 Mbps)
  * High-Speed (480 Mbps)

Supporting speed specific linktypes allows speed specific dissection
without the need for user to manually set the speed.
2022-06-29 05:56:03 +02:00
John Thacker d41127602a STUN: Set conversation dissector after any STUN packet
After implementing RFC 7983, the STUN dissector will reject
DTLS and [S]RTP packets even in non-heuristic mode. Since
the dissector is more discriminating, it is safe to set
the conversation dissector after receiving any valid STUN
packet, not just specifically a TURN packet.

This makes dissection work better on some captures that have
some TURN ChannelData messages along with STUN packets in
the other direction, but lack the packets that set up the
TURN Channel. In turn, that allows the Decode As setting to
be configured for RTP, which has a weaker heuristic dissector
than STUN. Fix #18148.
2022-06-28 21:51:29 -04:00
Moshe Kaplan cdb83a370f tools: Port make-sminmpec.pl to make-sminmpec.py
Port make-sminmpec.pl to Python.
Now uses an explicit destination path,
instead of a hardcoded path relative to
the script's location on disk.
Ping #18152
2022-06-28 21:59:53 +00:00
Alexis La Goutte a2272362ce conversation_dialog.h: Fix -Wdocumentation
conversation_dialog.h:24:15: warning: parameter 'cli_proto_id' not found in the function declaration [-Wdocumentation]
conversation_dialog.h:25:15: warning: parameter 'filter' not found in the function declaration [-Wdocumentation]
2022-06-28 21:37:32 +00:00
Roland Knall cfbb6973d4 file: Fix documentation 2022-06-28 20:53:24 +00:00
Roland Knall 1d6b547029 Qt: Fix FileClose not available and segfault
Fixes #18160
2022-06-28 20:24:27 +00:00
Moshe Kaplan 1fdbc65394 tools: Port colorfilters2js.pl to colorfilters2js.py
Port colorfilters2js.pl to Python.
Slight differences in output code formatting,
but is otherwise consistent.
Ping #18152
2022-06-28 19:05:29 +00:00
Dr. Lars Völker 487165dd50 DoIP: Support UAT for User defined payload types
This patch allows user defined payload types to have names.
2022-06-28 18:38:53 +00:00
Martin Mathieson 33031c8955 Make some variables in packet-grebonding.c static. 2022-06-28 16:51:35 +01:00
Roland Knall c3b2cec3f2 Ui: Cleanup row number and select packet
Remove unneeded row number in capture file. The packet list is
the only object that should know the correct number, propagating
it further only complicates things. At the same time, rework
cf_select_packet to select the packet based on frame_data not on
the row (which can be unreliable).
2022-06-28 14:56:06 +02:00
Roland Knall f210edeaf0 Ui: Further simplify ws_ui_util
Remove duplicate functionality for jumping to packet and
remove unused function to move to the end. Furthermore
move the code for redraws of visible packets directly
into the calling code
2022-06-28 14:39:27 +02:00
Roland Knall ef8ed9dff9 Ui: Remove time column reformat callback
The code can be placed directly to packet list model
and does not need to be a generic callback
2022-06-28 14:23:05 +02:00
Roland Knall 1d42fcdd76 Ui: Remove call to recoloring
No callback needed, we can call the model directly
2022-06-28 14:06:49 +02:00
Roland Knall 865141e61b Ui: Remove unused prototype declaration
The functions are nowhere implemented
2022-06-28 11:34:22 +02:00
Roland Knall b6226cb136 Qt: Better handle sort restriction
Setting sorting enabled/disabled resorts the list. If this happens
too often, sometimes it can lead to the physical view models
not present anymore and therefore crashing.

Ping #18159
2022-06-28 10:12:24 +02:00
John Thacker 4ed4678859 Qt: Make the Resolve Names buttons checkable again
The checkable property got lost at some point, rendering it impossible
to make columns resolved.
2022-06-27 20:26:08 -04:00
Gerald Combs 7c96053f3b Version: 3.7.1 → 3.7.2
[skip ci]
2022-06-27 12:10:57 -07:00
Gerald Combs 5ee0b97c96 Build: 3.7.1
[skip ci]
2022-06-27 10:05:04 -07:00
Gerald Combs eaae2d0ee7 Minor Python3 script fixups.
Make some scripts executable and use the shebang line recommended at
https://docs.python.org/3/using/unix.html#miscellaneous
2022-06-27 16:46:55 +00:00
Gerald Combs 4153af1dc7 wslua: Port make-init-lua to Python3
Port the script that creates init.lua to Python3. The generated init.lua
removes one newline and adds another, otherwise the output is identical
to the Perl version.
Ping #18152.
2022-06-27 16:28:36 +00:00
Gerald Combs ae3010cabe wslua: Port make-taps to Python3
Port the script that creates taps_wslua.c and taps.txt to Python3. The
generated taps_wslua.c has one less newline, otherwise the output is
identical to the Perl version. Make the "taps" configuration file an
ConfigParser / .ini file.
Ping #18152.
2022-06-27 16:11:34 +00:00
Gerald Combs dac75fba7f CMake: Bump the minimum Python version to 3.6.
Make Python 3.6 the minimum required version. Version 3.6 added support
for f-strings.
2022-06-27 15:54:40 +00:00
Roland Knall 8bdff72625 dfilter: Fix undefined dereference and add null check
A value of ref could be accessed undefined and add additional
checks to ensure, that refs_array actually contains data or return
null immediately
2022-06-27 14:57:01 +00:00
Roland Knall 7f951eda3e Qt: Increase animation speed for progress frame
The progress frame animation is so slow, that it might not show
up on certain setups. Reduce the initial speed and duration for
the animation, which also speeds up calculations as well as dissection
as less animation has to be rendered/calculated
2022-06-27 14:03:34 +00:00
Dr. Lars Völker d562cc3033 PTP: Improved robustness on wrong 2-step flag and 1-step
This code adds more robust handling of smaller issues with PTP messages,
like a missing 2-step flag of a not quite correct implementation of
802.1AS and improves 1-step support.

Changes:
- Handle 1-step syncs in analysis.
- Handle missing 2-step flag on pDelay more robust and warn in analysis.
- Handle missing F'up TLV in 802.1AS Sync more robust and warn.
2022-06-27 13:23:27 +00:00
John Thacker 26b0a0a8d3 stun: Tighten heuristic by rejecting restricted values
Reject the previous reserved and unassigned TURN channels and
STUN methods restricted by RFC 5764 and RFC 7983 to allow
multiplexing of STUN with DTLS-SRTP (and ZRTP) on the same
addresses and ports. (As an exception, allow the special MS
Multiplex TURN channel value.) Earlier versions of the specs
had these as unassigned (or did not support TURN Channels), and
no implementation has used them.

This prevents the STUN dissector from claiming RTP packets
going to the same port as set for STUN by Decode As, and should
allow us to set the STUN dissector as the dissector for a conversation
on UDP if we see any STUN message, not just a TURN message type.
2022-06-27 08:56:44 -04:00
Jo-Philipp Wich 1433104479 IEEE1905: fix IPv6 type TLV parsing
- Declare a separate type for the IPv6 TLV MAC address, otherwise its
   filter key is `ieee1905.ipv4_type.mac_addres` instead of the expected
   `ieee1905.ipv6_type.mac_addres` one which is confusing

 - Fix label for `hf_ieee1905_ipv6_type_count` to read "IPv6 address count"
   instead of the wrong "IPv4 address count"

 - Parse the IPv6 link local address which appears between the EUI-48 and
   the IPv6 address count in IPv6 type TLVs, without that, valid IPv6 TLVs
   are wrongly parsed and reported as malformed

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-06-27 11:47:57 +00:00