Commit Graph

27 Commits

Author SHA1 Message Date
John Thacker 66e19f9622 Qt: Silence warning
In the case that this is being called with an address type that
is neither IPv4 or IPv6, make sure that the char array used
to construct the QString is null terminated so that there's no
warning about using addr uninitialized or a possible strlen running
off the end.
2022-08-24 00:36:12 +00:00
Guy Harris d9e662bc54 Rename some functions and types for endpoint tables.
The "conversation table" mechanism supports two types of tables, one for
the "Conversations" menu item under "Statistics" and one for the
"Endpoints" menu item under "Statistics".  The first of them shows
statistics for conversations at various layers of the networking stack;
the second of them shows statistics for endpoints at various layers of
the networking stack.

The latter is *not* a table of hosts; an endpoint might be a host,
identified by an address at some network level (MAC, IP, etc.), or it
might be a port on a host, identified by an address/port pair.

Some data types, function names, etc. use "host" or "hostlist" or other
terms that imply that an endpoint is a host; change them to speak of
endpoints rather than hosts, using names similar to the corresponding
functions for conversations.

Provide wrapper functions and typedefs for backwards source and binary
compatibility; mark them as deprecated in favor of the new names.

Clean up some comment errors found in the process.
2022-08-23 09:55:14 +00:00
Chuck Craft a6813db329 Qt: traffic tables - tcp/udp port name resolution
Allow conversation/endpoint tabs that include IP address and
port number to resolve either or both. Currently IP address
(network) resolution is required to resolve tcp/udp ports.
2022-08-08 09:10:10 +00:00
Chuck Craft 077547d033 dccp: allow port resolution in conversation table 2022-08-05 00:52:56 +00:00
Roland Knall 06cd84a6e9 Qt: Recommend 5.12 and enforce 5.10
In order to phase out older versions, we recommed 5.12 as a
minimum Qt version going forward. Although build support for
5.10 and 5.11 is not being removed at this point, it might
be for 4.x at a later time.
2022-07-13 21:26:46 +00:00
Roland Knall c054501335 Qt: Fix compile issue for 5.9
Use the legacy method for when a Qt version below 5.10 is being used,
due to the fact, that QLocale::formattedDataSize had not been introduced
before
2022-07-04 19:22:17 +00:00
João Valverde 0dbd0a6903 Qt: Fix endianness for an IPv4 value
ws_in4_addr is in network byte order (big endian) so convert from
BE to host byte order, not the other way around.
2022-06-24 20:26:38 +00:00
Roland Knall 2e5b09f486 Qt: Fix compiler warning on macOS 2022-06-22 17:52:15 +02:00
Roland Knall 1424e28c7d Qt: Fix stream id display in context menu
It was displayed for every protocol, but should only be displayed
for TCP and UDP alone
2022-06-22 15:48:51 +02:00
Roland Knall 847795d381 Qt: Add stream number to conversations
Adding the stream id to UDP/TCP conversations and allowing
filtering on those values as well.

Fixes: #14184
2022-06-21 10:01:18 +02:00
Roland Knall e046877ad1 Qt: Fix column hiding for traffic model
Instead of letting the model do the filtering and having
a bunch of exceptions in cases where columns are hidden
in between other columns, the model will present all columns
all the time, and it is the job of a top-level proxy to
filter out columns not required for current display
2022-06-20 10:21:37 +02:00
Roland Knall f75f577579 Qt: Fix TrafficTree typo
And also fix some prototypes
2022-06-19 11:21:53 +02:00
Roland Knall 1272b62106 Docs: Update documentation for redesigned Traffic Tabs
Update the documentation to document the change of features
that happen during the redesign of the UI as well as fix some
wordings in the data model.
2022-06-14 21:33:26 +00:00
Roland Knall a4f25e5115 Qt: Redesign TrafficTree Dialogs UI
The new UI should better group functionality and as well as better
showing which taps are available and can be used.
2022-06-14 09:36:30 +00:00
Roland Knall 1dc37de740 Qt: Fix sorting for ports
Ports where sorted as string and not numerical
2022-06-13 17:33:38 +02:00
Roland Knall be112bd44e Qt: Fix maxmind open map
Fix an issue, where the map button is not correctly activated
and therefore the map cannot be shown or opened
2022-06-13 14:39:14 +00:00
Roland Knall 0cfe7a0d56 Qt: Better sorting for traffic dialogs
Allow the traffic columns to automatically sort on secondary columns if
applicable. e.g. the address and port column for TCP and UDP, or the
secondary address for conversations
2022-06-13 13:50:50 +02:00
Roland Knall a807047b95 Qt: Adapt sorting for traffic tables
Improve sorting for the traffic tables
2022-06-12 14:53:23 +02:00
Roland Knall 51d5cb42b2 Qt: Implement total columns for traffic tables
Implement a column type, which will show total values
for traffic columns.

Implements #15071
2022-06-10 12:38:56 +02:00
Roland Knall 9edf06383a Qt: Move most Contextmenu stuff to TrafficTree
Create a new class, which handles the context menu stuff for
the traffic data, as well as remove unnecessary signals used
by the sub-dialogs.
2022-06-04 15:57:02 +02:00
Roland Knall 05759d3ec5 Qt: Better handle retapping for traffic tables
Retapping can have some side-effects and was done in
an overflowing way. Reducing the number of times retapping
is required and done, and also giving control for taps
reload to TrafficTab
2022-06-03 10:25:15 +02:00
Roland Knall fc505eed29 Qt: Fix coverity warnings for TrafficView 2022-06-02 16:50:31 +00:00
Roland Knall f725bbef5e Qt: Minor changes to TrafficTrees
Move the corner button to a QToolButton and put it in a widget
to better handle size constraints. Also fix some fallthroughs
and remove unneeded code
2022-06-02 12:30:41 +02:00
Stig Bjørlykke 335795ab16 Qt: Fix build withouth MaxMindDB 2022-06-02 08:56:22 +02:00
Roland Knall dd9e4fd3fa Qt: Fix warning for TrafficData 2022-06-01 20:21:53 +02:00
Roland Knall 7306d7681a Qt: Save Trafficdata as raw
Allow the option to save the data from the traffic dialogs
as raw data and enable it as the default option for 4.0. The
option to display the data with pretty formatting is still
available.
2022-06-01 11:51:39 +02:00
Roland Knall cb56345175 Qt: Move Traffic Tables to Model/View
The current model makes it very hard to extend the traffic tables
with new functionality. For instance, having a total view column
additionally to the normal columns when filtered.

This change removes the QTreeWidget and moves to a more generic
approach using QAbstractListModel elements.

It is implemented in thtree parts:
- ATapDataModel implements the basic collection and handling of
  the tap data information, as well as updating if new data is
  becoming available
- EndpointDataModel / ConversationDataModel handles the display
  and representation of the data
- Implementing TrafficTab as a TabWidget which will handle the
  adding/removing of new protocol tabs
2022-06-01 11:26:22 +02:00