wireshark/ui
João Valverde 6d06d4e46b Add some UTF-8 debug checks with a compile time flag
Some older dissectors that predate Unicode and parse text protocols
are prone to generate invalid UTF-8 strings. This is a bug and can have
safety implications.

For example passing invalid UTF-8 to proto_tree_add_string() is a
common bug. There are safeguards in format_text() but this should
not be relied on as a general solution to the problem.

For one, as the name implies, it is only used with representation of a
field value, which is not the same as the value itself of an FT_STRING field.
Issue #18317 shows another reason why.

For now this compile flag only enables extra checks for string ftypes,
which covers a subset of proto.h APIs including
proto_tree_append_string(). Later is should be extended to other
interfaces.

This is also not expected to be disabled for release builds because
there are still many dissectors that do not correctly handle strings.
More work is needed to 1) identify them and 2) fix them.

Ping #18317
2022-09-27 17:04:44 +00:00
..
cli Rename a bunch of things with "conversation". 2022-08-25 20:02:20 -07:00
logray Qt: Manually connect our "Capture" menu actions. 2022-09-25 14:25:21 -07:00
macosx macos: Remove no longer needed function 2022-07-25 17:00:55 +00:00
qt RTP dialogs: Fix: Coloring of QTreeWidgetItem do not work 2022-09-27 09:48:40 +00:00
win32 Qt: Allow omitting secondary data sources when printing 2022-02-10 23:28:53 -05:00
CMakeLists.txt Qt: Cleanup Traffic Table 2022-05-18 19:50:14 +00:00
alert_box.c Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
alert_box.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
all_files_wildcard.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
capture.c Qt+extcap: Make our capture error dialog less noisy. 2022-09-08 10:20:48 -07:00
capture.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
capture_globals.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
capture_info.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
capture_ui_utils.c Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
capture_ui_utils.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
clopts_common.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
clopts_common.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
cmdarg_err.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
cmdarg_err.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
commandline.c cli: Copy global configuration profile to personal as with the GUI 2022-07-07 12:14:41 +00:00
commandline.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
console.c wslog: Use a wider type for line 2022-01-05 13:31:52 +00:00
console.h wslog: Use a wider type for line 2022-01-05 13:31:52 +00:00
decode_as_utils.c Move version_info.[ch] to ui/ 2021-07-04 10:37:49 +00:00
decode_as_utils.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
dissect_opts.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
dissect_opts.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
exit_codes.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
export_pdu_ui_utils.c Specify directory for temporary captures 2022-02-09 14:32:28 +00:00
export_pdu_ui_utils.h Specify directory for temporary captures 2022-02-09 14:32:28 +00:00
failure_message.c Corrects repeated words throughout the code. 2021-12-22 11:01:11 +00:00
failure_message.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
file_dialog.c [#17478] free blocks in more places 2021-08-10 00:08:15 +00:00
file_dialog.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
filter_files.c Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
filter_files.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
firewall_rules.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
firewall_rules.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
help_url.c Windows: Don't define or check for WIN32. 2022-08-05 08:33:49 +00:00
help_url.h Drop old unused topic actions 2022-03-06 15:10:19 +00:00
iface_lists.c iface_lists: fix resource leak 2022-04-19 15:37:21 +00:00
iface_lists.h Allow to filter interface types 2022-04-19 09:19:50 +00:00
iface_toolbar.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
iface_toolbar.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
io_graph_item.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
io_graph_item.h ftypes: Make accessor functions type safe 2022-06-20 17:29:57 +00:00
language.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
language.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
last_open_dir.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
main_statusbar.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
mcast_stream.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
mcast_stream.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
packet_list_utils.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
packet_list_utils.h Ui: Centralize PacketList helper prototypes 2022-06-29 09:31:09 +00:00
packet_range.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
packet_range.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
persfilepath_opt.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
persfilepath_opt.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
preference_utils.c Qt: Add resolved button to Edit Columns 2022-06-30 08:28:54 -04:00
preference_utils.h Qt: Add resolved button to Edit Columns 2022-06-30 08:28:54 -04:00
profile.c Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
profile.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
progress_dlg.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
proto_hier_stats.c proto_hier_stats: Skip non-protocols and reduce recursive calls 2022-04-21 08:56:12 -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 Add a default configuration profile for Logray. 2022-07-06 10:53:21 -05:00
recent.h Qt: Hide columns for traffic tree 2022-06-19 16:39:35 +02:00
recent_utils.h Ui: Centralize PacketList helper prototypes 2022-06-29 09:31:09 +00:00
rtp_media.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
rtp_media.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
rtp_stream.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
rtp_stream.h Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
rtp_stream_id.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
rtp_stream_id.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
service_response_time.c Remove unneeded modelines in ui. 2021-04-20 07:43:39 +00:00
service_response_time.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
simple_dialog.h Fix more repeated words throughout 2021-12-31 22:50:40 +00:00
software_update.c macos: Remove no longer needed function 2022-07-25 17:00:55 +00:00
software_update.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
ssl_key_export.c ui: Return length from ssl_export_sessions() 2021-06-07 08:59:02 +02:00
ssl_key_export.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
summary.c Replace g_snprintf() with snprintf() 2021-12-19 20:06:13 +00:00
summary.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
tap-credentials.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
tap-iax2-analysis.c IAX2 Stream Analysis: Fix of mean jitter calculation 2021-10-23 12:01:54 +00:00
tap-iax2-analysis.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
tap-rlc-graph.c RLC Graph: store secs in time_t 2022-08-20 19:56:34 +00:00
tap-rlc-graph.h RLC Graph: store secs in time_t 2022-08-20 19:56:34 +00:00
tap-rtp-analysis.c RTP Analysis: Fix of mean_jitter calculation 2021-10-20 07:05:30 +00:00
tap-rtp-analysis.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
tap-rtp-common.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
tap-rtp-common.h tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
tap-sctp-analysis.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
tap-sctp-analysis.h gboolean bitfields considered harmful 2022-07-30 08:49:08 -04:00
tap-tcp-stream.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
tap-tcp-stream.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
tap_export_pdu.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
tap_export_pdu.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
taps.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
text_import.c Dissector names are not protocol names. 2022-09-10 22:37:11 -07:00
text_import.h text2pcap: Move SHB and IDB setup to ui/text_import 2021-12-30 17:05:06 +00:00
text_import_regex.c text2pcap: Use standard log debug level 2021-12-30 01:17:06 +00:00
text_import_regex.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
text_import_scanner.h text_import: Report errors and warnings 2021-12-23 19:26:45 -05:00
text_import_scanner.l text_import: Report errors and warnings 2021-12-23 19:26:45 -05:00
time_shift.c Ui: Centralize PacketList helper prototypes 2022-06-29 09:31:09 +00:00
time_shift.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
urls.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
util.c Cast away the return value of g_strlcpy() and g_strlcat(). 2021-04-30 03:19:19 -07:00
util.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
version_info.c Add some UTF-8 debug checks with a compile time flag 2022-09-27 17:04:44 +00:00
version_info.h About: Reformat and expand some text. 2022-08-03 09:10:07 +00:00
voip_calls.c tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
voip_calls.h Replace g_strdup_printf() with ws_strdup_printf() 2021-12-19 21:21:58 +00:00
ws_ui_util.h capture: Move capture pipe polling out of UI 2022-07-30 16:42:12 +02:00