QCustomPlot data sets are made up of keys (x axis by default) and values
(y axis). It looks like we can have multiple values for a given key
(i.e. we can show multiple sequence numbers for a given timestamp) but
QCPItemTracers can only be positioned by a key and not a key+value pair.
This makes our graph selection behavior a bit different compared to the
GTK+ version. We can only select one segment for a give timestamp but
our selection targets are much larger (the height of the graph).
Add a map for segment data so we don't have to iterate to find them. Use
UTF8_RIGHTWARDS_ARROW where appropriate. Set a window title. Tell the
user what will happen if he or she clicks. Disable graph selection.
svn path=/trunk/; revision=51604
Ref https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9082
Since this commit the IP (source and destination) address in the GUI will be
replaced with some date after I click on the entry, reverting this commit fixes
the problem.
This looks like a memory corruption. I imported an older pcap file.
svn path=/trunk/; revision=51581
mouse interactions than the GTK+ version, but they seem to match modern
UI conventions better. The keyboard shortcuts have been changed to match
modern UI conventions as well, but I'll try to support the old shortcuts
as much as possible.
svn path=/trunk/; revision=51554
Add the QCustomPlot widget. Thanks to Emanuel Eichhammer for granting a
license change. Move some common code from ui/gtk/tcp_graph.c to
ui/tap-tcp-stream.[ch]. Get rid of tcp_graph_selected_packet_enabled().
It was only used in the menu code and didn't match what we were doing
elsewhere.
Still quite a bit of work to do but it's a promising start.
svn path=/trunk/; revision=51538
deletes the interface list, which in turn kills off the dumpcap process
it may be running. This should hopefully keep us from leaving dumpcap
processes running in the background on Windows. (Am I the only one
running QtShark on that platform?)
svn path=/trunk/; revision=51485
the "All Files" entry (the current UI guidelines from Microsoft say to
do so, and that's what Paint does, at least), and add an "All Capture
Files" entry with all the file extensions for the file types we support
(it'll pick up all text files, but there's not much we can do about
that, and it won't pick up files with *no* extension or weird
extensions, such as you might get from UN*X systems or from WinDump
commands, but at least it'll filter out some other crud).
Fix what appear to be memory leaks; that should be backported unless
I've missed something and they aren't leaks.
Fix an out-of-date comment, and add an additional comment.
svn path=/trunk/; revision=51481
exported PDUs. The currently opened capture file is closed.
Make sure that this does not discard any unsaved data. Ask the user for
confirmation and save the changes before running the export.
svn path=/trunk/; revision=51459
In file included from main_menubar.c:110:
../../ui/gtk/proto_help.h:39:5: error: '@return' command used in a comment that
is attached to a function returning void [-Werror,-Wdocumentation]
* @return void
~^~~~~~~~~~~
../../ui/gtk/proto_help.h:47:5: error: '@return' command used in a comment that
is attached to a function returning void [-Werror,-Wdocumentation]
* @return void
~^~~~~~~~~~~
svn path=/trunk/; revision=51279
../../ui/gtk/gui_stat_menu.h:47:11: error: parameter 'group' not found in the
function declaration [-Werror,-Wdocumentation]
* @param group the menu group this stat should be registered to
^~~~~
svn path=/trunk/; revision=51277
../ui/preference_utils.h:40:11: error: parameter 'pref:' not found in the
function declaration [-Werror,-Wdocumentation]
* @param pref: A preference.
^~~~~
../ui/preference_utils.h:40:11: note: did you mean 'pref'?
* @param pref: A preference.
^~~~~
pref
../ui/preference_utils.h:41:11: error: parameter 'unused:' not found in the
function declaration [-Werror,-Wdocumentation]
* @param unused: unused
^~~~~~~
../ui/preference_utils.h:41:11: note: did you mean 'unused'?
* @param unused: unused
^~~~~~~
unused
../ui/preference_utils.h:48:11: error: parameter 'pref:' not found in the
function declaration [-Werror,-Wdocumentation]
* @param pref: A preference.
^~~~~
../ui/preference_utils.h:48:11: note: did you mean 'pref'?
* @param pref: A preference.
^~~~~
pref
../ui/preference_utils.h:49:11: error: parameter 'changed_p:' not found in the
function declaration [-Werror,-Wdocumentation]
* @param changed_p: A pointer to a gboolean. Set to TRUE if the prefere...
^~~~~~~~~~
../ui/preference_utils.h:49:11: note: did you mean 'changed_p'?
* @param changed_p: A pointer to a gboolean. Set to TRUE if the prefere...
^~~~~~~~~~
changed_p
../ui/preference_utils.h:60:11: error: parameter 'unused:' not found in the
function declaration [-Werror,-Wdocumentation]
* @param unused: unused
^~~~~~~
../ui/preference_utils.h:60:11: note: did you mean 'unused'?
* @param unused: unused
^~~~~~~
unused
svn path=/trunk/; revision=51274
./packet_list_utils.h:37:11: error: parameter 'col[IN]' not found in the
function declaration [-Werror,-Wdocumentation]
* @param col[IN] The column number.
^~~~~~~
./packet_list_utils.h:38:11: error: parameter 'cf[IN]' not found in the function
declaration [-Werror,-Wdocumentation]
* @param cf[IN] The capture file containing the packet data.
^~~~~~
./packet_list_utils.h:47:11: error: parameter 'col[IN]' not found in the
function declaration [-Werror,-Wdocumentation]
* @param col[IN] The column number.
^~~~~~~
./packet_list_utils.h:48:11: error: parameter 'cf[IN]' not found in the function
declaration [-Werror,-Wdocumentation]
* @param cf[IN] The capture file containing the packet data.
^~~~~~
svn path=/trunk/; revision=51273
Add CaptureFilterCombo and CaptureFilterEdit classes, similar to their
display filter counterparts. Add a CaptureFilterSyntaxWorker class which
runs a syntax check in a background thread similar to the threaded code
in capture_dlg.c. Add a bunch of related signal and slot plumbing. Other
minor fixups.
svn path=/trunk/; revision=51200
- Added up/down scrolling in Flow Graph window.
- Avoid segfault when mouse clicking below the last packet in the graph.
- Fixed the Comment heading.
svn path=/trunk/; revision=51145
Original (read from file) comments can be accessed by pkthdr->opt_comment
Keep user comments in seperated BST, add new method for epan session to get it.
svn path=/trunk/; revision=51090
what's done after that.
If we want to set the all-interfaces capture filter string, just set it,
don't add anything to the drop-down list for it.
If, after we've succeeded starting a capture, all active interfaces have
the same capture filter, *do* add that filter to the all-interfaces
recent capture filters list.
Also, free g_strduped capture filter strings when we're done with them.
svn path=/trunk/; revision=50986
In recent_add_cfilter(), the list we're working on is cfilter_list;
properly remove an item from it - don't assign the result to
recent_cfilter_list, assign it to cfilter_list. This may fix some
crashes and Valgrind errors.
svn path=/trunk/; revision=50984
addition to a "global" list. Store all of those lists in the recent
file. Maintain the lists in ui/recent.c, rather than attaching them to
widgets; have the code that populates the combo boxes get the lists from
the ui/recent.c code.
This makes a little more of the code GUI-toolkit-independent, and should
fix bug 7278.
#BACKPORT 1.10, 1.8
svn path=/trunk/; revision=50956
ui/qt/uat_dialog.cpp: In member function ‘void UatDialog::stringPrefTextChanged(const QString&)’:
ui/qt/uat_dialog.cpp:371:10: error: variable ‘enable_ok’ set but not used [-Werror=unused-but-set-variable]
And remove a tabs
svn path=/trunk/; revision=50906
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8908 :
The fix for bug 5585 (r35583) is no longer necessary (thanks to r50516) and it
causes the screen to flicker when clicking on bytes in the bytes pane.
svn path=/trunk/; revision=50903
C++-ize the UAT headers.
Add an ElidedLabel widget. Use it in the File Set, Profile, and UAT
dialogs.
Update the Qt README.
svn path=/trunk/; revision=50896
<QPushButton> if you're using a QPushButton, so:
1) adding the include is the right fix, not just a duct-tape
fix;
2) <QPushButton>, rather than <qpushbutton.h>, is probably what
you're expected to include.
(<QPushButton> is, at least in Qt 5.1, a wrapper that just includes
<qpushbutton.h>.)
svn path=/trunk/; revision=50849
CLEAN_FILES
DIRTY_FILES
and move packet_list_record.cpp to DIRTY.
Now I finally have a compiling qtshark again (clang and Qt5)
svn path=/trunk/; revision=50832
(Using a QDialogButtonBox would ensure that the button names, sizes,
and placement conforms to the UI guidelines for each platform.)
svn path=/trunk/; revision=50822
summary_dialog.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.
summary_dialog.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget2'.
summary_dialog.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget3'.
svn path=/trunk/; revision=50821
Remove ->prev_cap, for testing purpose also replace ->prev_dis with number of previously displayed frame number.
This patch reduce size of frame_data by 8B (amd64)
This is what (I think) was suggested by Guy in comment 13 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5821#c13)
svn path=/trunk/; revision=50765
When we don't have path don't check for subtrees.
(Originally report by Jeff on https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8908#c17)
XXX, we could create a path pointing on begin of tree - but do we want to do it?
svn path=/trunk/; revision=50740
prefs_dlg.c:1395:69: error: unused parameter ‘parent_w’ [-Werror=unused-parameter]
prefs_dlg.c:1414:19: error: initialization discards ‘const’ qualifier from pointer target type [-Werror]
prefs_dlg.c:1415:19: error: initialization discards ‘const’ qualifier from pointer target type [-Werror]
prefs_dlg.c:1417:19: error: initialization discards ‘const’ qualifier from pointer target type [-Werror]
prefs_dlg.c:1418:19: error: initialization discards ‘const’ qualifier from pointer target type [-Werror]
prefs_dlg.c:1419:19: error: initialization discards ‘const’ qualifier from pointer target type [-Werror]
prefs_dlg.c:1427:7: error: format not a string literal and no format arguments [-Werror=format-security]
prefs_dlg.c:1432:7: error: format not a string literal and no format arguments [-Werror=format-security]
svn path=/trunk/; revision=50724
Unrecognized preferences and color filters created in proprietary or older versions are discarded when saved.
If the user attempts to save the preferences or colorfilters file, a popup is displayed that warns that unrecognized prefs or color filters have been detected and will be discarded if the save operation is allowed to proceed. In the case of Preferences, the popup message includes the version at which the file was last saved. A "Continue without Saving" button is provided so that the user can save the profile under a different name.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8942
svn path=/trunk/; revision=50716
Unrecognized preferences and color filters created in proprietary or older versions are discarded when saved.
If the user attempts to save the preferences or colorfilters file, a popup is displayed that warns that unrecognized prefs or color filters have been detected and will be discarded if the save operation is allowed to proceed. In the case of Preferences, the popup message includes the version at which the file was last saved. A "Continue without Saving" button is provided so that the user can save the profile under a different name.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8942
svn path=/trunk/; revision=50690
/usr/include/qt5/QtCore/qglobal.h:1079:4: error: #error "You must build your
code with position independent code if Qt was built with -reduce-relocations. "
"Compile your code with -fPIC or -fPIE."
There is almost certainly a better way to do this: I'm cheating here because I
don't know enough about autofoo, and it seems to work. I suspect we should be
checking PIE for the C++ compiler separately (since presumably they're not
guaranteed to be related like gcc/g++ are). I also suspect we should only be
building with it in the first place if Qt really needs it, though I have no idea
how to check that. The qt docs I've found suggest that qt5's cmake module has a
flag for it, but autofoo is never mentioned...
svn path=/trunk/; revision=50645
actionEditConfigurationProfiles. This keeps it from being converted to
the default preferences item on OS X.
Remove a hack where we stored the text for
actionEditConfigurationProfiles in its iconText in order to keep it from
clobbering actionEditPreferences. It doesn't seem to be necessary.
svn path=/trunk/; revision=50636
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8908 :
Rename check_expand_children() to check_expand_trees() since the function
doesn't just do the children of the current path/iter.
Add a parameter to that function which controls whether the parent (or just
the children) get expanded.
As suggest by Jakub in the bug: block further calls to expand_tree() when
we're expanding all these trees. Add a comment telling callers of
check_expand_trees() to do that.
svn path=/trunk/; revision=50595
When auto-expanding previously-expanded children (r50516), only apply
auto-scrolling to the tree the user just expanded (not any of its children
which were auto-expanded).
Also: only expand children of the just-expanded tree, not all instances of
the just-expanded tree. This prevents expanding, for example, one SCTP chunk's
tree from expanding all other chunks in the same frame. (Of course moving
between frames will cause the chunks' trees to be expanded.)
svn path=/trunk/; revision=50535
(the last remaining problem in that bug report):
When we expand a tree, check if any of its children need to be expanded too
(because the user left them expanded when s/he closed the parent).
In the process, rename expand_finfos() to check_expand_children() since the
function expands any children (subtrees) which should be expanded. Remove
one of that function's parameters too: just reference the global preference
that controls whether scrolling should be done or not.
Replace some tabs with spaces (for consistency).
svn path=/trunk/; revision=50516
time_t. (That also lets us not care how big a time_t is, except that we
have a not-fixable Y2.038K problem with 32-bit time_t, about which we
merely warn in a comment.)
svn path=/trunk/; revision=50502
Don't nest g_strconcat() calls: g_strconcat(a, g_strconcat(b, c, NULL), NULL)
is equivalent to g_strconcat(a, b, c, NULL). (And g_strconcat(b, c) is
incorrect - you need a NULL at the end of the list.)
Checking whether a pointer is "> 0" is useful only in platform-dependent
situations or if you're doing a really greasy hack such as stuffing a
flag into the uppermost bit of the pointer; the test should just check
whether the pointer is null or not.
svn path=/trunk/; revision=50500
- tshark -q -z io,stat,1 causes core dump for files larger than ~2MB
(with this fix it will still overflow on 32-bits for frame time > 4294s)
- In tshark's "io,stat" eliminate the unrequested "Frames and bytes" col, fix formatting, and add "Duration"
From me:
Added casts to squelch compiler warnings on win7 64bit
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8839
svn path=/trunk/; revision=50488
Add Summary Statistics to qtshark (Statistics => Summary)
Now, use tabs to split summary display (File Capture details, Capture Statistics)
Add also Comment Summary tab (to replace Statistics => Comments Summary)
From me :
Fix order of summary files in Qtshark.pro
svn path=/trunk/; revision=50470
column. Conversation spans (setup frame to last frame) are shown with a
square bracket. Linked frames are shown with a circle.
Use correct column justifications in Qt. Move common
justification-related packet list code to ui/packet_list_utils.[ch].
Add a last_frame element to conversation_t.
svn path=/trunk/; revision=50447
This patch augments Wireshark's and tshark's augument usage reports (-? and
-t?) and the Wireshark and tshark man pages to list all available timestamp
options available for the -t option.
svn path=/trunk/; revision=50445
We're allocating an array of pointers, not an array of objects, so make the
sizeof() reflect that to avoid over-allocating.
svn path=/trunk/; revision=50423
(That is: Don't create the array on the stack each time
the function is called).
Reduces code memory usage and execution time.
(See SVN #50271)
svn path=/trunk/; revision=50295
as a voip_call_state value; don't have it sometimes a voip_call_state
and sometimes a frame subtype.
This should squelch some complaints from newer versions of Clang about
unnecessary array-bounds checks - the array-bounds checks are done on
frame subtypes, where they *are* necessary (nothing prevents an
untrustworthy IAX2 implementation or an untrustworthy capture file
writer from putting an arbitrary value in the packets), not on
voip_call_state values (where it was only necessary because the value
wasn't, in that case, a voip_call_state value, it was a frame subtype
cast to a voip_call_state).
svn path=/trunk/; revision=50277
... as per the XXX comment removed from tshark.c this was a mess to keep the linker
happy... I couldn't!
I did this without even understanding whether calling main_window_update was realy
necessary in most cases. I guess nothing or more specific update cbs would be best.
svn path=/trunk/; revision=50188
Building C object ui/gtk/CMakeFiles/gtkui.dir/print_dlg.c.o
/home/jmayer/work/wireshark/svn/trunk/ui/gtk/print_dlg.c: In function ‘print_cmd_toggle_detail’:
/home/jmayer/work/wireshark/svn/trunk/ui/gtk/print_dlg.c:910:38: error: variable ‘col_headings_cb’ set but not used [-Werror=unused-but-set-variable]
GtkWidget *print_bt, *summary_cb, *col_headings_cb, *details_cb;
^
cc1: all warnings being treated as errors
No idea wether the fix is correct. Compile tested only.
svn path=/trunk/; revision=50047
Qt make don't like cp ../../lib/lib{wireshark,wiretap,wsutil}.* .
cp: cannot stat `../../lib/lib{wireshark,wiretap,wsutil}.*': No such file or directory
svn path=/trunk/; revision=49994
as the "where to put the packet data" argument.
This lets more of the libwiretap code be common between the read and
seek-read code paths, and also allows for more flexibility in the "fill
in the data" path - we can expand the buffer as needed in both cases.
svn path=/trunk/; revision=49949
Fix crash if you cancel the Flow Graph window while the Graph Analysis window
is still open: close the Graph Analysis window when the user cancels the Flow
Graph window.
From me: do the same thing for the window-delete case.
svn path=/trunk/; revision=49908
Wireshark crashes when analyzing Telephony->VoIP Calls from the pcap file attached.
From me :
Some packets is detect to be T38 and ->stop_fd is not initialize
#Backport 1.10 and 1.8
svn path=/trunk/; revision=49804
recently selected file in the current file dialog. This isn't the proper
routine to use when trying to figure out the save/export file name. We
have to dig through the OPENFILENAME struct instead. Fixes bug 8224.
#Backport 1.10
svn path=/trunk/; revision=49765
register itself in that group, and get rid of its hardcoded menu item.
Also, as the H.225 counter is registering itself, get rid of its
hardcoded menu item.
svn path=/trunk/; revision=49662
names, to avoid confusion. (Action names are not, in fact, paths; we're
just using path syntax for them as a convention.)
svn path=/trunk/; revision=49659
use it o register the MAC and RLC statistics dialogues. Get rid of the
explicit menu items for them, as they now show up in the menu as a
result of the tap registering itself.
svn path=/trunk/; revision=49658
capture menu items, rather than hiding them at run time.
For the capture menu items, translate the GtkAction callback calling
sequence to the normal widget callback calling sequence with individual
routines for each action, rather than a generic translator.
svn path=/trunk/; revision=49649
statistics menu.
Have the CAMEL counter register itself in that menu, rather than having
main_menubar.c create the menu item for it.
svn path=/trunk/; revision=49641
Dialog (wants to) pop up noting no associations, but sctp_set_filter() wants to press on assuming there is an association. Added NULL check to prevent assumption.
svn path=/trunk/; revision=49610
n^2 time on the number of packets). Just prepend to the list, then sort
it when we actually need to calculate the statistics.
Should fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8721
svn path=/trunk/; revision=49606
items hardcoded into ui/gtk/main_menubar.c
Get rid of more stuff implying that the code for adding menu items is
used only by Lua, as it's also used by register_param_stat().
Add the items to the menu list sorted by the menu item name shown to the
user.
Get rid of some const declarations that are lies.
Use the label given for a menu item as the label in the menu, rather
than parsing it from a token.
svn path=/trunk/; revision=49552
is in this epan_dissect_t contain the field whose name is passed as an
argument" routine in libwireshark, and use it where we used
packet_is_ssl(). (We should check to see if anything *else* could use
it.)
svn path=/trunk/; revision=49530
code prior to this built on other buildbots *and* on my 10.6 VM, so I
don't know what the GCC on the buildbots is getting wrong....
svn path=/trunk/; revision=49505
it into a separate capture_session structure. capture_opts should
contain only user-specified option information (and stuff directly
derived from it, such as the "capturing from a pipe" flag).
svn path=/trunk/; revision=49493
it's always nice when there's a new one, especially one that can't share
file lists with others.
Remove capture_unix_ifnames.c from YET ANOTHER build tool file.
svn path=/trunk/; revision=49492
"Stream" should be changed to "Follow Stream" in the "Sample" textbox and
"Colors" dropdown menu of the "Font and Colors" dialog: This is needed to
draw a distinction between the coloring of packets produced by the
"Follow TCP|UDP|SSL Stream" command and the non-colorized output of
the 'tcp.stream == n' filter.
svn path=/trunk/; revision=49488
When trying to close the QtShark application during its initialization process
(by hitting the "close" button), the processes "qtshark.exe" and "dumpcap.exe" don't terminate properly
The patch contains fix to:
1. QtShark doesn't quit properly after closing the main window during initialization
2. User is not prompted to save the capture to file when user chooses to exit
the program during capturing.
3. Bug exists in function MainWindow::testCaptureFileClose(bool from_quit, QString &before_what),
which prevent it from behaving correctly when from_quit == true.
svn path=/trunk/; revision=49454
Detail about this issue :
Bug is reproduced when accessing Preferences Dialog before QtShark start-up is finished,
specifically before preferences loading is completed which comes very late in the initialization process.
Fix from Richard Turner :
Patch to fix problems arising from users interacting with main interface before initialization is complete
Introduced a new slot function in main window for the locking of features before
init complete and for the unlocking of features after all systems good to go.
svn path=/trunk/; revision=49453
When a TCP segment contains the end of two or more SSL PDUs, the TCP reassembly
code passes that segment up to the SSL dissector multiple times--one for each
SSL PDU. The SSL dissector queues the packet for SSL tap listeners each time it
is invoked. Therefore a single packet can be processed by SSL tap listeners
multiple times. But the tap data that the SSL dissector sends to its tap
listeners is a linked list of all PDUs in the packet.
The SSL tap listener responsible for populating the Follow SSL Stream dialog
did not account for the possibility of seeing a packet multiple times. As a
result, it would process the entire linked list of PDUs each time it received a
packet, and that would result in some SSL PDUs showing up two or more times in
the dialog.
This patch fixes the described bug. It also implements a few slight
improvements in closely related code. See bugzilla for details.
svn path=/trunk/; revision=49387
Change "Edit" to "Rename" and add icons to "Manage Profiles..." and "Switch
to...". Update the associated widget, routine, and variable names in order
to facilitate future maintenance.
svn path=/trunk/; revision=49361
the file selection dialog.
Call gtk_file_chooser_set_do_overwrite_confirmation() in
file_selection_new() for FILE_SELECTION_SAVE file selection dialogs,
rather than doing it in the individual callers of file_selection_new().
Use gtk_dialog_set_alternative_button_order() in file_selection_new() to
set the alternative button order, rather than using #ifdefs.
Use file_selection_new() and file_selection_run() in the graph analysis
code. (We should clean up other code that uses file_selection_new() to
use file_selection_run(), and clean up other code that uses
gtk_file_chooser_dialog_new() to use file_selection_new() and
file_selection_run().)
svn path=/trunk/; revision=49308
bit simpler.
Don't bother popping up a window saying "you dragged more than one file,
so we're merging"; presumably that's what they had in mind when they
dragged multiple files. (If that's not what they had in mind, the
window should at least offer a choice to cancel.)
svn path=/trunk/; revision=49293