Commit Graph

7516 Commits

Author SHA1 Message Date
João Valverde 44d1cc6d4a GUI: Move log message to the correct place
Move the log message after parse_args().
2022-10-11 14:23:19 +01:00
João Valverde 1b12dc4b9e Add WS_DEPRECATED_X() function attribute
This adds a new attribute that allows declaring Wireshark
functions as deprecated.

Also disabe -Werror with deprecated declarations  Deprecated
declarations can be introduced suddenly with a new version
of an external dependency or a new internal deprecation and
that has its own timeline to fix. We should still be able to
build with -Werror in that case.
2022-10-10 20:27:33 +00:00
Alexis La Goutte 5a86ac3149 follow_stream_dialoag(qt): Fix Clang Analyzer Warning
Fix 3rd function call argument is an uninitialized value

stream_count is not longer initialized for QUIC (after g2762c64010 remove like other)
2022-10-10 11:57:29 +00:00
Gerald Combs 2a97e729dc [Automatic update for 2022-10-09]
Update manuf, services enterprise numbers, translations, and other items.
2022-10-10 08:13:49 +00:00
Gerald Combs a820b439b4 Qt+extcap: editselect value fixups.
Fix our value handling.
2022-10-09 00:44:27 +00:00
Gerald Combs 80656552c7 Update our capture control icons.
Add a standard "record" button icon for Logray. Add a corresponding
"restart" icon. Touch up the "stop" and "restart fin" icons.
2022-10-08 16:37:29 -07:00
João Valverde 3949d289d1 Add log init message to main() 2022-10-08 15:33:47 +00:00
Eugène Adell 9a6d496e64 Conversations dialog : rename the B to A packets column 2022-10-08 13:36:14 +00:00
João Valverde 9ab1f35641 Move print_hex_data_buffer() to wsutil
Move this generic function to wsutil so it can be used
by other libraries.
2022-10-08 12:39:04 +01:00
j.novak@netsystem.cz 2c56c0bad6 RTP Player: Fix: Only silence played on Windows with Qt 6.x 2022-10-08 09:30:52 +00:00
Gerald Combs 2b4fcae31f Qt+extcap: Add editable extcap selectors.
Add an "editselector" argument type, which lets the user override a
predefined selection list with a custom value.
2022-10-07 17:01:17 +00:00
Chuck Craft 3f83a3b364 Qt: Display filter edit - update status line only when on mainWindow.
There are many screens with a display filter edit box but they should
not wallop the status line on the main window. Display syntax errors
on the local window in "hints" area.
Only update Status Line message when editing a display filter in the
Filter toolbar or Find Packet toolbar.
2022-10-07 06:41:29 +00:00
João Valverde 09b27e5636 Qt: Disable -Werror for a deprecated declaration
Allow building with -Werror enable globally.
2022-10-04 17:35:55 +00:00
João Valverde 35c06ad742 CMake: Fix Qt -Werror compilation flag
All source files should have COMPILE_FLAGS applied, not just
ui/qt/*.cpp.

This fixes setting -Werror on the Qt build, since that is
the only custom C++ compilation flag we are using at the moment.
2022-10-04 17:08:31 +00:00
João Valverde ec54b1c611 Qt: Fix deprecation of QByteArray::count()
Use size() instead, which is exactly the same as count(), and
is not deprecated. Seems to exist in all out supported Qt
versions, as far as I can tell.

warning: ‘qsizetype QByteArray::count() const’ is deprecated: Use size() or length() instead. [-Wdeprecated-declarations]
  257 |     while ((int) (row_y + line_height_) < widget_height && offset < (int) data_.count()) {
      |                                                                           ~~~~~~~~~~~^~
2022-10-04 17:08:31 +00:00
João Valverde 9acfcd1f9b Qt: Fix setTextAlignment() deprecation
Cast away bogus deprecation created by deprecating
setTextAlignment(int, int) without fixing textAlignment()
to not return int.

```
error: ‘void QTreeWidgetItem::setTextAlignment(int, int)’ is deprecated: Use the overload taking Qt::Alignment [-Werror=deprecated-declarations]
  597 |             wn_ti->setTextAlignment(col, ws_dlg->statsTreeWidget()->headerItem()->textAlignment(col));
      |             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtWidgets/qtreewidget.h:105:17: note: declared here
  105 |     inline void setTextAlignment(int column, int alignment)
      |                 ^~~~~~~~~~~~~~~~
```
2022-10-04 17:08:31 +00:00
João Valverde f0a633622d Qt: Remove workaround for Qt bug fixed in Qt 5.5.1 2022-10-04 17:06:54 +00:00
Ming Chen 01a3a19e15 Add copy as a Base64 string 2022-10-04 12:36:25 +00:00
Gerald Combs 45c6c79624 [Automatic update for 2022-10-02]
Update manuf, services enterprise numbers, translations, and other items.

services failed.
2022-10-02 16:43:23 +00:00
João Valverde afa2579124 Qt: Fix compilation with Qt 6.4
error: conversion function from 'gchar *' (aka 'char *') to 'QVariant' invokes a deleted function
            return entry->hostname;
                   ^~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qvariant.h:199:5: note: 'QVariant<char *, false>' has been explicitly marked deleted here
    QVariant(T) = delete;
    ^
2022-10-01 21:53:11 +01:00
Chuck Craft c4c38defa5 Qt: enabled/disabled protocols filtered list enable/disabled
Follow up to !8151
Calls to setData are wrapped with beginResetModel/endResetModel
so don't call emit dataChanged() (per Qt suggestion)

Fixes "As the loop is worked, the size of the parents shrinks
 with each item processed."
2022-09-30 22:46:16 -05:00
Gerald Combs 91bb68c86a Qt: Set a minimum width for our stream spinboxes.
Set a minimum width for the stream and substream number spinboxes in the
"Follow" and "TCP Stream Graphs" dialogs. This provides a larger click
target and should make editing easier.
Fixes #18265.
2022-09-29 16:42:56 +00:00
Jaap Keuter d8983b54ba Qt: plug resource leak in error path (CID-1504598) 2022-09-29 11:35:39 +00:00
Chuck Craft 5dfbc40b4b Qt: Analyze->Enabled Protocols search in enabled/disabled
Rearrange some of the code from ddb943bf so that searches in
`Only enabled protocols` or `Only disabled protocols` return
filtered results.
2022-09-29 11:14:17 +00:00
Jaap Keuter b092fa05da Replace the last of PROTO_ITEM_ macro calls with function calls 2022-09-29 05:59:12 +00:00
João Valverde 9345bcdae5 epan: Change signature of format_text()
Replace "const guchar *" with "const char *".
2022-09-28 19:28:28 +01:00
Gerald Combs 7d3a50a02e Qt: Fix our packet comment connections.
Use new-style connections for our packet comment actions. Fix our slots
to match 24a09965e6.
2022-09-28 10:19:31 -07:00
Gerald Combs f011e75025 Qt: Use new-style syntax for signal & slots connected by name.
Change anything that matches

    grep -Eir '(signal|slot) *\( *on_action' ui

to new-style connections so that we can catch any future direct
connection conversion issues at compile time.

Change a connection from on_actionCaptureOptions_triggered to
showCaptureOptionsDialog and make showCaptureOptionsDialog public. Fixes
an issue introduced in fcdb77dc.
2022-09-27 21:43:05 +00:00
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
j.novak@netsystem.cz bb4de1a046 RTP dialogs: Fix: Coloring of QTreeWidgetItem do not work 2022-09-27 09:48:40 +00:00
Gerald Combs fcdb77dce9 Qt: Manually connect our "Capture" menu actions. 2022-09-25 14:25:21 -07:00
Gerald Combs fc461d1592 Qt: Manually connect our "Go" menu actions. 2022-09-25 13:37:37 -07:00
Gerald Combs a135d741a7 Qt: Manually connect our "View" menu actions. 2022-09-25 19:50:34 +00:00
Gerald Combs 5d4e102b4c [Automatic update for 2022-09-25]
Update manuf, services enterprise numbers, translations, and other items.
2022-09-25 16:43:29 +00:00
Gerald Combs 24a09965e6 Qt: More menu action cleanup.
We use the convention "actionSomeThing" for action names. Rename some
member functions that used that convention.

Manually connect another action.
2022-09-24 16:03:00 -07:00
Gerald Combs de387814bb Qt: Manually connect our "File" menu actions. 2022-09-23 19:41:32 +00:00
Gerald Combs 720090fb86 Qt: Manually connect more "Edit" menu actions.
Followup to ce44047584.
2022-09-23 19:38:07 +00:00
Chuck Craft 2a189d0a08 Qt: if regex not valid don't attempt search
Search is tried as user enter regex string. Regex will be
 invalid as they type it (starts with "\" or fat fingered "*")
 If Wireshark is run from command line, error line is generated
 for every attempted match in the search list.
 ** (wireshark:8344) 00:29:15.353028 [GUI WARNING] --
 QString::contains: invalid QRegularExpression object
2022-09-22 12:47:08 -05:00
Pau Espin 0c7e8ce9a5 ui: Fix Qt deprecation messages
Related: https://gitlab.com/wireshark/wireshark/-/issues/18358
2022-09-21 16:29:10 +02:00
Gerald Combs ce44047584 Qt: Manually connect our "Edit" menu actions.
Use manual, new-style connections for each of our "Edit" menu actions.
KDE's clazy project recommends them over auto-connnections:

https://github.com/KDE/clazy/blob/1.11/docs/checks/README-connect-by-name.md

Use queued connections for the mark, ignore, and other actions that might
run a nested event loop.
Fixes #18344.
2022-09-20 16:39:30 +00:00
Chuck Craft c199b747aa Revert "Qt: only half of enabled/disabled protocols list is processed"
This reverts commit 248955d614.

It speeds up the loop when type_ is EveryWhere (see: enum SearchType)
but a hang or crash for other combinations of type_ and protocolType_.
2022-09-20 11:07:13 -05:00
Gerald Combs 0e462b9aae Qt: Fix some QRC paths. 2022-09-18 23:31:09 +00:00
Gerald Combs b92b66c0f4 [Automatic update for 2022-09-18]
Update manuf, services enterprise numbers, translations, and other items.
2022-09-18 16:45:13 +00:00
Chuck Craft 248955d614 Qt: only half of enabled/disabled protocols list is processed
In Only enabled/disabled protocols lists, the rowCount decreases
as item state is changed in the parent. An equlibrium point is
reached at halfway when rows processed == remaining size of list.
Grab a static rowcount before entering the loop.
2022-09-18 14:58:47 +00:00
Chuck Craft 246e753d69 Qt6: add toInt() to QVariant == Qt::Checked
A change in Qt6 "==" comparison for QVariant for not defined types.

Closes #18336
2022-09-14 20:49:54 +00:00
John Thacker cbb2213021 Qt: Fix memory leak in Decode As
The correct place to delete the dissector_info_t pointers added
to the editor is when destroyEditor is called. Override the
virtual function and delete the pointers for the colProtocol
index before calling the inherited function.

Fix #17127
2022-09-14 12:43:55 +00:00
John Thacker 2762c64010 follow: Have followers register their stream count function
Instead of having the UI have to know about each type of follow
stream, and how to retrieve its total number of streams, have
each follow type register a function that returns the total
number of stream. (The function can be NULL, for protocols like
SIP that do not use this.)

This gets us closer to making follow stream registration generic.
2022-09-14 00:03:07 +00:00
Guy Harris c9342873e5 Clarify dissector description, protocol short name, and protocol ong name.
Rename dissector_handle_get_long_name() and
dissector_handle_get_short_name() to
dissector_handle_get_protocol_long_name() and
dissector_handle_get_protocol_short_name(), to clarify that they fetch
names for the protocol that the dissector dissects, not for the
dissector *itself*.  Leave a deprecated
dissector_handle_get_short_name() wrapper, and export
dissector_handle_get_protocol_long_name(), as it's now used in some
dissectors.

Change some calls to dissector_handle_get_description() back to
dissector_handle_get_protocol_short_name(), as they appear to be made in
order to display a *protocol* name.

Rename some methods, variables, enums, and table column names to reflect
cases where the dissector description is being used.
2022-09-13 00:47:24 -07:00
Chuck Craft 87a7260bb0 Qt6: migrate obsolete currentIndexChanged(QString)
Similar to work done in !8070 and !8072 to move off a function
that was deprecated in Qt5 and obsoleted in Qt6. Also migrate to
syntax laid out in !4560 and !4565.
2022-09-12 22:10:11 +00:00
Guy Harris d4394de669 Give dissectors a descriptive string.
It defaults to the short name of the protocol dissected by the
descriptor, but it's now possible to register a dissector with an
explicit description.

This is mainly for use in the Decode As UI.  It handles the case where
the same protocol might have different "Decode As..."-specifiable
dissectors for different situations.
2022-09-12 21:05:14 +00:00