Rewrite of the about dialog, to use QTableView and Models
instead of HTML files.
Everything is now model based, and the model is generic enough
to support any variation which can be put into a QStringList row.
Change-Id: Ie32bf66b2fe2a7754c0bf07205a7b068d46b0070
Reviewed-on: https://code.wireshark.org/review/24534
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Bug: 14186
Change-Id: I8793078ea50379b2f9697787e6b7a8ab2d9e3e0e
Reviewed-on: https://code.wireshark.org/review/24558
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
It's no need for InterfaceFrame to use AccordionFrame.
Change-Id: Iccef1bcf919d7e5ec2bf818802ef68c1faf4e4a3
Reviewed-on: https://code.wireshark.org/review/24548
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Follow-up to b695b3e2f7.
Change-Id: I7e36519f2c3806c1205d05437671325080974257
Reviewed-on: https://code.wireshark.org/review/24524
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
Use the default text color for sparkline in hovered items. This makes
the selected item look the same as non-selected items when hovering.
This is related to g1ed38dc2.
Change-Id: I96ba349067cf7d398d11425cfa5ada5e5b4d587c
Reviewed-on: https://code.wireshark.org/review/24516
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
The Qt 4.8 "Starting a Thread" document at
http://doc.qt.io/qt-4.8/threads-starting.html says,
"Note that you must create the QApplication (or QCoreApplication) object
before you can create a QThread."
It looks like this changed some time around Qt 5.5 or 5.6, e.g.
https://codereview.qt-project.org/#/c/120793/, but just to be safe move
the MIME database initialization thread to WiresharkApplication. We
start reading the database later than I'd like, but it's still early
enough to make a difference here.
QMimeDatabase was added in Qt 5.0. Add version checks.
Change-Id: Ic80ebb8692e93b1e4aea7a8670f4fcf45e385b29
Reviewed-on: https://code.wireshark.org/review/24512
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Cleanup adding a filter and implement some
sanity checks in the drop code
Change-Id: I1778be16abdea3f93ed11fc610962c4a23f10a2f
Reviewed-on: https://code.wireshark.org/review/24505
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Fixes the bug, where submenu items are not properly activated
Bug: 14232
Change-Id: I007010310dfa8a6c7eba3ba8cdf3eac74701b0ba
Reviewed-on: https://code.wireshark.org/review/24493
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Reset the byteview on every load of a capture file, and on every
start/reset of a capture
Change-Id: I0edd30ffddc64484bc6f009d99dfc6fc1a3ceb59
Reviewed-on: https://code.wireshark.org/review/24468
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
As part of its initialization, QMimeDatabase parses the freedesktop.org
shared-mime-info database, which is a large-ish (2 - 4 MB) XML file.
This takes about 85 - 90 ms here.
We first access QMimeDatabase in our startup sequence when we load the
normal and capture application icons. Create a worker thread that
initializes QMimeDatabase as early as possible and load load the normal
and capture icons as late as possible.
Change-Id: I27e3d65d8ee1308a62d12d3ff7e1b95f82c2e75a
Reviewed-on: https://code.wireshark.org/review/24471
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
If two elements existed with the same filter expression, the first
element got selected allways. This is much more secure, as it only
takes the label into account. If the user by accident created two
buttons with the same filter expression, but different label and
wants to remove the second button, the first one no longer will be
removed instead of the second one.
Change-Id: I16130aa69cb853aedb9a5c9b0bbbb3eb64b467d1
Reviewed-on: https://code.wireshark.org/review/24399
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Instead of interleaving protocol registrations and status callbacks in
the main thread, move protocol registrations to a worker thread. Do the
same with protocol handoffs. This *should* be safe since the status
callbacks only update the UI.
This reduces startup time by about 200ms on my laptop:
Run OS Thread? Time
1 macOS N 340 ms
2 macOS N 260 ms
3 macOS N 252 ms
4 macOS Y 147 ms
5 macOS Y 146 ms
6 macOS Y 142 ms
7 Win 7 N 80 samples
8 Win 7 N 56 samples
9 Win 7 N 75 samples
10 Win 7 Y 31 samples
11 Win 7 Y 2 samples
12 Win 7 Y 0 samples
macOS was sampled using Instruments. Windows 7 was sampled using the
Visual Studio 2015 profiler.
We should do the same thing with our capture and tap event loops, but
that will likely require quite a bit more work.
Change-Id: Iac9a81d8f71668f5979b524744a03f6d80aee893
Reviewed-on: https://code.wireshark.org/review/24447
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add two new buttons for moving entries up and down in the list.
Change-Id: I90e5c5812754391651885e2a622148cecc124099
Reviewed-on: https://code.wireshark.org/review/24413
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Remove the horizontal spacer between buttons an path label in UAT
views to show as much as possible of the path label.
Change-Id: I99d21ff6a1d151c9fcf83200a88b34b2e0c8eb5d
Reviewed-on: https://code.wireshark.org/review/24444
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Really fix the selection of a row in the packet list
Change-Id: I87ab36146bd9b2a130f443717ce73609a1c0b656
Reviewed-on: https://code.wireshark.org/review/24397
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Implement the mime data for the toolbar in the same fashion as it
has been done for the drag-drop of the field filter.
Change-Id: I2b1ac7f82b637c999f458700c9ab24a9e4dcbcb8
Reviewed-on: https://code.wireshark.org/review/24378
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
In order to consolidate the interfaces between certain parts of the UI,
the signal emitted after a frame change has occured, has to include the
number of the frame. This led to two signals for frame change, and therefore
packetSelection is to be removed.
Change-Id: I24e0e0890291d2243935b0c48387beb66904bfa3
Reviewed-on: https://code.wireshark.org/review/24377
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Fix two issues, first that you could not move the scrollbar as it would
initiate a drag-drop operation. Second, if you start a drag-drop operation
at the top of a field, it would select the field you move over as well.
Change-Id: I553785b1b6c586919e025d3042a876701f36860d
Reviewed-on: https://code.wireshark.org/review/24376
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
The modifier key is a hidden option for now, with the label only
showing the filter expression and the description
Change-Id: I4c983ed0d4fadbd69f0836ecfc85ea8e1109478e
Reviewed-on: https://code.wireshark.org/review/24379
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Add a modifier to the drag-drop operation, to only drop the field
name as filter, instead of the complete filter expression
Change-Id: I9da96906575397191e821e3494a42e0f10d51f45
Reviewed-on: https://code.wireshark.org/review/24375
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
If no tvb is attached to a field, crashing is not the expected result.
Change-Id: Ica0e95326cfcfeb015016770d1b930a9f0447066
Fixes: v2.5.0rc0-1627-g8a6ea0e454 ("Qt: Further cleanup ByteView")
Ping-Bug: 14205
Reviewed-on: https://code.wireshark.org/review/24370
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
QTabWidget::clear() is documented to remove all tabs without deleting
them. As a result, findByteViewTextForTvb will still find ByteViewText
children with freed tvbs. Fix this by deleting the tabs too.
Change-Id: I5b4fdc7154a3804e3bd5f360749e95d178ffe580
Bug: 14199
Fixes: v2.5.0rc0-1532-g56a130a152 ("ByteViewText: Remove epan dependancy")
Reviewed-on: https://code.wireshark.org/review/24339
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
UBSan complains about "ev" being a "QEvent" rather than a QMouseEvent.
Change-Id: I9e59ffbe16df2ef20b7856e6dd2d9ef246632de6
Fixes: v2.5.0rc0-1608-g4d6454e180 ("Qt: Drag n Drop Filter expression from Packet Tree")
Reviewed-on: https://code.wireshark.org/review/24338
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Bug: 14185
Change-Id: I9f52999339d3c34502d4e046e22f05a83fa773bb
Reviewed-on: https://code.wireshark.org/review/24330
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Select the preference value text and give focus when editing
a single preference.
Ping-Bug: 14191
Change-Id: I8d5f91c40118b9d74f1a65f5311aa92dfeb3e1b7
Reviewed-on: https://code.wireshark.org/review/24306
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Select the title text and give focus to the title when Edit Column.
Bug: 14191
Change-Id: I04fc5f6bcc830a15ef43fa2d06a1a729df52e370
Reviewed-on: https://code.wireshark.org/review/24305
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Change-Id: I70c8ca7b5b31d284a12220fc6ce2a764ea9fbe6b
Fixes: v2.5.0rc0-631-g5b3e3ee587 ("Use UAT model for I/O graph")
Reviewed-on: https://code.wireshark.org/review/23366
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This further separates ByteView and the rest of the system.
Using FieldInformation and DataPrinter, this is the final cleanup
of the ByteViewTab
Change-Id: If41521167527cf5664c2564cdd0d45fea0f3f612
Reviewed-on: https://code.wireshark.org/review/22783
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Cleans up the mime type to use a class instead of a mimetype
string
Change-Id: I122ba9b39de86d8e263f2204715911a2b0ac75cd
Reviewed-on: https://code.wireshark.org/review/24286
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Drag and Drop a field from the packet tree to the displayfilteredit
or the toolbar and drop it there to either apply the filter (or prepare
it by holding down the Shift key) or create a new toolbar button
Change-Id: I42645a02223c71315e91e0d58eb1b54ebab4fd58
Reviewed-on: https://code.wireshark.org/review/24280
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
A plugin can register an initialisation function to be called each time
Wireshark opens a new capture file. If plugin_if_get_ws_info(...) is
called from within the initialisation function it does not return the
name of the file being opened. This is because
plugin_if_get_ws_info(...), through calls to a number of other
functions, gets the file name details from a capture_file structure. At
the time of the call to the plugins initialisation function, the
capture_file structure in question has not yet been created.
This change ensures that if plugin_if_get_ws_info(...) is called from a
plugin's initialisation function, the name of the file to be open is
correctly returned. The change also fixes a bug where
plugin_if_ws_get(...) returns an incorrect file state if called from a
plugin initialisation function.
Bug: 14165
Change-Id: I28c85e480db96852e11bbaa14fb1f434b457ed52
Reviewed-on: https://code.wireshark.org/review/24251
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Sometimes when a file opens the timeline does not display, also sometimes when
zooming it disappears.
Change-Id: I141eaef5f332a1de9af133abbeccede7c1cf5502
Reviewed-on: https://code.wireshark.org/review/24209
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Fixing two crashes in the toolbar, first one only appeared on mac,
the second one happens every time the toolbar is removed or updated
Change-Id: Ic3075a5af1b4a566e09bbce9712c968c053cc727
Reviewed-on: https://code.wireshark.org/review/24244
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Remove all dependancy for the byte_view_text from the epan system,
and therefore cleanly separate data and display for further separation
of dissection and view
Change-Id: Id1ee91b93da4511afa95f24da4cbbf39cbb89b1f
Reviewed-on: https://code.wireshark.org/review/24050
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Follow up to having conversions use endpoint_type instead of
port_type.
Change-Id: Ifd59a33bd8b9a013c242bce5fcceb09533f02c17
Reviewed-on: https://code.wireshark.org/review/24172
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
The intention is to make it more transparent when making a switch
to an "endpoint" over address/port combination.
Change-Id: Ic424c32095ecb103bcb4f7f4079c549de2c8d9c4
Reviewed-on: https://code.wireshark.org/review/24148
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
This makes it easier to identify the simpler/common conversations
Change-Id: I7094f23e49156ee27f5f72c8e130308470f3e462
Reviewed-on: https://code.wireshark.org/review/24145
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Previous logic required multiple values from the decode as structure in
order to provide an initial value. This was incorrect and led to
values from protocol not selected showing in the selector column.
Change-Id: If1ad5085f4a6eb8d79fc5dd72be968188051ec4e
Reviewed-on: https://code.wireshark.org/review/24122
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
That allows a parallel typedef of ws_in4_addr for guint32.
Change-Id: I03b230247065e0e3840eb87635315a8e523ef562
Reviewed-on: https://code.wireshark.org/review/24073
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This allows the export of objects with extensions that may be longer
than the allowed file name of an export (due to underlying filesystem, etc).
The extension detection mechanism previously preserved everything in the file
name after the final ".", but in some cases (especially with long query strings)
this would exceed the allowed maximum file length, and simply refuse to export
the object. Now, if the length of the extension and duplicate number is longer
than the allowable file length, the extension is ignored, and the entire string
is truncated to allow an acceptable export filename.
Bug: 14130
Change-Id: I6fa0281519d031c07a9ac621002ac328f34f54cc
Reviewed-on: https://code.wireshark.org/review/23960
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add a button to apply currently selected color as the display filter.
Bug: 14100
Change-Id: Ife3edeb577075f1fe30b649a5655ef5887684d8a
Reviewed-on: https://code.wireshark.org/review/24012
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: If5a172cd69beeb0b9a22eb7f6b9e7cb25f350b49
Reviewed-on: https://code.wireshark.org/review/23968
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
TapParameterDialog::on_applyFilterButton_clicked first calls fillTree to
populate the table and endRetapPackets to add the results to GUI. The
table data must remain valid until closing the dialog since the user can
still interact with the GUI.
Change-Id: Ie3105be78d39c562af52f2b49081552063afcada
Ping-Bug: 14141
Reviewed-on: https://code.wireshark.org/review/23994
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
AUTOUIC fails to generate some ui_*.h files because of a bug that was
fixed in CMake 3.0.2: https://cmake.org/Bug/view.php?id=14981
Change-Id: I964d991c7edefcea55ae43b0768a7fd3503f94a9
Fixes: v2.5.0rc0-1366-gdfa893b1cf ("cmake: set CMAKE_AUTOUIC and CMAKE_AUTORCC to avoid CMP0071 warning")
Reviewed-on: https://code.wireshark.org/review/23993
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
CMake 3.10 adds CMP0071 which results in warnings about applying AUTOMOC
and AUTOUIC on generated files. It somehow tries to do this for files
generated by QT5_ADD_RESOURCES and QT5_WRAP_UI.
As a workaround, just convert from the legacy macros to the new method.
Autogenerated ui_*.h and moc_*.h will now also be shown in the "External
Dependencies" tab in Visual Studio
Change-Id: I36df2212bbf0f938fcd4560000031b6137db93ca
Reviewed-on: https://code.wireshark.org/review/23917
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Need to use UI name to select between different tables.
Change-Id: I2f25435e6ac1a2f1a15e651cd3ef1bbc9e860d89
Reviewed-on: https://code.wireshark.org/review/23952
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
In preparation for possibly using AUTOUIC in CMake which treats "ui_*.h"
files specially, rename ui_util.h. No other changes.
Change-Id: Id026572c000b713ff0e9388dc7fff8d81d4df73e
Reviewed-on: https://code.wireshark.org/review/23916
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Autotools has the very useful feature by design of allowing the user
to override the default build flags (you break it you keep it).
Apparently CMake applies COMPILE_OPTIONS target property after
CMAKE_{C,CXX}_FLAGS so that doesn't work here. Prepend our flags to those
variables instead to make it work then.
Specific target flag overrides can still be added with COMPILER_OPTIONS
(e.g: generated files with -Wno-warning) but this is less effective and
then we're back at the point where this overrides user flags. It's less
of a concern though.
Change-Id: I44761a79be4289238e02d4e781fef0099628817b
Reviewed-on: https://code.wireshark.org/review/23675
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Some menu actions registered at startup are not freed at shutdown
making Valgrind complain. Fix by clearing the lists holding them
and making sure all actions have a parent to free them.
Bug: 14071
Change-Id: I8d99d062d394a7262b0f9b7ddea4ed71049636ac
Reviewed-on: https://code.wireshark.org/review/23793
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Some dialogs are allocated on heap but not freed when the dialog
boxes are closed. This means one dialog instance is leaked each
time opened/closed. Also dialogs being subclasses of
GeometryStateDialog means they might lack a parent reference and
are not automatically freed on application shutdown either.
Fix these leaks by letting the dialogs automatically destroy
themselves on close (via WA_DeleteOnClose).
Capture filter, display filter and capture interfaces dialogs are
also leaked on application shutdown. These dialogs are protected by
a NULL check that at least prevent multiple instances. Though
none of them are freed on application shutdown. Fix leaks by
freeing when main window is destroyed.
Bug: 14071
Change-Id: I8c5c5a75ad3c89abb5996941875ba5d616a22d9c
Reviewed-on: https://code.wireshark.org/review/23747
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Added new user preference 'restore_filter_after_following_stream',
defaults to false.
When true, the current display filter is restored after following a stream.
Change-Id: I153107761003658c6d7f1464711da7b3adeb60a8
Reviewed-on: https://code.wireshark.org/review/22455
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
For both autotools and cmake, the top-level source directory is always
part of the search path for include files. For include files in this
directory, we can simply use the file name. There's no need for a
relative path.
Change-Id: Ibf46265d91b5cb9bff4fa791e5b1d69ee3c1e165
Reviewed-on: https://code.wireshark.org/review/23798
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
It's not installed so like most other files it doesn't need or benefit
from the prefix.
Change-Id: I01517e06f12b3101fee21b68cba3bc6842bbef5c
Reviewed-on: https://code.wireshark.org/review/23751
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
MainWindow is allocated on heap on startup but not freed on shutdown.
Free the object at shutdown mainly to silent Valgrind.
When at it also fix two problems with the MainWindow destructor:
- Deleting main_ui_ triggers a currentChanged signal which in turn
calls mainStackChanged that references the freed main_ui_ object.
Prevent use after free error by disconnecting from the signal before
freeing.
- Explicitly free file_set_dialog_ as no rparent perform the cleanup.
Bug: 14071
Change-Id: I9c1fbef04cf68bfffffea57ef298f4896d6583f9
Reviewed-on: https://code.wireshark.org/review/23739
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
The array of ws80211_interface:s is not freed when the wireless
frame is destroyed causing minor leaks. Fix leaks by freeing the
array using appropriate utility function.
Bug: 14071
Change-Id: I35ec578062bfee4a4f0d0ac05a6d7613996a8822
Reviewed-on: https://code.wireshark.org/review/23738
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Sequence analysis has its own "filtering" system that required its
tap functions to look for some "filter flags". register_tap_listener()
already comes with a filter argument, so use that to simplify logic
of tap functions in dissectors.
Also have Qt GUI for Flow Graph look like other dialogs that have a
"Limit to display filter" checkbox.
Change-Id: I91d9d9599309786892f5b50c98692e52651e7174
Reviewed-on: https://code.wireshark.org/review/23659
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Add flow graph functionality to tshark through -z option.
Output is same as ASCII format saved from GUI.
Change-Id: Iee0bfea7215858e6488b4728581be28287e9ea1a
Reviewed-on: https://code.wireshark.org/review/23652
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Since dissectors are now populating the timestamp of the seq_analysis_item_t
structure within the tap function, don't have the sequence_anaylsis redo it
when writing an ASCII file. This removes the need for the capture_file
parameter and simplifies the logic a bit.
Also just have GUI register the tap itself. It will provide for some more
flexibility in the future.
Change-Id: I55b2f951b977ea70ac9f7eb4929245b0779e5f0e
Reviewed-on: https://code.wireshark.org/review/23650
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Display separate entries for binary plugins and lua scripts.
This is explained in the user guide, that the binary folder is
a subfolder of the lua folder, but it's probably a good idea to be more
explicit about it, at the risk of cluttering the interface a bit.
Move GeoIP information down because it seems the least important.
Add helper functions to provide plugin version subdir.
Change some #ifdefs while at it for legibility.
Change-Id: Ieb8665df029b3c14de19e2c973bd9b1cc4ec4621
Reviewed-on: https://code.wireshark.org/review/23609
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Adds a checkbox to the TCP Stream Dialog's "Round-trip-time"
graph tab that allows user to choose sequence number
on the x-axis rather than time.
Bug: 13740
Change-Id: Iaf881318437c7eecd16cf6c1f8745283ce9b4a7d
Reviewed-on: https://code.wireshark.org/review/23376
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Calling QPushButton.setMenu and QMenu.addMenu does not transfer ownership
of the menu. Fix some leaks by letting "receiving" object act parent
for the menu object.
Bug: 14071
Change-Id: Id4edaf895503ef5dd4597eac99c2cdd6ad09b2ff
Reviewed-on: https://code.wireshark.org/review/23600
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Reduce all of the code duplication and just register the sequence
analysis functionality in LBM dissector.
Change-Id: I6cb5a7f0a92b04357334bbae301fa2d730a21994
Reviewed-on: https://code.wireshark.org/review/23630
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
WS_DLL_PUBLIC const char *get_plugin_dir(void);
WS_DLL_PUBLIC const char *get_plugins_pers_dir(void);
Opt for the plural form consistently (for public functions at least).
Change-Id: I8a5861ad7f90f9c87168bd3275bd9dbc5c83b749
Reviewed-on: https://code.wireshark.org/review/23608
Petri-Dish: João Valverde <j@v6e.pt>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The refactored DecodeAsDialog class has no setCaptureFile slot any more.
It seems it's always in the foreground and there's no way to change the
capture file while the DecodeAsDialog is active.
The dangling connection caused a warning
QObject::connect: No such slot
DecodeAsDialog::setCaptureFile(capture_file*)
in ../ui/qt/main_window_slots.cpp:2881
QObject::connect: (sender name: 'MainWindow')
QObject::connect: (receiver name: 'DecodeAsDialog')
Change-Id: Ibb12b9cdded3c6b7cca40ce08874bc4f1af4eec7
Reviewed-on: https://code.wireshark.org/review/23623
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
1. Remove protocol member from seq_analysis_item_t.
It's not used by any GUI, so don't burden dissectors with populating it.
2. Allow any dissector to change colors display by flow graph
3. Provide helper functions that may be common if other dissectors
want to create sequence analysis.
Change-Id: I04fa3c9f3cf6879ab9a8d7d6f4896b4979d010d7
Reviewed-on: https://code.wireshark.org/review/23613
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
The QWidget::setStyle method does not transfer ownership of supplied
style object. Fix leak by letting OverlayScrollBar free styles
created.
Bug: 14071
Change-Id: Ibc14cadfc6d012e8a909be21b4f8974009fa75f5
Reviewed-on: https://code.wireshark.org/review/23601
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
- Use QToolButton for "Filter Buttons Preferences..." button
- Remove QVBoxLayout layout for Cancel and OK buttons
Change-Id: Ic5d4e96ca1c421750dc45f81a7d15f8ad637649d
Reviewed-on: https://code.wireshark.org/review/23606
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Create registration system to allow creation of analysis items
to be localized to the dissector. For now only frame (all) and
TCP are supported.
VOIP functionality will be covered in a separate patch.
Change-Id: I5b05ef6d5afff8d0b162b03a0f451ab810602e81
Reviewed-on: https://code.wireshark.org/review/23571
Reviewed-by: Michael Mann <mmann78@netscape.net>
../../../ui/qt/models/decode_as_model.cpp: In member function ‘virtual QVariant DecodeAsModel::data(const QModelIndex&, int) const’:
../../../ui/qt/models/decode_as_model.cpp:155:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
Change-Id: I29654a0f6ce6cce7bc778231bc8d6e602875104f
Reviewed-on: https://code.wireshark.org/review/23589
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Use common validation checks for fieldsNameLineEdit and occurrenceLineEdit.
No need to check for COL_CUSTOM and empty occurrence because this will
give a valid value anyway.
Change-Id: I8981a15954e9a55a9a43e4a5760b34d83aa2e1ca
Reviewed-on: https://code.wireshark.org/review/23584
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
The correct way is to not name the variable.
interface_tree_cache_model.cpp is one of the exceptions: Use Q_UNUSED in a conditional compile, instead of unconditionally.
Change-Id: If561e632a3a60d2424f454202f233e9a63926e78
Reviewed-on: https://code.wireshark.org/review/23570
Reviewed-by: Jörg Mayer <jmayer@loplof.de>