Commit Graph

7087 Commits

Author SHA1 Message Date
João Valverde 14bb016b5b Add release build configuration to version info 2021-12-01 20:28:25 +00:00
Moshe Kaplan 3953ddcf57 Add UI header files to Doxygen
Add @file markers for UI
header files so that Doxygen will
generate documentation for them.
2021-11-30 08:01:36 -05:00
Chuck Craft b081651088 Qt: Expert Info - set group summary label to ei_ field name
There is some lose of detail in the group label but eliminates
the misleading information that comes from grabbing the
potentially modified summary of the first entry in the group.

Closes #14892 #14425
2021-11-30 09:45:47 +00:00
Chuck Craft 8a19d8d1c7 cfilters/cli: -f "predef:..." needs cfilters loaded
Restore early loading of cfilters file removed in e0ddc7ad.
2021-11-30 09:30:44 +00:00
João Valverde 504de90a3c wsutil: Split format_size() enum
Use an enum to select units and a bit flag for the other options,
currently only prefix type.
2021-11-29 22:13:32 +00:00
Tomasz Moń 890555b8bd Qt: Qt6.2 compatibility fixes
Wireshark successfully compiles on Windows with Qt6.2 with following
cmake options:
  -DUSE_qt6=ON -DDISABLE_ERROR=ON

QCustomPlot QT 6.2 patch is taken from QCustomPlot forum post by miccs.
2021-11-29 04:55:12 +00:00
Jaap Keuter 32b2018ea9 LTE RLC graph: plug possible memory leak 2021-11-28 22:15:27 +00:00
Gerald Combs 2452270c4e [Automatic update for 2021-11-28]
Update manuf, services enterprise numbers, translations, and other items.
2021-11-28 16:24:55 +00:00
Tomasz Moń ede0bc5d61 Qt: Add missing QRegularExpression include 2021-11-28 13:13:31 +01:00
Tomasz Moń e51a0cb4f4 Qt: Use QRegularExpression instead of QRegExp
Qt5 recommended to use QRegularExpression instead of QRegExp.
Qt6 deprecated QRegExp and provides it in Qt5 compatibility module.

QRegularExpression is generally faster and safer to use as the results
are returned in separate QRegularExpressionMatch instead of modifying
interal QRegExp object state.
2021-11-26 09:10:42 +00:00
João Valverde 9dd770fd64 Clean up PCRE2 version info 2021-11-24 12:58:39 +00:00
Joerg Mayer 5bb7e1606b Fix some of the compile errors when compiling with Qt6
This is basically applying c knowledge and Google to the compiler
error messages. There is basically no understanding involved into
what I was doing:
- No idea why lots of #includes needed to be added for Qt6
- No idea how to actually fix the remaining problems, but it's a start

Things that need to be done:
- The AudioDeviceInfo thingy needs to be replaced by something new (as
  an interim solution another patch disables the audio player in Qt6).
- GRegExp eventually needs to be replaced by QRegularExpression
  (available since Qt5.0, so development can be done in Qt5).
- Solutions for the other problems like some methods no longer
  being available in Qt6 that have to sort of co-exist with Qt5.
2021-11-24 10:31:16 +00:00
Joerg Mayer fe01f0109d Readd feature to make QtXMultimedia optional again
In order to be able to defer solving all Qt6 API differences at once
I tried to reactivate the QT_MULTIMEDIA_LIB feature. I managed to fix
most problems but one problem remains in both Qt5 and Qt6 builds.
Without Qt[56]Multimedia, the following error exceeds my non-existing
C++ knowledge:

jmayer/work/wireshark/git/ui/qt/rtp_player_dialog.cpp:154:18: error: out-of-line definition of 'RtpPlayerDialog' does not match any declaration in 'RtpPlayerDialog'
RtpPlayerDialog::RtpPlayerDialog(QWidget &parent, CaptureFile &cf, bool capture_running) :
                 ^~~~~~~~~~~~~~~
2021-11-24 10:31:16 +00:00
Joerg Mayer 24a364f762 Get CMake to successfully work with Qt6
Of course it still fails in the compile phase, but only for some
of the ui/qt/ files.

Wireshark with Qt5 still compiles and runs.

To do the build invoke cmake with the following settings added:
export CMAKE_PREFIX_PATH=:${MY_QT6_PREFIX}/lib/cmake
cmake -DUSE_qt6=ON ...

Independently of this patch there is lots of Qt-stuff in
CMakeLists.txt that needs review/cleanup:
- Some of the stuff can probably be solved in a less hacky way:
  + There seemed to be a way for QT6 to provide the required c++-standard,
    but in the end I could not find it.
  + Once we have a working Qt6 codebase, we may get rid of the USE_qt6
    flag and just test for Qt6Core first and if not present check for
    Qt5Core.
- All comments that match /qt ?[4-6]/i need reviewing/cleaning up.
- The changes in this patch have been tested to work on all machines
  that are my mac (macos 12.0.1, XCode 13.1, Intel, GPL-Qt6.2.1 with only
  the macos package selected, cmake 3.21.4)

Add ui/qt/qt6-migration-links.txt for some possibly helpful links
2021-11-24 10:31:16 +00:00
Gerald Combs 92045d98c0 [Automatic update for 2021-11-21]
Update manuf, services enterprise numbers, translations, and other items.
2021-11-21 16:24:28 +00:00
Stig Bjørlykke a8643ab254 Qt: Fix column validation in columnString()
The column parameter in PacketListRecord::columnString() must be
below cap_file->cinfo.num_cols to be valid. An issue with this check
may be triggered when switching profile.
2021-11-20 17:22:33 +00:00
Chuck Craft f748c91bb2 Qt (ByteView): update preference on hover state change; WSUG typo 2021-11-17 09:43:11 +00:00
Jirka Novak ffd1f1cecf VoIP calls dialog: fix generated filter
New 'in { }' syntax requires comma between items so filter generator in
VoIP calls dialog must use it too.
2021-11-16 21:02:05 +01:00
Gerald Combs 6ee1390b86 Qt: Make Lua dialogs children of the main window.
Pass the funnel operations ID to new_text_window and new_dialog so that
we can assign parent widgets when we create new FunnelTextDialogs and
FunnelStringDialog. This should ensure that they're destroyed properly.
Ping #17590.
2021-11-15 20:03:16 +00:00
João Valverde b30a2112e8 regex: Prefer C99/POSIX types
Replace 'gssize' with 'ssize_t'.

Add a CMake configure check for ssize_t.

Fix missing "config.h" includes.
2021-11-15 02:41:59 +00:00
João Valverde b9f2e4b7fa Make PCRE2 a required dependency 2021-11-14 21:00:59 +00:00
Gerald Combs 41a247287e [Automatic update for 2021-11-14]
Update manuf, services enterprise numbers, translations, and other items.
2021-11-14 16:39:31 +00:00
Gerald Combs 3f8f22f472 Qt: Add some notes about cleaning up after ourselves. 2021-11-11 13:21:48 -08:00
Gerald Combs eda588d1a6 Revert "Qt: fix memory leaks found by Visual Leak Detector"
This reverts commit c2edb44a9a.

While we should definitely avoid leaking memory, this runs up against
the Qt code's assumption that it will always have valid epan data.

Fixes #17590.
Fixes #17719.
2021-11-10 11:48:26 -08:00
Gerald Combs 7a30021aef Revert "Qt: Fix epan cleanup exit crash"
This reverts commit 5f50fad289.
2021-11-10 11:48:09 -08:00
Tomasz Moń 5f50fad289 Qt: Fix epan cleanup exit crash
Do not keep epan_dissect_t instance hanging until FrameInformation
destructor is called. Simply copy the tvb data into local buffer and
cleanup epan_dissect_t instance as soon as possible.

Fixes #17590
2021-11-09 10:54:49 +00:00
Gerald Combs e5eb17d414 UAT: Allow missing fields.
Add uat_set_default_values, which lets us provide default values for
fields that might be missing from the end of a UAT line. Set a default
value for the I/O Graph dialog's Y Axis Factor. Fixes the backward
compatibility issue described in #17623
2021-11-08 22:20:24 +00:00
João Valverde 69c850df51 ftypes: Simplify fvalue_can_*() interface
If an ftype can participate in equala assume it can also participate in
not equals. Use fvalue_can_eq() instead of fvalue_can_ne().

If it can participate in one order comparison it can participate in all.
Replace any comparison with fvalue_can_cmp().
2021-11-07 22:44:59 +00:00
Gerald Combs 8570fb47e8 [Automatic update for 2021-11-07]
Update manuf, services enterprise numbers, translations, and other items.
2021-11-07 16:40:28 +00:00
Moshe Kaplan 0b13ad6d95 Qt: Debounce View -> Internals -> Supported Protocols "Search" to improve UX
As searching the list of protocols takes a noticeable amount
of time and so would introduce significant lag while typing a string
into the Search box, we instead debounce the call to
updateSearchLineEdit(), so that it doesn't run until a set amount of
time has elapsed with no updates to the Search field.
If the user types something before the timer elapses, the timer restarts
the countdown.
2021-11-04 05:12:50 +00:00
Gerald Combs 552ee4c445 [Automatic update for 2021-10-31]
Update manuf, services enterprise numbers, translations, and other items.
2021-10-31 16:48:39 +00:00
Jirka Novak e880cf61d7 Flow sequence: Shows more information about various skinny messages
For many skinny messages additional information is shown next to
message. It simplifies call flow analysis.
2021-10-27 06:47:55 +00:00
Eugene Adell 4bdb4b1762 Follow Stream: Disable the Arrow button on 1st call
The first call to Follow Stream forgot to disable the arrow
button. Reverse the precedence between the display filter edition
and the display filter success now gives the expected GUI behavior.
Closes #10774
2021-10-26 04:02:14 +00:00
Gerald Combs 923ae6acca [Automatic update for 2021-10-24]
Update manuf, services enterprise numbers, translations, and other items.
2021-10-24 17:25:30 +00:00
João Valverde 0abe10e040 dfilter: Fix "!=" relation to be free of contradictions
Wireshark defines the relation of equality A == B as
A any_eq B <=> An == Bn for at least one An, Bn.
More accurately I think this is (formally) an equivalence
relation, not true equality.

Whichever definition for "==" we choose we must keep the
definition of "!=" as !(A == B), otherwise it will
lead to logical contradictions like (A == B) AND (A != B)
being true.

Fix the '!=' relation to match the definition of equality:
  A != B <=> !(A == B) <=> A all_ne B <=> An != Bn, for
every n.

This has been the recomended way to write "not equal" for a
long time in the documentation, even to the point where != was
deprecated, but it just wasn't implemented consistently in the
language, which has understandably been a persistent source
of confusion. Even a field that is normally well-behaved
with "!=" like "ip.src" or "ip.dst" will produce unexpected
results with encapsulations like IP-over-IP.

The opcode ALL_NE could have been implemented in the compiler
instead using NOT and ANY_EQ but I chose to implement it in
bytecode. It just seemed more elegant and efficient
but the difference was not very significant.

Keep around "~=" for any_ne relation, in case someone depends
on that, and because we don't have an operator for true equality:
  A strict_equal B <=> A all_eq B <=> !(A any_ne B).
If there is only one value then any_ne and all_ne are the same
comparison operation.

Implementing this change did not require fixing any tests so it
is unlikely the relation "~=" (any_ne) will be very useful.

Note that the behaviour of the '<' (less than) comparison relation
is a separate, more subtle issue. In the general case the definition
of '<' that is used is only a partial order.
2021-10-24 06:55:54 +00:00
Eugene Adell 9bedc8af1a Follow Stream: Minor update of a variable scope
To enhance the Merge 4644, the isReadRunning variable scope is
changed to reduce the header footprint and make the code compliant
to the usual coding rules.
2021-10-23 13:28:19 +00:00
Jirka Novak cf41fbd897 IAX2 Stream Analysis: Fix of mean jitter calculation
Calculation was using incorrect variable so calculation was incorrect.
Patch corrected this mistake.
2021-10-23 12:01:54 +00:00
Gerald Combs ca8e6f3db4 Qt: Add back some Q_OBJECT calls.
They're needed in some places for translations.
2021-10-22 16:47:38 -07:00
João Valverde 59c082c046 Add new global header wireshark.h with guideline
Remove ws_diag_control.h from config.h because that was a workaround
for the lack of a public global header. Fix the resultant build errors.
2021-10-22 06:41:44 +00:00
Eugene Adell 5863a7cbeb Ensure a single Follow Stream is running only
When changing one of the selection parameters in the Follow Stream
dialog while a filtering task is already running, the result is
inaccurate.
While a filtering task is already running in the Follow Stream
dialog, any filter change which triggers a new filtering gives a
wrong result. Both the displayed data and the Save As functions
are impacted. Closes #15637
2021-10-22 05:30:51 +00:00
Jirka Novak a747639add RTP Analysis: Fix of mean_jitter calculation
Calculation used current_diff in place current_jitter in mean_jitter
calculation so it produced incorrect results. This patch fixes it.

Closes #17600.
2021-10-20 07:05:30 +00:00
Gerald Combs 0e667117b4 [Automatic update for 2021-10-17]
Update manuf, services enterprise numbers, translations, and other items.
2021-10-17 09:30:23 +00:00
John Thacker cc91fd51ff cli: stats_tree: Make syntax consistent with other -z options
The statistics that use the stats_tree API parse the -z option
without expecting a comma separator between the statistics name
and the filter. This is contrary to both the man pages and how
all the other options work. Fix that so it's consistent.
Fix #17656
2021-10-15 04:22:23 +00:00
David Perry fd076e6ca8 Proposed rewording of filter tooltips
For #16186. Proposed changes to the tooltips which appear when a filter
expression is potentially problematic.

Rename references to "User's Guide" to "Help" since the link to the
User's Guide in the Help menu is just called *Contents*.

Name specific sections within the help which pertain to the warning
tooltip being shown. Gives first-time users some help in finding the
right part of the sizeable User's Guide.
2021-10-12 06:54:25 +00:00
Gerald Combs 11c58e78f7 Qt: More new-style signals+slot conversions. 2021-10-11 17:03:21 +00:00
Gerald Combs e5bcf6b402 Qt: Use new-style signals+slots in more places. 2021-10-11 16:32:49 +00:00
Chuck Craft 92ab6d0704 Rawshark: is not a CamelCase word 2021-10-11 08:03:31 +00:00
Gerald Combs ab34ebbc7b [Automatic update for 2021-10-10]
Update manuf, services enterprise numbers, translations, and other items.
2021-10-10 23:00:00 +00:00
Gerald Combs f9d3b9d51a Qt: Remove more Q_OBJECT macro calls. 2021-10-09 17:07:03 -07:00
Chuck Craft 48e740f8e4 text2pcap: typo on Help -> Manual Pages 2021-10-09 02:46:01 -05:00