Commit graph

392 commits

Author SHA1 Message Date
Jeff Morriss
56199c1328 Also allow the user to edit the capture-file comment if there is one (not
only if the capture file format is PCAPNG).  This can happen if the user
does not have a PCAPNG file but has added a capture-file comment via the
add/edit capture file comment UI.

Replace some tabs with spaces and wrap a few long lines.

svn path=/trunk/; revision=42827
2012-05-24 15:16:18 +00:00
Guy Harris
facd4aca9d Now that cf_save_packets() can avoid doing a "fast path" save if the
source isn't compressed and the target is (or vice versa), enable the
"compressed" checkbox in the Save As and Export Specified Packets
dialog.  Fix it to clear the checkbox if the selected file format
doesn't support gzipping.

svn path=/trunk/; revision=42822
2012-05-24 07:51:39 +00:00
Guy Harris
cf6d9841e3 Keep track, in Wiretap, of whether the file is compressed, and provide
an API to fetch that.

When doing "Save" on a compressed file, write it out compressed.

In the Statistics -> Summary dialog and in capinfos, report whether the
file is gzip-compressed.

svn path=/trunk/; revision=42818
2012-05-24 05:05:29 +00:00
Guy Harris
73888ed977 We have to tell cf_save_packets() whether to save them in compressed
form; say "don't" for now.

svn path=/trunk/; revision=42817
2012-05-24 02:30:43 +00:00
Guy Harris
b655197a9d In the "Save As" and "Export Specified Packets" code path, do a "safe
save" if the destination file exists.

Don't forbid overwriting an existing file in either of those cases (we
still forbid overwriting the current capture file) - the GUI asks the
user whether they want to do the overwrite, and allows them to cancel
out of it - and don't remove the file before writing to it (doing so
makes the save *un*safe).

Attempt to do a save of an unedited temporary file by just moving the
file on Windows as well as on UN*X - ws_rename() will remove the target
if necessary on Windows (and won't do it as a separate operation before
attempting the rename), so it behaves like ws_rename() on UN*X (which is
just a wrapper around rename()).

svn path=/trunk/; revision=42816
2012-05-24 02:16:53 +00:00
Anders Broman
27596da916 From Florent Drouin:
(Jeff Morriss, Michael Mann )
Add absolute timestamps to -z io,stat

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7207

svn path=/trunk/; revision=42808
2012-05-23 06:55:31 +00:00
Anders Broman
0832853fa8 From Robert Bullen:
The Wireshark and tshark TCP conversations stats tables aggregate reused connections into a single line item

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7248

svn path=/trunk/; revision=42806
2012-05-23 06:36:47 +00:00
Guy Harris
322c827a42 Fix comparison of file extension with extensions for the file type -
compare extension with extension, not dot-plus-extension with extension.

Skip unnecesary test.

Clean up white space.

svn path=/trunk/; revision=42803
2012-05-23 03:27:34 +00:00
Guy Harris
e6a57c8e93 In Windows, in the Save As and Export Selected Packets dialog, append
the default extension for the file type iff

	the file type we're using has a list of extensions;

	the file has no extension or it has one but it's not one of the
	ones in the list.

*Don't* expect a file extension to be at most 5 characters plus the dot
- the extension for pcap-ng, our default capture file type, is "pcapng",
and that's 6 characters!

svn path=/trunk/; revision=42800
2012-05-23 03:05:17 +00:00
Guy Harris
26974768dd No packet range stuff for the "Save As" dialog.
svn path=/trunk/; revision=42799
2012-05-23 01:06:51 +00:00
Guy Harris
ef163bb569 Separate callback to control the file type combo box in the "Export
Specified Packets" dialog.

svn path=/trunk/; revision=42795
2012-05-22 22:57:37 +00:00
Guy Harris
07835ce129 Do the "Save As always saves the entire capture, Export Specified
Packets saves specified packets" stuff for Windows.

svn path=/trunk/; revision=42794
2012-05-22 22:39:30 +00:00
Guy Harris
c2bb7956c2 "Save As" always saves everything and, when the save is done, makes the
new file the current file, as is the case in most if not all other GUI
applications.

A new "Export Specified Packets" menu option allows you to specify which
packets to write out, with the default being the displayed packets (and
those on which the displayed packets depend for, e.g.  reassembly), and
never makes the resulting file the current file.

The two operations are conceptually distinct.  Lumping them into one
menu item, with the default for "Save As" being "displayed packets only"
and thus making it behave like the latter operation, was causing some
confusion; see, for example, bug 6640.

Make the dialog popped up if you try to "Save As" or "Export Specified
Packets" on top of an existing file ask the "do you want to do this?"
question in the main part of the message, and note in the secondary text
that doing that will overwrite what's in the file; that matches what
TextEdit on OS X and the GNOME text editor say.

svn path=/trunk/; revision=42792
2012-05-22 22:17:57 +00:00
Anders Broman
743b2fb52e cf_save -> cf_save_as
svn path=/trunk/; revision=42781
2012-05-22 12:35:49 +00:00
Guy Harris
1d41075db1 Replace the File -> Export menu with separate:
File -> Export Packet Dissections

	    (for the "print to file", "export as CSV", "export as C array",
	    "export as PSML", and "export as PDML" items)

	File-> Export Selected Packet Bytes

	File -> Export SSL Session Keys

	File -> Export Objects

	    (for exporting objects transferred over HTTP, DICOM, or SMB)

menu items.

The operations under Export really weren't that related - about all they
had in common was that they wrote to a file stuff other than packets
in a capture file format; the operations in the groups *under* Export
were related, so the groups are now menu items of their own.

This way, the File menu more immediately indicates what options of that
sort are available.

It also means that the Export Packet Dissections item might make it
clearer that what you get from that is *NOT* something that can just be
read back into Wireshark, as at least one user who asked "how do I get
my capture back from this?" on ask.wireshark.com thought.  If that
doesn't suffice, perhaps renaming it to "Export Dissected Packets" would
help; if *that* doesn't suffice, perhaps Kevin Cullimore's suggestion
that it say "Report" rather than "Export" will do the trick:

	From: Kevin Cullimore <kcullimo@runbox.com>
	Subject: [Wireshark-users] Re: Should the "export as text" item be in an "Export Human-readable..." item in the File menu?
	Date: May 19, 2012 8:31:23 PM PDT
	To: wireshark-users <wireshark-users@wireshark.org>

	Would classifying the asymmetric export (ones that lack a
	corresponding "import" action) formats as "reports" help clear
	up the original ambiguity/misunderstanding? It seems that most
	of the gui-based network tools I'm forced to periodically
	interact with rely upon that term with at least some success.

(Or perhaps some other verb would be right in some cases, e.g. "Save SSL
Session Keys".)

This also sets a pattern for another upcoming change - splitting "Save
As" into "Save As", which always saves every packet and makes the new
file the current file, and "{Verb} Specified Packets", which lets you
specify which packets to save and does *not* make the new file the
current file.  That'd simplify the code a bit, and might clear up the
new only-in-the-trunk issue in bug 6640 - having "Save As" default to
saving displayed packets currently means that it acts more like the
latter of those functions.

svn path=/trunk/; revision=42778
2012-05-22 11:44:55 +00:00
Guy Harris
ae7d57d5fa We're an editor now, as we let you add, delete, and edit frame comments,
so "Save" should, for non-temporary files, mean "save the current state
of the capture file on top of the existing file" without prompting for a
file name.

That means we have to do a "safe save" - i.e, write the capture out to a
new file and, if that succeeds, rename the new file on top of the old
file - as the actual packet data to write out is in the file we're
overwriting, not in memory.  (We'd want to do that anyway, of
course....)

Update some comments.

Clean up indentation slightly, and get rid of an unnecessary variable
(in all the cases where we use it, we assign it the same value, and that
value isn't modified out from under us before we use it).

Note that after a "Save", or a "Save As" that writes out all captured
packets, we shouldn't have to close the current file and open the new
file and reread it - we should be able to open the new file and update
the frame offsets in the frame_data structures.

Note that we need to do some a better job of reporting rename failures.

svn path=/trunk/; revision=42777
2012-05-22 10:36:40 +00:00
Guy Harris
90c43120ca The GUI's state machine requires that, when reloading a capture after a
save, we post capture file callback events similar to the ones posted
when reading a capture - otherwise, the reload will leave the welcome
screen up.

Rename cf_cb_file_save_reload_finished to cf_cb_file_reload_finished,
add a cf_cb_file_reload_started callback, have them work similarly to
read_finished and read_started except that the reload uses "Reloading"
in the progress bar and status bar.

Clean up some indentation while we're at it.

svn path=/trunk/; revision=42764
2012-05-22 03:52:12 +00:00
Guy Harris
4a9b825c49 Change the "user_saved" member of a capture_file structure to
"unsaved_changes", and have it be TRUE iff changes have been made to the
file since it was read - *not* if it's a temporary file from a live
capture.

Check the "is_tempfile" member, and the "unsaved_changes" member, when
appropriate.

Just have a set_toolbar_for_capture_file() routine that updates the
"save", "close", and "reload" toolbar as appropriate, given a
capture_file structure - absorb the function of
set_toolbar_for_unsaved_capture_file() into it.

svn path=/trunk/; revision=42721
2012-05-20 08:56:06 +00:00
Bill Meier
a297af9d64 Add an 'if' test to prevent a potential null pointer dereference
identified by clang scan-build.


svn path=/trunk/; revision=42719
2012-05-19 17:21:32 +00:00
Bill Meier
576fcd2a47 Rework 'ct_nb_switch_page_cb()' slightly to prevent a scan-build "null pointer de-reference" message;
(In practice, the "null pointer de-reference" would not actually occur ?).

svn path=/trunk/; revision=42718
2012-05-19 16:55:22 +00:00
Jakub Zawadzki
e8c69cef7e Free memory when create_tempfile() failed.
svn path=/trunk/; revision=42654
2012-05-16 09:07:19 +00:00
Gerald Combs
09487194e4 Check the return value of create_tempfile. Fixes CIDs 280527 and 280528.
svn path=/trunk/; revision=42645
2012-05-16 00:27:26 +00:00
Gerald Combs
9d9aa0f241 Don't leak an open file handle (CID 702423).
svn path=/trunk/; revision=42642
2012-05-15 22:25:35 +00:00
pascal
78d983a963 From Akos Lukovics:
Fix div-by-zero error in the moving average filter of IO graph
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6236

svn path=/trunk/; revision=42598
2012-05-12 15:19:25 +00:00
Jakub Zawadzki
35745a33cd Fix bug #7251
We're already checking in gtk if end highlight offsets don't exceed len.
Do the same for start offset.

I wonder if it this checks should be also done when adding items to tree...

svn path=/trunk/; revision=42596
2012-05-12 07:57:51 +00:00
Guy Harris
47fadf1d2a Clean up indentation. (HT should not be assumed to work on 4-space tab
stops.)

svn path=/trunk/; revision=42580
2012-05-11 17:35:56 +00:00
Guy Harris
f1b11f62f8 proto_registrar_get_ftype() returns an FT_ value; make its return type
"enum ftenum" to reflect that, and fix the "switch doesn't handle XXX"
warnings that provokes.

svn path=/trunk/; revision=42579
2012-05-11 17:29:56 +00:00
Martin Mathieson
cbf94b40d4 Avoid needlessly shadowing a variable.
svn path=/trunk/; revision=42551
2012-05-10 16:05:02 +00:00
Jakub Zawadzki
709d04976c Avoid calling tvb_get_ptr() on 0-length TVBs.
It seems to be better fix than r42420

svn path=/trunk/; revision=42460
2012-05-07 10:51:14 +00:00
Bill Meier
1783543e92 AFAICT '#include sys/types.h' is not needed for these files.
svn path=/trunk/; revision=42446
2012-05-05 21:29:13 +00:00
Bill Meier
a703450659 AFAICT '#include sys/types.h' is not needed for these files.
svn path=/trunk/; revision=42443
2012-05-05 20:51:14 +00:00
Bill Meier
f672e4822a Cosmetic change....
svn path=/trunk/; revision=42440
2012-05-05 16:02:36 +00:00
Jeff Morriss
7afb363eab Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6892 :
Sort the recent filters list by "most recently used" (that is, put the most
recently used filter at the head of the list).

svn path=/trunk/; revision=42439
2012-05-05 15:09:19 +00:00
Jeff Morriss
24f5265620 Clean up white space and indentation; remove tabs.
svn path=/trunk/; revision=42438
2012-05-05 14:37:19 +00:00
Jakub Zawadzki
fd38b34c2c Fix opening packet window when frame has got cap_len = 0 (i.e. last frame from mime_file reader)
Workaround, if someone has better idea how to fix it, please do.

svn path=/trunk/; revision=42420
2012-05-04 10:28:16 +00:00
Jakub Zawadzki
8bf8070340 Add proto_hier_tree_model.c to CMakeLists
svn path=/trunk/; revision=42419
2012-05-04 08:17:46 +00:00
Jakub Zawadzki
82b077278c cleanup proto_hier_tree_model a little.
svn path=/trunk/; revision=42415
2012-05-04 06:08:22 +00:00
Jakub Zawadzki
fdaa9aa3ac Fix memleak of GtkTextBuffer
svn path=/trunk/; revision=42414
2012-05-04 05:56:38 +00:00
Anders Broman
0cea399fda From Jakub Zawadzki: Use custom model in Filter Expression dialog.
svn path=/trunk/; revision=42411
2012-05-04 04:44:23 +00:00
Anders Broman
77074a5a37 From Evan Huus: - Make sure that unsupported link-layer types *always* have a dlt of -1 in the device.links list so that we can tell if they're unsupported. - When building the combo-box of link-layer types, make the unsupported ones insensitive (disabled), and be sure to default to a supported one if we have one. - Compiling a capture filter requires a supported link-layer type, so disable the 'Compile BPF' button if there are none. - It is not always a programming error to have no active pointer in the combo-box, as this can happen when all the available entries are unsupported (and thus disabled). Don't abort with g_assert_not_reached() when this happens. - Unlock the pcap_compile_mtx mutex in all cases after compiling a packet filter. This was causing a deadlock (complete program hang) if you tried to compile two different filters in a row on the same interface. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7135
svn path=/trunk/; revision=42410
2012-05-04 04:35:43 +00:00
Chris Maynard
2eeb504807 From Klaus Heckelmann via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7221: Avoid wireshark crash on platforms where an 8 byte alignment is required by changing the resp_time field in the icmp_transaction_t from a double to an nstime_t.
svn path=/trunk/; revision=42393
2012-05-03 01:48:59 +00:00
Martin Mathieson
6eb94dd35e Test a return value to avoid an initialised warning from clang.
svn path=/trunk/; revision=42313
2012-04-28 16:18:28 +00:00
Jakub Zawadzki
4253c73d8f Fix sigsegv in filter expression dialog when user clicked on some BASE_CUSTOM field.
svn path=/trunk/; revision=42301
2012-04-27 20:35:17 +00:00
Jakub Zawadzki
31f6e7e35d Don't store protocol field names in Filter Expression dialog.
Using gtk_tree_view_column_set_cell_data_func() and formating string on request 
gives significant speedup (before patch: 12.392ms, after: 9.779ms).

svn path=/trunk/; revision=42291
2012-04-27 13:54:21 +00:00
Guy Harris
177be74688 Get rid of tabs; make white space consistent.
Get rid of gtk_widget_set_size_request() calls - at least on my machine
and GTK+ version, they make some of the items too small to show the full
text.  Let GTK+ figure out how big things have to be - and if that makes
the toolbar too wide, redesign the toolbar.

svn path=/trunk/; revision=42277
2012-04-26 22:11:01 +00:00
Guy Harris
661afd4ba9 Consistently InterCapitalize StatusBar.
Separate "Toolbar" from the toolbar name in the View menu items.

Use "l", rather than "W", as the whatchamacallit for the wireless
toolbar - "W" is already used for "show packet in new window".

svn path=/trunk/; revision=42275
2012-04-26 18:02:04 +00:00
Guy Harris
99a66a0e77 While we're at it, add back the shortcuts, or whatever the heck the
Alt+{letter}+... things are called, for the Expand and Collapse items.

svn path=/trunk/; revision=42274
2012-04-26 17:36:39 +00:00
Anders Broman
47fdd93c3c Restore Accelerators for "Expand Subtree", "Expand All" and "Collapse All".
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7197

svn path=/trunk/; revision=42261
2012-04-26 15:17:01 +00:00
Anders Broman
01abbdf6d2 Add missing ";"
svn path=/trunk/; revision=42222
2012-04-24 14:48:46 +00:00
Michael Tüxen
fd356ab4c8 Get it compiling...
svn path=/trunk/; revision=42214
2012-04-23 18:48:00 +00:00