wireshark/ui
John Thacker 49540ec646 columns: Allow any field expression syntax to be used in columns
Allow anything that can be used in a display filter to be used in
columns (with the exception that field references don't work without
a notion of a currently selected frame): display filter functions,
slices, arithmetic calculations, logical tests, raw byte addressing,
the layer modifier, display filter macros, etc., alone or in
combination.

Show the results and generate filters. Note that "resolved" values are
not yet supported. They make conceptual sense for some expressions
(e.g., if the layer modifier only is used) but not for others.
Perhaps resolution could be done as a final step in the filter before
returning values.

It would also be useful to be able to get the expected return type
of an expression, so that the functions for right justifying a column
or sorting numerically could work. Right now the results are treated
as strings even if the return field values are numeric.

Multifield columns (i.e., concatenation of field values) are currently
implemented using the OR operator.For backwards compability, continue to
support that. When a true logical OR would give a different result,
surround the expression in parentheses, which the multifield columns did
not previously support (due to the regex used instead of full filter
grammar parsing.)

Perhaps in the future we should introduce a separate operator for
concatenation, possibly only used in column definitions and nowhere
else.

Update release notes.

Fix #7752. Fix #10154. Fix #15990. Fix #18588. Fix #19076.
Related to #16181 - it's now possibly to define new display filter
functions so that is essentially solved, though I suppose there's
always room for more built-in functions.
2024-02-14 08:11:01 +00:00
..
cli Stats tree: Change our path separator 2024-02-14 08:05:24 +00:00
logray Stats tree: Change our path separator 2024-02-14 08:05:24 +00:00
macosx macos: Remove no longer needed function 2022-07-25 17:00:55 +00:00
qt columns: Allow any field expression syntax to be used in columns 2024-02-14 08:11:01 +00:00
win32 Work around macOS running applications in /. 2023-11-12 06:53:36 +00:00
CMakeLists.txt Move ui/filter_files.[ch] to wsutil 2023-02-10 20:59:22 +00:00
alert_box.c
alert_box.h
all_files_wildcard.h
capture.c capture: Remove the logging parts before each line 2024-01-21 12:50:40 +00:00
capture.h Qt: [Re]start the stats when filling the interface list 2023-12-22 10:50:49 +00:00
capture_globals.h
capture_info.h
capture_ui_utils.c ui: Make sure to use user-specified interface descriptions 2023-11-25 07:56:53 -05:00
capture_ui_utils.h ui: Have get_interface_descriptive_name take the capture_options 2023-11-24 10:47:20 -05:00
commandline.c Fix -o capture.auto_scroll: setting 2024-01-19 10:00:13 +00:00
commandline.h Fix overriding capture option prefs at the command line 2023-11-17 00:04:46 +00:00
decode_as_utils.c Don't include errno.h if we don't use errno or errno value definitions. 2023-06-26 16:07:23 -07:00
decode_as_utils.h
dissect_opts.c Handle all valid time stamp resolutions with the -t flag. 2023-09-13 01:47:22 -07:00
dissect_opts.h tshark: Support --read-file and filter long opts 2023-10-14 14:02:04 +00:00
export_pdu_ui_utils.c Add a preference for ignoring duplicate frames 2023-06-09 07:21:08 +00:00
export_pdu_ui_utils.h Specify directory for temporary captures 2022-02-09 14:32:28 +00:00
failure_message.c Move ui/cmdarg_err.[ch] to wsutil 2023-02-10 20:59:22 +00:00
failure_message.h
file_dialog.c
file_dialog.h
firewall_rules.c
firewall_rules.h
help_url.c dfilter: Replace macro UAT config file and update GUI 2023-11-08 11:45:54 +00:00
help_url.h dfilter: Replace macro UAT config file and update GUI 2023-11-08 11:45:54 +00:00
iface_lists.c Remove duplicative members from interface_t 2024-01-15 09:23:34 +00:00
iface_lists.h Allow to filter interface types 2022-04-19 09:19:50 +00:00
iface_toolbar.c
iface_toolbar.h
io_graph_item.c
io_graph_item.h ftypes: Hide fvalue implementation 2023-04-19 15:12:25 +00:00
language.c
language.h
last_open_dir.h Work around macOS running applications in /. 2023-11-12 06:53:36 +00:00
main_statusbar.h
mcast_stream.c sharkd: Add Multicast streams output 2023-06-10 21:45:21 +00:00
mcast_stream.h sharkd: Add Multicast streams output 2023-06-10 21:45:21 +00:00
packet_list_utils.c columns: Allow any field expression syntax to be used in columns 2024-02-14 08:11:01 +00:00
packet_list_utils.h Find Packet: Find packet details multiple matches in a frame 2023-10-01 08:56:32 +00:00
packet_range.c packet_range: Handle depended upon correctly for all cases 2023-07-18 21:56:14 +00:00
packet_range.h packet_range: Handle depended upon correctly for all cases 2023-07-18 21:56:14 +00:00
persfilepath_opt.c
persfilepath_opt.h
preference_utils.c column: Update custom column regex 2024-02-12 14:48:31 +00:00
preference_utils.h Qt: Add resolved button to Edit Columns 2022-06-30 08:28:54 -04:00
profile.c ui: Fix leak 2023-04-25 18:33:44 +00:00
profile.h
progress_dlg.h
proto_hier_stats.c Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
proto_hier_stats.h hierarchy stats: Only increment the total packet count once per frame 2022-04-12 13:38:33 +00:00
recent.c recent: Don't use format info at all 2024-02-10 17:10:39 +00:00
recent.h recent: Don't use format info at all 2024-02-10 17:10:39 +00:00
recent_utils.h Qt: Fix Recent Files Max Count at startup 2023-11-15 08:57:36 +00:00
rtp_media.c plugins: Add a codecs API level 2023-12-14 16:18:35 +00:00
rtp_media.h codecs: Pass in fmtp, decode bandwidth efficient AMR 2023-07-14 17:58:19 -04:00
rtp_stream.c Include errno.h in a few files 2023-06-28 18:41:42 -04:00
rtp_stream.h
rtp_stream_id.c RTP: Improve selection of streams for RTP Analysis/Player 2023-07-03 01:57:04 +00:00
rtp_stream_id.h RTP: Improve selection of streams for RTP Analysis/Player 2023-07-03 01:57:04 +00:00
service_response_time.c
service_response_time.h
simple_dialog.h
software_update.c Undo some more double colons 2024-01-20 15:11:08 +00:00
software_update.h
ssl_key_export.c Inject secrets through the GUI 2023-06-15 04:16:29 +00:00
ssl_key_export.h Inject secrets through the GUI 2023-06-15 04:16:29 +00:00
summary.c Finish removing RIPEMD160 support 2023-05-09 16:11:03 +00:00
summary.h Finish removing RIPEMD160 support 2023-05-09 16:11:03 +00:00
tap-credentials.h
tap-iax2-analysis.c
tap-iax2-analysis.h
tap-rlc-graph.c NR Taps: more fixes 2023-12-18 09:24:57 +00:00
tap-rlc-graph.h NR Taps: more fixes 2023-12-18 09:24:57 +00:00
tap-rtp-analysis.c RTP Analysis: Use extended timestamp in statinfo 2024-01-31 03:22:35 +00:00
tap-rtp-analysis.h RTP Analysis: Use extended timestamp in statinfo 2024-01-31 03:22:35 +00:00
tap-rtp-common.c ST2110-20: add dissector for SMPTE ST2110-20 2023-09-11 11:55:13 +00:00
tap-rtp-common.h Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
tap-sctp-analysis.c sctp tap: Fix copying checksum string 2023-10-08 14:53:12 +00:00
tap-sctp-analysis.h gboolean bitfields considered harmful 2022-07-30 08:49:08 -04:00
tap-tcp-stream.c dfilter: Make error a pointer 2023-04-20 14:12:39 +00:00
tap-tcp-stream.h
tap_export_pdu.c tshark: -U must be one of the export PDU taps 2023-11-15 08:50:10 +00:00
tap_export_pdu.h
taps.h const-ify proto/handoff/tap registration data. 2024-02-02 12:23:15 +10:00
text_import.c Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
text_import.h
text_import_regex.c Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
text_import_regex.h Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
text_import_scanner.h
text_import_scanner.l Add macros to control lemon diagnostics 2022-11-20 10:11:27 +00:00
time_shift.c Ui: Centralize PacketList helper prototypes 2022-06-29 09:31:09 +00:00
time_shift.h
urls.h
util.c Make the code that handles the file open dialog style common code. 2023-11-13 21:30:47 +00:00
util.h Work around macOS running applications in /. 2023-11-12 06:53:36 +00:00
voip_calls.c Fix misppellings in root and ui directories 2023-09-26 00:26:25 -04:00
voip_calls.h Qt: Fix leaks VOIP Calls Dialog 2023-05-12 20:07:58 +00:00
ws_ui_util.h Qt: Use Qt [save|restore]Geometry for GeometryStateDialog 2023-11-26 16:49:45 -05:00