wireshark/ui
John Thacker 4c9584ef45 column: Update custom column regex
When splitting a possibly multifield custom column expression
into components, don't match "or" unless it's a word by itself,
i.e. is surrounded by space. "||" by itself is fine as a token.
This is necessary if we allow more complicated filters to match
than just single fields separated by "||" or "or". Also split
at space at the beginning or end of a string (since we don't
always guarantee that whitespace is stripped.)

When spliting into components, only split on "||" and " or " that
are not inside parenthesis. Splitting on operators inside parentheses
results in components which are not fields or valid filter expressions
and has never worked, e.g. splitting "(tcp.srcport or tcp.dstport)"
into "(tcp.srcport" and "tcp.dstport)".

TEST_OR has the lowest possible operator precedence (see
commit 34ad6bb478), so this works,
and also justifies using OR instead of AND for multifield custom
columns.

This means that, e.g., "tcp.srcport or tcp.dstport" will be treated
as a multifield custom column expression that returns the values
for both of the fields, whereas "(tcp.srcport or tcp.dstport)" will
be ultimately treated as a single logical test that returns true
if one of the fields exist and false if neither do. Until tests
and other non single-field expressions are supported, the latter
won't work, but it never has worked.

Related to #7752, #10154, #15990, #18588, and #16181.
2024-02-12 14:48:31 +00:00
..
cli NR Taps: more fixes 2023-12-18 09:24:57 +00:00
logray Falco bridge: Add container I/O stats 2024-02-09 13:59:46 -08:00
macosx macos: Remove no longer needed function 2022-07-25 17:00:55 +00:00
qt column: Update custom column regex 2024-02-12 14:48:31 +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 ftypes: Rename IS_FT_* macros 2023-06-20 00:22:57 +01: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