Commit Graph

88 Commits

Author SHA1 Message Date
Alexis La Goutte 15b53b6892 wireshark_zip_helper(Qt): fix no previous prototype for function
wireshark_zip_helper.cpp:153:15: warning: no previous prototype for function 'qDateToDosDate' [-Wmissing-prototypes]

Change-Id: Ic9ffb4219321347c077e08931d6fe51bc1702a29
Reviewed-on: https://code.wireshark.org/review/36889
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-04-20 16:21:32 +00:00
Martin Kaiser 759fb119a7 FrameInformation: fix a crash in the destructor
It's possible to create a FrameInformation object that's not backed by
any frame data. In this case, fi_ is NULL and loadFrameTree() does not
run a dissection. However, we run epan_dissect_cleanup() unconditionally
in the destructor, even if edt_ is uninitialized. This causes a crash
when wireshark is closed.

Convert edt_ into a pointer. Run the cleanup only if we ran the
dissection before.

The issue can be reproduced by applying a display filter that makes the
list of the packets smaller than the packet list window. Right click
onto an "empty" part of the packet list and select "Mark/Unmark Frame".
Exiting wireshark at this point causes a segmentation fault

Thread 1 "wireshark" received signal SIGSEGV, Segmentation fault.
tvb_free_chain (tvb=0xf000e000d000c) at ../epan/tvbuff.c:124
124			tvb_free_internal(tvb);
(gdb) bt
 #0  tvb_free_chain (tvb=0xf000e000d000c) at ../epan/tvbuff.c:124
 #1  0x00007ffff430491e in epan_dissect_cleanup (edt=0x555558075b48) at ../epan/epan.c:648
 #2  0x00005555558fa5a6 in FrameInformation::~FrameInformation (this=0x555558075b20,
         __in_chrg=<optimized out>) at ../ui/qt/utils/frame_information.cpp:57
 #3  0x00005555558fa5e9 in FrameInformation::~FrameInformation (this=0x555558075b20,
         __in_chrg=<optimized out>) at ../ui/qt/utils/frame_information.cpp:55
 ...
 #12 0x00005555559a74f7 in PacketList::~PacketList (this=0x55555602e930,
         __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1130

Change-Id: I347dd4901b4e08c37008ff25ac1f20a67555d9fd
Reviewed-on: https://code.wireshark.org/review/36825
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-04-15 14:27:39 +00:00
Tomasz Moń c07a48b6d3 Qt: Fix profile zip import on Windows
Do not use QDir::separator() as a directory separator. QT internally
uses "/" as separator on all systems, including Windows. The zip files
were not unzipped into target directory because splitting path on
QDir::separator() in ProfileModel::cleanName() returned only one part
(there weren't any "\' in file name, only "/").

Qt documentation for QDir::separator() mentions:
  "You do not need to use this function to build file paths.
   If you always use "/", Qt will translate your paths to conform to
   the underlying operating system. If you want to display paths to
   the user using their operating system's separator use
   toNativeSeparators()."

Bug: 16410
Change-Id: I9627684f58f4c1da24b6eec8958a2542fe07d915
Reviewed-on: https://code.wireshark.org/review/36237
Petri-Dish: Tomasz Moń <desowin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2020-02-29 10:15:29 +00:00
Jim Young e85cbd57c6 Qt: Suppress warning: unused parameter 'actions'
In set_action_shortcuts_visible_in_context_menu() the parameter
'actions' is only used by a subset of Qt versions. Mark it unused
in the other cases.

Change-Id: I210eafcdffb8484751b656f58cc7813cb98d259f
Reviewed-on: https://code.wireshark.org/review/35800
Petri-Dish: Jim Young <jim.young.ws@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2020-01-14 06:33:49 +00:00
Gerald Combs 48024b102d Qt: Make sure shortcuts are visible in context menus.
As of Qt 5.10, context menu shortcuts can be hidden:

https://bugreports.qt.io/browse/QTBUG-61181

Add set_action_shortcuts_visible_in_context_menu to qt_ui_utils and call
it for our context menus as needed. For Qt 5.{10,11,12} it calls
QAction::setShortcutVisibleInContextMenu(true).

For Qt 5.13 and later, call
QStyleHints::setShowShortcutsInContextMenus(true) in
WiresharkApplication.

Change-Id: Ie8941951c3a9801b4642f4ce15ac217e37d1300f
Reviewed-on: https://code.wireshark.org/review/35761
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2020-01-13 18:58:28 +00:00
Gerald Combs d614ade782 De-camel-ize "Wireshark" in a few places.
The _wslua_main struct / WireShark class appears to have never been
used, so remove it.

Change-Id: Id80fb2c2065accedf632ea4cc467d566d10870de
Reviewed-on: https://code.wireshark.org/review/35480
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-12-18 04:31:03 +00:00
Gerald Combs 5b78bbfc02 Qt: Update ColorUtils::themeLinkBrush.
Qt 5.12.6 fixed the dark mode link color on macOS. Update themeLinkBrush
accordingly.

Ping-Bug: 15511
Change-Id: I9d89bf3ef9c8a9b8c14dc5f435b9cdbb30fca2aa
Reviewed-on: https://code.wireshark.org/review/35126
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-18 21:23:51 +00:00
Stig Bjørlykke a51c58fa1b Qt: Cleanup space inside parentheses
Remove randomly used space inside parentheses to make the coding
style uniform. Add space after if, for and while.

Change-Id: I519f5994b6f73d8a57a5004d51ca460276c618fe
Reviewed-on: https://code.wireshark.org/review/35112
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-17 20:43:10 +00:00
Roland Knall 013e87a8fd Qt: Remove DisplayFilterMimeData
Make the mimetype for the display filter more generic, so that external
programs can attach to Wireshark and users can drag and drop display
filters to the program

Change-Id: Id78b4dff7883e3dab879a31aad07f577d8cc4ee3
Reviewed-on: https://code.wireshark.org/review/34936
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-11-04 11:39:48 +00:00
Roland Knall accd563aaf Qt: Consolidate mimedata usage
Ensure, that all mimedata uses similar mimetypes and document
the mimetypes being used throughout wireshark

Change-Id: I7c02d0a5e12a823153640e600051abb95d58cdeb
Reviewed-on: https://code.wireshark.org/review/34923
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-03 15:45:34 +00:00
Roland Knall a3e3a73a82 Qt: Move Filterbuttons to display filter
Allow filterbuttons to be dragged to the display filter
bar

Change-Id: I25e87d0ca86fc7437a20994800bec164ccffef27
Reviewed-on: https://code.wireshark.org/review/34838
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-10-25 13:47:13 +00:00
João Valverde c60708d978 Fix build on Fedora 30 (minizip)
Fedora 30 changed the minizip-devel package from the old unsupported
minizip library from zlib to a fork[1].

The new minizip headers don't include zlib.h anymore.

[1]https://github.com/nmoinvaz/minizip

Change-Id: I29fdf1c0445138b86a012bfc79287a480977b0a6
Reviewed-on: https://code.wireshark.org/review/34637
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: João Valverde <j@v6e.pt>
2019-09-29 19:33:55 +00:00
Roland Knall a53545c0c8 Qt: Add macro for g_list_next for C++
Using a simple (type *) cast on g_list_next results in a warning
with modern compilers "old-style cast"

Adding a warning for g_list_next and data access to avoid the warning

A good overview why reinterpret_cast has been used can be found here:

https://stackoverflow.com/questions/332030/when-should-static-cast-dynamic-cast-const-cast-and-reinterpret-cast-be-used

It is a 1:1 replacement in this case, but does not use any of the new
cast styles and therefore should be used with caution.

Change-Id: I989f237afc39aaf40133a788b1c0bbd7a51bf974
Reviewed-on: https://code.wireshark.org/review/34284
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-08-30 13:37:25 +00:00
Alexis La Goutte dd7b09e49c Qt (zip_helper): Fix Dead Store
Fix dead store (Dead assignement/Dead increment) Warning
found by Clang

Change-Id: Ib16fc6c0783adda8485056d5e20973cf078e7d7e
Reviewed-on: https://code.wireshark.org/review/34321
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-08-26 09:50:04 +00:00
Roland Knall d4ddf3d8bb Qt: Fix null pointer dereference
Rework existing code to avoid unsafe localtime

Change-Id: I266ae7e006c6aeed42af39fea07c888874d0f588
Reviewed-on: https://code.wireshark.org/review/34329
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-08-20 10:52:18 +00:00
Roland Knall 2a32808e50 Qt: Import zips with illegal names
If a profile import contains illegal path names inside the zip
container, the illegal names are being filtered out and replaced with an
underscore

Change-Id: I4e1bc495156b8c1cd3f4dfca69604e880647f74e
Reviewed-on: https://code.wireshark.org/review/34220
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-08-13 08:16:50 +00:00
Stig Bjørlykke b09f249a13 Qt: Fix memory leak in zip helper
Memory allocated with malloc must be freed when done.

Change-Id: I03fe15232cf589b4af3591018e842cf296e7ee2c
Reviewed-on: https://code.wireshark.org/review/34120
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-07-29 13:37:05 +00:00
Guy Harris 5cf3fd03f1 HTTPS In More Places, update some URLs.
Change-Id: Ice2e1e2e4d94f6c9da7c651866cfa1a8ac4a31d8
Reviewed-on: https://code.wireshark.org/review/34096
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-07-27 07:55:36 +00:00
Guy Harris 20800366dd HTTPS (almost) everywhere.
Change all wireshark.org URLs to use https.

Fix some broken links while we're at it.

Change-Id: I161bf8eeca43b8027605acea666032da86f5ea1c
Reviewed-on: https://code.wireshark.org/review/34089
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-07-26 18:44:40 +00:00
Roland Knall 970524e329 Qt: Export profiles
Allow for the export of profiles. The currently selected profile may be
selected, as well as all user-defined profiles

Fixes: Bug, where invalid data has been written into the profiles not
present inside the original file

Change-Id: I7c6310920a1f3a064cfcedc7774b742ff01c9b9e
Reviewed-on: https://code.wireshark.org/review/34077
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-07-25 18:00:24 +00:00
Roland Knall 390071ed0b Qt: Import Profile information
Allow easy import of profiles. Profiles must be stored inside
a zip file, with no additional hierarchy.

Change-Id: I0ae77460c20ef6b3e447906e671b0cefa6b9b032
Reviewed-on: https://code.wireshark.org/review/33881
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-07-17 18:25:11 +00:00
Gerald Combs 8d2b635354 Qt: Fix our template icon appearance on LoDPI screens.
When creating a pixmap for a template icon, don't bother setting its
device pixel ratio. Otherwise it will interfere with QIcon's size
calculations.

Change-Id: I8c89ce49c57d558ae48baf9c31227898c0f7f9ca
Reviewed-on: https://code.wireshark.org/review/33919
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-07-13 09:16:17 +00:00
Peter Wu a854811c4a Qt: fix more more Qt 5.13 deprecation warnings
Potential functional changes:
- rect_on_screen: the new function no longer subtracts the space needed
  for the dock, task bar, etc.
- fontMetrics().width(text) -> fontMetrics.boundingRect(text).width():
  the bounding box width could be larger than horizontalAdvance(text).
  For the bytes view, they should be the same due to monospace font.
  The display filter field calculation was made more accurate (it
  assumes that textMargins() is 0 which is the default).

Change-Id: I70b7937f9215d3bef278befdac7c36a023ffff84
Reviewed-on: https://code.wireshark.org/review/33770
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-06-30 13:08:13 +00:00
Gerald Combs c4a0ca271f Qt: Fixup our template icon generation.
Use generatedIconPixmap() to generate our template icon variants.

Change-Id: Ie952f0d02309420c6e8e347e031f37c5f43cdb9e
Reviewed-on: https://code.wireshark.org/review/33758
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-06-27 19:32:15 +00:00
Gerald Combs a7052d4ea9 Qt: Make sure we create template icons for all modes.
When creating a StockIcon based on a template, make sure we add pixmaps
for each icon mode.

Change-Id: Ia894229132e18a22a59797c8fb4590bc09508ba0
Reviewed-on: https://code.wireshark.org/review/33740
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-06-26 16:23:38 +00:00
Gerald Combs 94f497f929 Qt: Use a lighter link color in dark mode.
Add ColorUtils::themeLinkBrush, which returns a readable link color in
dark mode. Use it in place of existing ...palette().link() calls.

Add ColorUtils::themeLinkStyle, which produces an HTML <style/> block
that lightens the link foreground color in dark mode. Use this to style
links in the about box and in elided labels.

Catch ApplicationPaletteChange events where needed.

Add dark theme / dark mode notes to the WSDG.

Ping-Bug: 15511
Change-Id: I92925bd997f97b155491f55a8c818f03549bc7f4
Reviewed-on: https://code.wireshark.org/review/33704
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-06-25 20:31:41 +00:00
Gerald Combs 737b7eb6c6 Qt: Handle ApplicationPaletteChange events in the welcome page.
Update our various welcome page style sheets when we receive an
ApplicationPaletteChange event.

It looks like ApplicationPaletteChange is the proper way to detect a
system-wide theme change, since we can infinitely recurse if we hold
things wrong inside a regular PaletteChange event (I'm guessing setting
CSS background and foreground colors were the culprits in this case).
Switch from PaletteChange to ApplicationPaletteChange everywhere.

Ping-Bug: 15511
Change-Id: I6e7aa627d9ca1d1d3872ab31620ea5c579061191
Reviewed-on: https://code.wireshark.org/review/33703
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-06-23 06:14:16 +00:00
Gerald Combs 178e7ce9a5 Qt: Filter expression toolbar dark mode updates.
Move plus-8.png to stock_icons/8x8 and rename it list-add.template.png
which conforms to the Freedesktop icon naming specifications and makes
it a template icon.

Update our style sheet when we recive a QEvent::PaletteChange.

Ping-Bug: 15511
Change-Id: I4b8ddcb4eb64f11faec21d5df4a3fd7fdc5cf488
Reviewed-on: https://code.wireshark.org/review/33626
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>
2019-06-17 00:46:21 +00:00
Roland Knall 64badc5a3a Qt: Allow Drag-and-drop on info and protocol
Allow for drag-and-drop on info and protocol columns. Protocol columns
may also be dragged to the display filter, everything else is dragged
as plain-text and can just be used as text

Change-Id: I0fff390580c22175efe50037b18d7199949fd8eb
Reviewed-on: https://code.wireshark.org/review/33621
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-06-16 21:07:27 +00:00
Roland Knall e4713e8745 Qt: Fix drag-and-drop from packet list
Only initiate drag-and-drop when the left mousebutton has been
clicked, and also add the filter as plain text, so to enable
dragging to external applications.

Change-Id: I2f6ac7f9c543d003070c2a6c0ce671ed5a215669
Reviewed-on: https://code.wireshark.org/review/33620
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-06-16 21:07:21 +00:00
Dario Lombardo 4e1e2d9af1 Qt: fix typo in stock_icon.
Change-Id: I08fad08ba07bca0fc682f588ad91056a7191adb4
Reviewed-on: https://code.wireshark.org/review/33610
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-06-15 18:28:38 +00:00
Gerald Combs b94047c606 Qt: Add support for template icons.
Add support for ".template" icons, which are masked against the current
WindowText color. Convert the edit-find icons to templates.

Reload our icon(s) when we receive a QEvent::PaletteChange in MainWindow
and in StockIconToolButton.

Clean our SVGs.

To do:
- Convert other black or mostly black icons to templates.
- Handle QEvent::PaletteChange in more places.

Ping-Bug: 15511
Change-Id: I1ce78d92e769861dc38d86a3def5116fb869e2bf
Reviewed-on: https://code.wireshark.org/review/33571
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>
2019-06-13 18:02:50 +00:00
Guy Harris 89f339afa2 Hava a routine to read the currently-selected frome.
Have cf_read_current_record() take a capture_file as an argument and
read, into its wtap_rec and Buffer for the currently-selected frame,
information for the currently-selected frame.

Rename cf_read_record_r() to cf_read_record().

That gives us 1) a routine that reads the currently-selected frame into
the wtap_rec and Buffer for the currently-selected frame and 2) a
routine that reads an arbitrary frame into the wtap_rec and Buffer
supplied to it.  If you *want* the currently-selected record, use the
former, otherwise use the latter.

Change-Id: If6bd5915dd5bc18334d7b89859822a19234153a4
Reviewed-on: https://code.wireshark.org/review/32858
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-15 05:54:41 +00:00
Guy Harris 937ec02581 1514 is a better initial Buffer size than 1500.
Ethernet packets without the CRC are 1514 bytes long, not 1500 bytes
long; using 1514 bytes will avoid a reallocation for a full-sized
Ethernet packet.

Change-Id: Ie8da3f13bf3df07e23e4478b7dcf84f06dec6a9d
Reviewed-on: https://code.wireshark.org/review/32761
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-06 21:04:02 +00:00
Peter Wu f0a2b8303a Revert "Get rid of the per-capture_file wtap_rec and Buffer."
This reverts commit 9445403f95.

cf_select_packet frees the buffer backing the dissection result
(cf->edt) which results in use-after-frees when callers try to access
the contents. See for example this call trace:

* PacketList::selectionChanged
  * cf_select_packet(cap_file_, row)
  * frameSelected(row) -> ByteViewTab::selectedFrameChanged
    * addTab(source_name, get_data_source_tvb(source))

get_data_source_tvb returns the buffer that backs the dissection and
must remain valid even after dissection has completed. If this is not
done, then a possibly expensive redissection must be done in order to
populate the byte view. The temporary memory savings are not worth it.

Bug: 15683
Change-Id: Ia5ec2c7736cdebbac3c5bf46a4e2470c9236262d
Reviewed-on: https://code.wireshark.org/review/32758
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-06 20:00:57 +00:00
Guy Harris 9445403f95 Get rid of the per-capture_file wtap_rec and Buffer.
Most code that reads from a capture_file already has its own wtap_rec
and Buffer; change the remaining ones to do so as well.

Change-Id: I9b7c136642bbb375848c37ebe23c9cdeffe830c3
Reviewed-on: https://code.wireshark.org/review/32732
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-05 08:15:40 +00:00
Gerald Combs 8d3ac3af86 epan: Convert our PROTO_ITEM_ macros to inline functions.
Convert our various PROTO_ITEM_ macros to inline functions and document
them.

Change-Id: I070b15d4f70d2189217a177ee8ba2740be36327c
Reviewed-on: https://code.wireshark.org/review/32706
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-04-04 04:03:38 +00:00
Gerald Combs c287fe2853 Qt: Fix our ColorUtils::themeIsDark comparison.
Change-Id: Ice109cdd5451b67651f10da7e4001d6d4cb0c7f0
Reviewed-on: https://code.wireshark.org/review/32506
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>
2019-03-22 05:19:27 +00:00
Gerald Combs 781fb82045 Qt: Add display information to the About dialog.
Add ColorUtils::themeIsDark and use it to report our dark / light mode
in the "About" dialog. Summarize the HiDPI capability of our displays as
well.

Change-Id: I242af1eb48017d49b90e71099bb753e67a8dd32b
Reviewed-on: https://code.wireshark.org/review/32115
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-02-21 00:06:39 +00:00
Stig Bjørlykke 546cb25256 Qt: Fix copy ASCII characters from ByteView
Only copy ASCII characters when doing "Copy Bytes as Hex + ASCII Dump"
from the ByteView. This is what we do in all other Hex Dumps.

Also change the parameter name to reflect this.

Change-Id: I63cc79ffa014fd9aa50c84d765ee168f0b1ea44a
Reviewed-on: https://code.wireshark.org/review/31442
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-01-08 16:21:41 +00:00
Gerald Combs 03eb0a4159 Qt: Switch models and DataPrinter to new-style signals and slots.
Change-Id: I56ecf0486c19dbd7a330628f2fe36d0a2c11b5da
Reviewed-on: https://code.wireshark.org/review/31187
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>
2018-12-24 07:38:21 +00:00
Peter Wu 6ca646efc8 Qt/FrameInformation: read packet record in private buffer
To prevent potential interference with other users of the capture file,
read data in a private buffer instead of reusing the one from capFile.

Change-Id: I6d689440e0cc13ef522e874fd8e5795a97a6aca7
Reviewed-on: https://code.wireshark.org/review/29922
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-09-30 16:35:05 +00:00
Peter Wu 91030a16aa Qt/FrameInformation: do not use file-scoped memory for temporary data
Let QByteArray own the memory instead of wmem to allow memory to be
released earlier.

Change-Id: Ibf6d1a56120d30daea76924b8006480854dcfbd3
Reviewed-on: https://code.wireshark.org/review/29923
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2018-09-29 19:12:13 +00:00
Martin Boye Petersen 7b37c5c180 Qt: Add null check for finfo and hfinfo
Adding the null check fixes a bug that made wireshark crash
when right clicking a subtree which doesn't have any preferences
and if none of the parents had one either.

The problem was introduced in commit 589413d877

Change-Id: Ia5bbae0a58298f3e9d912e44f33589da1cbfacc9
Reviewed-on: https://code.wireshark.org/review/29455
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-09-07 08:33:51 +00:00
Peter Wu 8da4777440 Qt: fix memleaks on opening a context menu
FrameInformation was never deallocated, leaking the whole pinfo scope.
Fix a dealloc-alloc-mismatch (packet_data_ was g_memdup'd). Attach the
DataPrinter menu actions to the action group instead of the singleton
DataPrinter instance, this enables freeing the actions when the submenu
is gone rather than clearing this at program exit.

Reported by ASAN.

Change-Id: If13af94a60b07b0e52973ccc5c437ef987bfb394
Fixes: v2.5.0rc0-1627-g8a6ea0e454 ("Qt: Further cleanup ByteView")
Reviewed-on: https://code.wireshark.org/review/27844
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-30 08:20:42 +00:00
Alexis La Goutte b5cba9ea11 qt_ui_utils: fix issue found by PVS Studio (V519)
The 'val_qstr' variable is assigned values twice successively

Change-Id: I5cc80a3e68c08330ac3bbb7c8c45db105d7fb865
Reviewed-on: https://code.wireshark.org/review/27599
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-17 04:25:42 +00:00
Stig Bjørlykke 14720ace06 Fix comment end after SPDX identifier
Move */ to a separate line below the SPDX identifier.

Change-Id: Id1032215449cfccae0933147b45e04b65e0b727f
Reviewed-on: https://code.wireshark.org/review/27211
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-01 06:56:37 +00:00
Michail Koreshkov 5fd4659164 QT: Copy as printable
Copy all printable characters (like in GTK-based) but not only letters

Change-Id: I5e431d0c52d65c5867f4893c86b6f0eb3f535972
Reviewed-on: https://code.wireshark.org/review/26757
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-05 21:03:11 +00:00
Dario Lombardo c462fa8936 Qt: remove ws_buffer_start_ptr calls from clang-scan.
They are false positives.

Change-Id: I06b5c2d2f7f462143050ffd4a624f76a440d5d5a
Reviewed-on: https://code.wireshark.org/review/26729
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:51:09 +00:00
Roland Knall 3a928f1f87 Qt: Remove checks for version below 5.2
This stops the main source from being buildable by Qt 4.x

Change-Id: I61edbae04ac2b3bf0ae8ee8e09d335083945c176
Reviewed-on: https://code.wireshark.org/review/26756
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:48:57 +00:00