These "bases" will put a ".", "-", or ":" respectively between hexidecimal bytes in the field in packet view and display filter. FT_BYTES with BASE_NONE will have no separator in the packet view, but continue to have the ':' as a separator in the display filter.
Converted the "string" hf_ entries that used tvb_fc_to_str as a string to use proto_tree_add_item with FT_BYTES/BASE_DOT type.
Converted applicable tvb_bytes_to_ep_str_punct() calls to use the new BASE values.
Change-Id: I2442185bb314d04a3ff2ba57883652ecd738b5f9
Reviewed-on: https://code.wireshark.org/review/6098
Reviewed-by: Michael Mann <mmann78@netscape.net>
If a file in the same directory as config.h, e.g. wireshark-qt.cpp
has a #include "config.h", or another header it includes also has
a #include "config.h", then an out-of-tree build, e.g. CMake will
pick up any in-tree config.h and odd things may happen. The correct
form is #include <config.h> which will pick up the out-of-tree
version.
To find this, introduce a deliberate error and then make an out-of-tree
build, noting where it fails and fix that file. If that file includes
other files that still cause the build to fail, set the compiler
to emit the pre-processed version so you can locate the include with
the next errant "config.h". Repeat ad nauseum.
Possibly all includes of "config.h" should be changed to <config.h>
Revert "CMake: Clobber the top-level config.h before we build."
This reverts commit 1f3849ce61.
Ping-Bug: 10301
Change-Id: Ie567e7cc696fd48f3e730fc27032c5d2a7d8f341
Reviewed-on: https://code.wireshark.org/review/6285
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Do not use delete on g_allocated memory
Change-Id: I84e0adc65c45520916adb9b2f6d46ca3f144486e
Reviewed-on: https://code.wireshark.org/review/6207
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Some don't appear to be necessary at all, as ui/qt/main.cpp doesn't do
very much (most of the work is done in various class implementations,
including WiresharkApplication), and a few only appear to be necessary
on Windows.
Change-Id: Ic9eae65e77e2425144f7fe4885fc865fcf6ab1ff
Reviewed-on: https://code.wireshark.org/review/6196
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Have them start the string with "Compiled" or "Running on", and return
the string when done.
Change-Id: Ic4d290c963621fa0385dc5aab766fd4ad31d3810
Reviewed-on: https://code.wireshark.org/review/6155
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Make the Sequence, IO Graph, Statistics Tree, and VoIP Calls dialogs
subclasses of WiresharkDialog.
Remove "Stats Tree" from Statistics Tree dialog titles. Don't complain
if the user opens more than one instance of the dialog.
Use the applicationName property in WiresharkApplication instead of a
separate variable.
Add a preexisting item to the IO Graph bug list (hovering when the file
is closed clears the graph).
Change-Id: I8411a25305d00b16e0d4a82fa50a9bad5c85b239
Reviewed-on: https://code.wireshark.org/review/6125
Reviewed-by: Gerald Combs <gerald@wireshark.org>
-z "follow,udp" tshark cli command now supports a stream index
It is now possible to select the UDP stream displayed in Qt GUI (like for TCP)
Change-Id: Ia367f36ea4f60db0fddb997a7e0903c09e172f2d
Reviewed-on: https://code.wireshark.org/review/6083
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Change-Id: I6689f5a95c6dc051d660198fd58ae96967f3468f
Reviewed-on: https://code.wireshark.org/review/6116
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: Ibc512f03913d77a6c4f0cdbcf5141efbd94b22f0
Reviewed-on: https://code.wireshark.org/review/6115
Reviewed-by: Michael Mann <mmann78@netscape.net>
Add WiresharkDialog, a common base class for dialogs centered around
capture files. Make it a parent of Capture File Properties, Traffic
Table, Conversations, and Endpoints.
Rename CaptureFile::read_only_ to file_closed_. Add methods to
WiresharkApplication for generating consistent window titles.
Change-Id: Idc771556d8192e60f85dddc08fc4757698dee257
Reviewed-on: https://code.wireshark.org/review/6097
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Change-Id: I1d258923a7a63539ec8456d3e306bca5016a1e4b
Reviewed-on: https://code.wireshark.org/review/6060
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
That way:
1) we don't have to worry about the system getopt() and our
getopt_long(), on platforms that have getopt() but not
getopt_long() (Solaris prior to Solaris 10, HP-UX, AIX), not
working well together;
2) if necessary, we can handle long options in the first pass.
Switch to using getopt_long() for the *second* pass for the GTK+ version
of Wireshark.
Use the documented mechanism for resetting the argument parser for the
glibc version of getopt_long(); use the mostly-undocumented-but-at-least-
they-documented-optreset mechanism for the *BSD version.
(We should look into doing only one pass, saving away arguments that
can't fully be processed in the first pass for further processing after
initializing libwireshark.)
Change-Id: Ide5069f1c7c66a5d04acc712551eb201080ce02f
Reviewed-on: https://code.wireshark.org/review/6063
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Change-Id: I40d0c8253743183aecef252040b7dd6742ae5c71
Reviewed-on: https://code.wireshark.org/review/5934
Reviewed-by: Michael Mann <mmann78@netscape.net>
We support three types of platforms:
1) UN*Xes that have both getopt() and getopt_long();
2) UN*Xes that have getopt() but not getopt_long();
3) Windows, which has neither.
Checking for getopt_long() lets us distinguish between 1) and 2) and
build getopt_long() for them.
Change-Id: Iaf0f142f9bebaa2eed2128d544ec9786711def45
Reviewed-on: https://code.wireshark.org/review/6045
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Wireshark UI files into a single one in wsutil.
Change-Id: I0a64f0cc8106bd681bd185289c36272c4c43baad
Reviewed-on: https://code.wireshark.org/review/6026
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
Change-Id: Ia2ba40a4fc284dbf3da8e27edf336a4e27cdb4e3
Reviewed-on: https://code.wireshark.org/review/6000
Reviewed-by: Michael Mann <mmann78@netscape.net>
Add isValid, fileTitle, and retapPackets methods to CaptureFile. Add
application name and title separator convenience methods to
WiresharkApplication.
Convert traffic tables, conversations, and endpoints to use CaptureFile
directly and to let the user know when the capture file is closed. Set
the file dialog titles while we're here.
Change-Id: I990392786d3833e1e0b3638aa2d34a5ada39fa13
Reviewed-on: https://code.wireshark.org/review/5957
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Calling invalidate + activate on the parent layout has better results
than calling adjustSize on the parent widget.
Change-Id: I844bee49b868d988b0fc93a72687407adf232ef9
Reviewed-on: https://code.wireshark.org/review/5951
Reviewed-by: Gerald Combs <gerald@wireshark.org>
As the Capture File Properties window content is kept once the capture is closed, allow to copy it
Change-Id: I11466e102fcf75a31aaa22225861ad8bf27f89a8
Reviewed-on: https://code.wireshark.org/review/5942
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Don't clear the contents of the capture file properties dialog when the
capture closes. Retaining the contents lets users compare the properties
for multiple files.
Change-Id: I6bf684e7bd996f22032ec3d0adcddc343bb17992
Reviewed-on: https://code.wireshark.org/review/5937
Reviewed-by: Gerald Combs <gerald@wireshark.org>
refresh_button_ and copy_comment_button_ are not used neither initialized, get rid of them
Also clear text areas and disable buttons
Change-Id: I418d712313041dcf4f15aceee01497f01ae74918
Reviewed-on: https://code.wireshark.org/review/5927
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Otherwise it can be opened by clikcing on the icon just after launching Wireshark
Also update tooltip to match the exact dialog name
Change-Id: I5ce5e0c24f3dfb44c2303c78114102c5c03ccc88
Reviewed-on: https://code.wireshark.org/review/5930
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Place the recent files list in an accordion frame so that showing and
hiding is more visually smooth.
Change-Id: Ifdc534a33aa9f93949c9f919cfe0765fbfcde750
Reviewed-on: https://code.wireshark.org/review/5924
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Switch back to having everything on the main window similar to GTK+.
It's more cluttered but this way but you don't have to navigate the task
selector to get to the recent files and help links.
Retain the "Capture", "Open", and "Learn" imperative text. Move "Open"
to the top as suggested by Michal.
Change-Id: Iaf7d93f9caf686b5cbeb640e5e5f95ecb46f7f2d
Reviewed-on: https://code.wireshark.org/review/5896
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Wrap the capture_file struct in a QObject which translates cf_cb_* and
capture_cb_* events into signals. Move the global cfile to
capture_file.cpp.
Don't use a void pointer for the capture file struct.
Change-Id: Ic5d5efb4bb1db64aa0247245890e5669b1da723a
Reviewed-on: https://code.wireshark.org/review/5885
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Permit passing TRUE as the parameter during table registration to achieve that
effect.
Use it in RTP media type table.
Bug: 10708
Change-Id: I892fb1a421d349f0c05197dec90f14fc34ad6b97
Reviewed-on: https://code.wireshark.org/review/5695
Reviewed-by: Evan Huus <eapache@gmail.com>
Petri-Dish: Evan Huus <eapache@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Wait until we've completely started up to show accumulated warnings and
errors.
Replace three periods with an ellipsis.
Change-Id: Ic3b268836e4e4429786c5eba4862cbc0458a19b5
Reviewed-on: https://code.wireshark.org/review/5762
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Change the text from "Enable for" to "Resolve". Make the tooltips more
descriptive. List them in OSI model order.
Change-Id: Ie671ba9d55c609ce475f1681add0ad7d975f19cd
Reviewed-on: https://code.wireshark.org/review/5737
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Remove the preferences for the filter toolbar and mark them GTK+-only.
Change-Id: Ie48b19aee29a1cfcea4c41ca6c08ddbba3102377
Reviewed-on: https://code.wireshark.org/review/5693
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Add Telephony menu items for VoIP Calls and SIP Flows. Put VoIP Calls at
the top, since that seems to be the primary item.
Add configure-time checks for QtMultimediaWidgets in anticipation of
adding a VoIP playback dialog.
Add an icon for the playback button. (Yes, I've been avoiding
GNOME-level gratuitous icons so far but this is one of the rare
occiasions where it makes sense.)
Add a help link define for the VoIP calls dialog.
Change-Id: I5d0799685c598ad9af76fe9667f8ea7d14b66050
Reviewed-on: https://code.wireshark.org/review/5674
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Go back to a single view similar to the GTK+ UI. Apply layouts using Qt
Designer.
Rename the menu item and class to "Capture File Properties". It's not
really a summary if it contains details such as "marked average bits
per second". We might want to move this to a "Properties" item under
the "File" menu similar to other applications.
Add the GTK+ summary icon (for now) to the toolbar and open the
properties dialog on clicking.
Singleton dialogs delenda est[1]. Let the user open as many summaries on
as many capture files as he or she wishes. Also, global cfile delenda
est[2].
Don't blindly include QtGui. Add specific components instead.
Use consistent method names, variable names, and patterns. Try to
document what "consistent" means.
Adjust the way we display some statistics to match the summary bar, e.g.
displayed = captured if we don't have a filter applied.
[1] Not really.
[2] Yes, really.
Change-Id: I11793b1d79dd0c3f70414ac8592b86181da59916
Reviewed-on: https://code.wireshark.org/review/5274
Reviewed-by: Gerald Combs <gerald@wireshark.org>
SimpleDialog requires a parent, when none is provided (as there is no parent available during startup), the error message is queued and displayed after MainWindow is available.
Calling SimpleDialog::exec() directly returns if no parent is set (hence the dialog is not shown)
This resulted in silently ignoring error messages that were shown using vsimple_error_message_box(), as this function did not provide a parent (and the queue messages were not dequeued anymore as the MainWindow was already available)
Change-Id: I2f4c1b4926c196ab40b035161cec530105396537
Reviewed-on: https://code.wireshark.org/review/5519
Reviewed-by: Michael Mann <mmann78@netscape.net>
Replaces the more verbose `g_strdup(foo.toUtf8().constData())` by
`qstring_strdup(foo)`. While at it, plug a minor memleak in
MainWindow dialogs.
Change-Id: I32b53f972b4e3998ac9beabd98647a381b7b42e3
Reviewed-on: https://code.wireshark.org/review/5531
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
qstring.toUtf8() returns a QByteArray object and .constData() returns
a pointer inside that object. It is not safe to store this pointer as
it will become invalid after the statement. Store a const reference
instead. (Due to scoping differences, some are copy-assigned though.)
In the UAT dialog, strlen(bytes.constData()) has also been replaced by
bytes.size() as an optimization.
Caught by ASAN.
Change-Id: Ie09f999a32d0ef1abaa1e658b9403b74bedffc37
Reviewed-on: https://code.wireshark.org/review/5528
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Change-Id: Id535c04493f6c6df88006d922ee43cff9f4b70a1
Reviewed-on: https://code.wireshark.org/review/5507
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
rename display_filter to read_filter in some places to make it clear
what it's used for
modify MainWindow::openCaptureFile() so that a read filter can be set
when the file name is passed in cf_path, not only when it's chosen from
a file selection dialogue
don't display the read filter string in the filter toolbar
Change-Id: Ie8dc94cbd1ff7e61ce1e2a55518a28297daa5d51
Reviewed-on: https://code.wireshark.org/review/5446
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
As suggested by Jeff Morriss.
Change-Id: Ibe2d30c31d51ab92377d64068527b424a92e8a64
Reviewed-on: https://code.wireshark.org/review/5361
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Change-Id: I9f4c7f71ae403059a2a236ba095b21753f7938fa
Reviewed-on: https://code.wireshark.org/review/5417
Reviewed-by: Michael Mann <mmann78@netscape.net>
All situations can be handled with "shimmed" dissector functions.
Change-Id: Ic85483b32d99d3270b193c9f6b29574d8fad46a8
Reviewed-on: https://code.wireshark.org/review/5327
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: Alexis La Goutte <alexis.lagoutte@gmail.com>
Yes, Wireshark does a bunch of GUI stuff, and then takes the window down
before printing the help, but the same is true for some command-line
error messages as well.
Change-Id: Id501468416c83308e4c0a9e7a66116d8d33a9d84
Reviewed-on: https://code.wireshark.org/review/5317
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The intent is to handle more than just command-line arguments; reflect that.
Change-Id: Ia10efda85a9d11c6579d1bec6f789cee30d9e825
Reviewed-on: https://code.wireshark.org/review/5304
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The old routine had stat_ in the name, as the expectation was that they
were for statistics taps; that's still the expectation, so have stat_ in
the data structure and routine names.
Change-Id: Ic98d011012b8641173d41fa0ec4f4e625614370a
Reviewed-on: https://code.wireshark.org/review/5303
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The intent here is to centralize more UI information so that we can move
more tap UI stuff to common code. This is a beginning.
Change-Id: Ic35ac0c01bc7b942aab88177db4065847a5e6c30
Reviewed-on: https://code.wireshark.org/review/5301
Reviewed-by: Guy Harris <guy@alum.mit.edu>
All messages are translated now.
Tłumaczenie Wiresharka jest teraz kompletne. Zachęcam do testowania
i wytykania błędów.
Change-Id: Iaffb2e581c765b5b3dff7750f878e6391539ebd6
Reviewed-on: https://code.wireshark.org/review/5293
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
As discussed in change 5185, the "big 3" HIGs discourage the use of
traditional group boxes. Flatten our existing ones.
Change-Id: I68ef4aa9fd0f69a42750bf735df2250a468bfb2d
Reviewed-on: https://code.wireshark.org/review/5263
Reviewed-by: Gerald Combs <gerald@wireshark.org>
This improvement avoids use of deallocated memory (crash) if using a
deregistered field in display filter, color filter, custom column and
other cases when the field is used as "interesting field".
This functionality is currently used in http, imf and ldap preferences.
Also removed unused proto_registrar_n() as this does not work correctly
after deregistering fields.
Change-Id: I043e3bf7a98bd773c9801e712a012d1eab8a7f94
Reviewed-on: https://code.wireshark.org/review/5161
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
compile Wireshark with GeoIP enabled
load a USB capture
open Statistics / Endpoints
the tree is empty, USB is not amongst the selected Enpoint Types
select USB in the Endpoint Types list
-> crash
to fix this, add a NULL check for cur_tree to EndpointDialog::tabChanged()
Change-Id: I43d963ae5cd451120ac354e89e37ccbbbc2c5910
Reviewed-on: https://code.wireshark.org/review/5192
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Martin Kaiser <wireshark@kaiser.cx>
That more correctly describes it - it doesn't do any form of automatic
detection of anything, it just picks up the system settings from
wherever Qt picks them up.
Change-Id: I62d40719728cc9735e3b8f3e4202b7e61fc3f43b
Reviewed-on: https://code.wireshark.org/review/5165
Reviewed-by: Guy Harris <guy@alum.mit.edu>
allow for unusual paths for Qt's rcc program (FreeBSD ports puts it in
/usr/local/lib/qt5/bin). This matches the existing functionality of the
MOC and UIC variables/programs.
Change-Id: I885d61bce54d9e893e0c2fc496a9ff767a096ae6
Reviewed-on: https://code.wireshark.org/review/5139
Petri-Dish: Stephen Fisher <stephenfisher@centurylink.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stephen Fisher <stephenfisher@centurylink.net>
We have direct access to every entry (action) in ContextMenu.
Use it instead of storing "actions" and checking its name.
Change-Id: I97a1723898409faf13280c5655b7738661ab594b
Reviewed-on: https://code.wireshark.org/review/5135
Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
- get language as soon as possible (before creating any Qt objects) to make all
translations working
- dynamic list of supported languages
- runtime change of GUI language (no need to restart application)
- add flags icons support
- search for *.qm languages in buildin resources, then
data dir called "languages" (main directory in sources or
/usr/share/wireshark/languages), then user directory
(UNIX: ~/.wireshark/languages); "languages" directory should contains
files wireshark_xx.qm where xx is language code (en, en_GB, etc.),
and optional xx.svg for flag icon
- try to fix some untranslated manually-created UI items
(need manual reset text of those components)
Change-Id: I62ca8a8cddce47cec9dbcad6b0bd68b6cfd92229
Reviewed-on: https://code.wireshark.org/review/5041
Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
QTextEdit + QTextDocument don't handle large amounts of data very well.
Truncate our displayed text after 2 MB.
Change-Id: I0b549a0b05a490272bc0d34af0f2c6661c548d0f
Reviewed-on: https://code.wireshark.org/review/5042
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Still not complete, but almost complete.
Change-Id: I6e793c4f6648b423a42841347d22073c0b079767
Reviewed-on: https://code.wireshark.org/review/5040
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Show the client and server colors in the hint text.
Change-Id: Iddcda8c3f4f7dc0d8919749aeffc8c09c6445c17
Reviewed-on: https://code.wireshark.org/review/5035
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Prevents a crash when changing the spinbox value during the middle of a
follow.
Change-Id: I07cea883c72c5975633e4b7046155f9b6de9cc4a
Reviewed-on: https://code.wireshark.org/review/5034
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Add a script to create each PNG from its source SVG using Inkscape
(which can conveniently be run from the command line).
Change-Id: Ief7410cf76fb1553ce56f1c6bc1ade03ab5db1d6
Reviewed-on: https://code.wireshark.org/review/4964
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Add todo items for showing and hiding the offset, hex/bits, and
ASCII/EBCDIC sections and adding UTF-8 support.
Change-Id: Ia40faf3f939ef1a8fca6fac827057bd89045482a
Reviewed-on: https://code.wireshark.org/review/4949
Reviewed-by: Gerald Combs <gerald@wireshark.org>
When the user hovers over a byte view field, highlight it and show a
description in the status bar.
Add a "byte" status bar context and fix a label stack pop bug.
Keep proto_find_field_from_offset from matching generated items.
Otherwise hovering and selecting finds things like GeoIP entries and
checksum validation information. This affects the GTK+ UI as well.
Change-Id: Ic81c0d8159510a72d30c41f961807d8a48d05e16
Reviewed-on: https://code.wireshark.org/review/4943
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Calculate our X coordinate using floating point arithmetic. This should
hopefully fix the wierd subpixel text shifting for some font sizes.
Add alpha blending convenience routines to ColorUtils. Use them to
create the offset colors. The button color palette wasn't working very
well under Ubuntu.
Use QFontMetricsF::lineSpacing for our line height.
Note that we don't support the BOLD gui.hex_dump_highlight_style
preference. Leave a hint for anyone wishing to do so. Comment out
related code for now.
Change-Id: Ief77c9c8d00e05560cae6ecd781bd309027f6f5a
Reviewed-on: https://code.wireshark.org/review/4927
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Instead of subclassing QTextEdit and filling it with the entire contents
of our tvbuff, subclass QAbstractScrollArea and draw text by hand only
when needed. The new code should be *much* faster.
Some code based on QHexView by Even Teran
(https://code.google.com/p/qhexview/).
To do:
- Finish the bit view implementation.
Change-Id: Ie44de6870d80711cd44324521a17ab76bcefe5e5
Reviewed-on: https://code.wireshark.org/review/4922
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Leave it around in case InterfaceTree::display() gets invoked without an
intervening call to scan_local_interfaces() (that would cause a
double-free) or in case scan_local_interfaces() gets called afterwards
(as it frees global_capture_opts.ifaces_err_info before setting it
again, so there's no leak there, but there would be a double-free).
This should prevent at least one crash I've seen.
Change-Id: Iedd3959b420c09971557c473cc87aefd4454078c
Reviewed-on: https://code.wireshark.org/review/4917
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Remove existing code which uses the visibilityChanged signal. It exists
in QToolbar but not QWidget. Use the actions to drive visibility
instead.
Update MainWindow::layoutPanes to respect "recent" settings.
Move the show / hide actions to the top of the View menu to match GTK+.
Change-Id: I670682e2a094945dbd36c80f43cd14515bbca5a6
Reviewed-on: https://code.wireshark.org/review/4911
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reselect the current packet when we redraw the packet list.
Don't crash if we try to mark when no frame is selected. Try to
invalidate cached packet list strings when needed. Rename
PacketList::updateAll to redrawVisiblePackets so that its purpose is
more clear. When changing the font size, call redrawVisiblePackets
instead of rebuilding the entire list of visible rows.
Change-Id: I6e7a15067e7063d0efc26082170e1795ae3c0779
Reviewed-on: https://code.wireshark.org/review/4901
Reviewed-by: Gerald Combs <gerald@wireshark.org>
As Graham pointed out, "#pragma warning(disable..." affects the rest
of the file. Add a push+pop so that we only operate on the line in
question. Ideally we'd be able to use "suppress" but an "#endif"
prevents that.
Change-Id: Ia01d6c245879f1c845dc68c18caea2cbceb273ef
Reviewed-on: https://code.wireshark.org/review/4569
Reviewed-by: Gerald Combs <gerald@wireshark.org>
To clarify that capturing always uses a file, the checkbox only controls whether
that file is temporary or persisted.
Change-Id: I939e1fdf488f53245166612193c60a366f63a18b
Reviewed-on: https://code.wireshark.org/review/4537
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Revert gafa8c02 since it didn't work on Windows. Use a pragma to squelch
Visual C++ instead.
Qt's rich text renderer doesn't handle "'". Replace it with "'".
Remove a QDebug include.
Change-Id: I0e6308efda74a4bc0e67ce841a50a0a9b68f4a8b
Reviewed-on: https://code.wireshark.org/review/4511
Reviewed-by: Gerald Combs <gerald@wireshark.org>
The "Check for Updates..." action doesn't exist when
QMetaObject::connectSlotsByName is called. Rename
on_actionHelpCheckForUpdates_triggered to checkForUpdates so that we
don't get the warning
QMetaObject::connectSlotsByName: No matching signal for on_actionHelpCheckForUpdates_triggered()
at startup.
Change-Id: Icbd7eb98731023c323212e6ec3d3c98f1321e245
Reviewed-on: https://code.wireshark.org/review/4510
Reviewed-by: Gerald Combs <gerald@wireshark.org>
the .qm file in sync
Change-Id: I588f5ff7386bac13c8ce0bba82fee4807c490682
Reviewed-on: https://code.wireshark.org/review/4509
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Change-Id: Ifa7af35cfc18f85cd547aa7621c5ca7305a9242d
Reviewed-on: https://code.wireshark.org/review/4508
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
another update of the Japanese translation
the translation is fairly complete now, only some recently added items
are missing
Change-Id: Iacd4ee2da7a83681b6119c5d02a40156b441065b
Reviewed-on: https://code.wireshark.org/review/4507
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Sorting behavior should be identical to GTK+.
Pass the correct position to beginInsertRows. Add a list of to-do items
to packet_list.cpp.
Change-Id: Ie6ab4b9f2d780a2af430d0f90529edca5485dada
Reviewed-on: https://code.wireshark.org/review/4481
Reviewed-by: Gerald Combs <gerald@wireshark.org>
If WIRESHARK_QUIT_AFTER_CAPTURE is set, call exit(0). This keeps us from
emitting the aboutToQuit signal and doing things that might pop up
dialogs.
Change-Id: I6e986b6e7ad824d8b5258e34a12c32869f5b2d34
Reviewed-on: https://code.wireshark.org/review/4421
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Make sure the Qt UI quits if WIRESHARK_QUIT_AFTER_CAPTURE is set. Make
sure Bourne shell scripts (*.sh) have UNIX/POSIX line endings. Reduce
some time values so that the tests run faster.
Change-Id: I81df7c6f72d7d807d1856863cbea1bb6326ca711
Reviewed-on: https://code.wireshark.org/review/4407
Tested-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Try to fix
.\simple_dialog.cpp(49) : warning C4566: character represented by universal-character-name '\uFFFF' cannot be represented in the current code page (1252)
We're assigning a delimiter. "Cannot be represented" is a feature,
not a bug.
Change-Id: Iba8bc5f5b42a43ec971d822b0e00f932787c7b16
Reviewed-on: https://code.wireshark.org/review/4409
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Should fix the current dist failure.
Change-Id: Ib1b8d92f6267040c9eef2e4c27ca78c6dd0631be
Reviewed-on: https://code.wireshark.org/review/4384
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Fill in the capture-related mise en place so that -k and -i work. Get
rid of global_capture_session in ui/qt and make it a member of
MainWindow.
Copy over privilege checking from GTK+.
Move the global capture session struct to MainWindow.
Change-Id: Iab5ec683860a40255a7e1d82e3872ced24fd55cb
Reviewed-on: https://code.wireshark.org/review/4382
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Pcap-ng files don't have a per-file time stamp resolution, they have a
per-interface time stamp resolution. Add new time stamp resolution
types of "unknown" and "per-packet", add the time stamp resolution to
struct wtap_pkthdr, have the libwiretap core initialize it to the
per-file time stamp resolution, and have pcap-ng do the same thing with
the resolution that it does with the packet encapsulation.
Get rid of the TS_PREC_AUTO_XXX values; just have TS_PREC_AUTO, which
means "use the packet's resolution to determine how many significant
digits to display". Rename all the WTAP_FILE_TSPREC_XXX values to
WTAP_TSPREC_XXX, as they're also used for per-packet values.
Change-Id: If9fd8f799b19836a5104aaa0870a951498886c69
Reviewed-on: https://code.wireshark.org/review/4349
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Liberation Mono appears to be the preferred font nowadays.
Change-Id: Ie953bdb8ba77df6486607dc076daa24225b2f08f
Reviewed-on: https://code.wireshark.org/review/4326
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Don't check syntax when we rebuild the CaptureFilterCombo.
Make sure we switch back to the main window when capturing fails.
Change-Id: Id4137e33a8135645f29ca7b2836c76b90f09e3ac
Reviewed-on: https://code.wireshark.org/review/4311
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Rename simple_dialog_qt.{cpp,h} to simple_dialog.{cpp,h}. Make it a
subclass of QMessageBox. Queue messages at startup similar to GTK+.
Move the GTK+-specific simple_dialog declarations to
gtk/simple_dialog.h.
Don't yell at the user so much. Replace exclamation points with periods.
Change-Id: I1cc771106222d5e06f1f52d67ac29d6dc367cce4
Reviewed-on: https://code.wireshark.org/review/4288
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Make sure we set the "resolved" member of the column fmt_data struct.
Emitting WiresharkApplication::AppSignals from a modal dialog can cause
event loop problems on OS X. Queue them up in PreferencesDialog and emit
them after closing.
Change-Id: I2de77778a0448db3b87d402e431b8e5f325cbbda
Reviewed-on: https://code.wireshark.org/review/4274
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Plumb signals and slots for changing the text size in the main window.
Remove the bold font code from WiresharkApplication. It was only used in
ByteViewText. Adjust the icons a bit.
Bug: When we change the font preferences the packet list stops drawing
cached strings. I haven't been able to track down the cause.
Change-Id: I609d740c9f26265628fa4b7de1b75b0e56651387
Reviewed-on: https://code.wireshark.org/review/4269
Reviewed-by: Gerald Combs <gerald@wireshark.org>
The GNOME HIG says "Where a corresponding toolbar icon exists, a menu
icon should mirror its design." The Windows and OS X HIGs say that you
should use them for common or familiar actions but otherwise avoid
clutter. I think icons in the "File" menu look like crap. Try to strike
a balance.
Use the 16x16 application icon for both the main web site and the wiki
since that's the favicon used on both sites.
Assume that "Reload" isn't used very often and remove it from the
toolbar.
Don't use a menu icon for the about box.
Other minor fixups.
Change-Id: I855211c218d266c2e9ed5acbe05a08750ab6d157
Reviewed-on: https://code.wireshark.org/review/4246
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Set the main window icon to the "wsiconcap" version while we're capturing
similar to the GTK+ version. Verified on Windows. Not sure if this will
do anything on other platforms.
Change-Id: I9b082601a2c47e5f52cc38ac8d9b4d9f5fb9a4d9
Reviewed-on: https://code.wireshark.org/review/4230
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Add ".on" versions of the x-capture-start icon along with corresponding
code in the StockIcon constructor to look for ".on" variants and add
them with the QIcon::On state.
Make the plain versions of x-capture-start blue to match the general
application icon. The goal is to make the toolbar and app icon fins blue
when Wireshark is "at rest" and green when it's capturing.
Change-Id: I31f4f9d910fc99c41d7c63bd9a722db1611760c7
Reviewed-on: https://code.wireshark.org/review/4225
Reviewed-by: Gerald Combs <gerald@wireshark.org>
In my version of XCode ranlib complains bitterly and returns an error if
a module has no symbols. Make the AirPcap, RTP player, and remote
capture code conditional. We could also try passing
"-no_warning_for_no_symbols" to ranlib but we probably shouldn't try to
comple the code in the first place.
Change-Id: Ide4f3d649eac354d54f0dde27dbc8e9cb270c65f
Reviewed-on: https://code.wireshark.org/review/4220
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: Evan Huus <eapache@gmail.com>
The new icons are patterned after the existing capture icons. They could
probably benefit from some adjustments here and there.
Start moving toward icon names and a directory layout compliant with
freedesktop.org's Icon Naming Specification and Icon Theme
Specification. We aren't fully compliant and might never be but anyone
with exposure to FDO icon themes should at least know where everything
is.
Make Capture Start (x-capture-start) the first icon in the toolbar.
Define the Colorize Packets, Auto Scroll, and zoom icons even though the
Qt UI doesn't use them yet.
Leave the Capture Filter, Display Filter, Coloring Rules, Preferences,
and Help icons off for now. The GTK+ toolbar is overly cluttered and I'm
not sure they're necessary.
Try not to break ui/gtk/toolbar_icons.h.
Remove welcome.qrc. I initially added it in case we needed to overlay
the welcome screen with translucent .pngs but that never happened.
To do:
- Move the old GTK+ icons to their own directory.
- Find a better name for the "toolbar" directory. "stock"?
- Make the toolbar configurable.
Change-Id: Ie07592113d307b8db786aedace672312a870fe38
Reviewed-on: https://code.wireshark.org/review/4182
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Do this by emitting the StaticRecentFilesRead signal after reading the static
portion of the recent file.
Unfortunately this results in the main window appearing in one size and
then resizing to the saved size but I haven't figured out how to fix that yet.
At the very least this prevents qtshark's default geometry from being saved to
my recent file and affecting wireshark-gtk's geometry.
Change-Id: I47b66078a9d00cb321badc744f1337ff39ca42a7
Reviewed-on: https://code.wireshark.org/review/4177
Reviewed-by: Evan Huus <eapache@gmail.com>
We really need a buildbot or Petri-Dish which doesn't have GeoIP because
this problem keeps popping up.
Bug: 10480
Change-Id: Iccba50dfcafd2dbacb315b9416324de4114be220
Reviewed-on: https://code.wireshark.org/review/4171
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
It still not complete.
Change-Id: I53c3efe9c6cf0456fcea55336114086445d3bfe9
Reviewed-on: https://code.wireshark.org/review/2719
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Move the map creation code from ui/gtk/hostlist_table.c to
ui/traffic_table_ui.c.
Add CMake commands to copy ipmap.html to the run directory so that
WIRESHARK_RUN_FROM_BUILD_DIRECTORY works for the endpoint map. Not sure
if they're entirely correct but they appear to work.
Add boundary checkes to geoip_db_lookup_ipv[46].
To do:
- It looks like there are prettier maps and newer APIs that we
might want to use.
Change-Id: Ie06992c9bc9c9aa683328aecab3f5f69c9cab966
Reviewed-on: https://code.wireshark.org/review/4011
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Different GeoIP databases have the same column name, e.g. "City"
currently matches two revisions each for IPv4 and IPv6. Map each
uniquely named column to a list of databases and populate
EndpointTreeWidgetItem columns based on the first database match.
Fix a copy/pasteo introduced in g30f3d52: Make sure
geoip_db_lookup_ipv[46] returns longitude instead of latitude.
Change-Id: Idd31f976dfd1cb011cfa7b5aec14b7031ee0e25e
Reviewed-on: https://code.wireshark.org/review/4157
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Just use "sizeof line" for the size of that array; don't have a separate
variable with the number of elements of the array (which at least is
equal to the size of the array, as it's an array of char), as that means
that you have to remember to change both of them.
Then cast "sizeof line" to int, as the second argument to fgets() is an
int, not a size_t (fgets(), as I remember, existed before size_t).
Change-Id: I3c65774527f4fcd824d7ae39208ab6e8e33eb9b4
Reviewed-on: https://code.wireshark.org/review/4023
Reviewed-by: Guy Harris <guy@alum.mit.edu>
C++, unlike C, lets you do that. This squelches warnings from MSVC++.
Change-Id: Id7127392b7690769111afdb951951d743f1d5e63
Reviewed-on: https://code.wireshark.org/review/4019
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Change-Id: Ib72178aab69c266cb903ef5ad5587cc0b80eb1fd
Reviewed-on: https://code.wireshark.org/review/4007
Reviewed-by: Michael Mann <mmann78@netscape.net>