Commit Graph

432 Commits

Author SHA1 Message Date
Guy Harris 2d4bd31654 We need main.h for main_update_for_unsaved_changes(), regardless of
whether we have pcap or not.

svn path=/trunk/; revision=43052
2012-06-04 03:09:54 +00:00
Guy Harris 9c44d87610 Have a main_update_for_unsaved_changes() routine that, if changes are
made to the capture file (adding/removing/editing comments, for now) or
if a capture file with unsaved changes are unsaved, updates the menu
bar, the toolbar, *and* the titlebar, which now has a GNOME-style "*" to
indicate unsaved changes.

Make set_menus_for_capture_file() a private interface between main.c and
main_menubar.c, and have its callers, such as
main_update_for_unsaved_changes(), be responsible for updating the
toolbar as well.

svn path=/trunk/; revision=43051
2012-06-04 02:24:42 +00:00
Guy Harris 624b3f6d19 set_file_type_list() uses two items from the capture_file structure;
just pass it a pointer to a capture_file structure and have it use them
as it chooses.

svn path=/trunk/; revision=43049
2012-06-03 23:41:39 +00:00
Guy Harris dbfb305368 g_filename_display_basename() returns a g_mallocated string, so its
callers either need to free it or their callers need to free it or....

This means that cf_get_display_name() must always return a g_mallocated
string and its callers or... must free it.

For some of those callers, create a new set_window_title() routine to do
the work - they're all using the same pattern.

svn path=/trunk/; revision=43047
2012-06-03 22:03:05 +00:00
Guy Harris bfb179ba46 When allowing the user to save a capture file before closing it, if it's
a live capture:

	have the dialog note that what's being saved are captured
	packets;

	have the dialog note that the capture will be stopped if you
	close/quit;

	actually stop the capture before saving the file or closing it.

This should fix bug 7318 (it appears to do so in my tests).

svn path=/trunk/; revision=43045
2012-06-03 20:39:45 +00:00
Guy Harris 49ac36fd59 Use g_filename_display_basename() rather than get_basename() when we're
getting the basename for display purposes, so it's converted from the
GLib/GTK+ locale filename encoding to UTF-8.  (For Windows, the locale
filename encoding is UTF-8, and the internal encoding is UTF-16, so the
file names should *probably* all be valid UTF-8 - Windows may not
support invalid UTF-16 in file names.  For Qt, I'm not sure whether the
file dialogs ever return file names in some non-UTF-8 encoding.)

svn path=/trunk/; revision=43044
2012-06-03 19:31:59 +00:00
Guy Harris 5537e925f1 Move the declaration of main_set_window_name() frm ui/ui_util.h to
ui/gtk/main_titlebar.h.

svn path=/trunk/; revision=43042
2012-06-03 18:40:23 +00:00
Guy Harris 742b22dd43 Move routines that handle the main window title bar out of
ui/gtk/gui_utils.c into ui/gtk/main_titlebar.c, and the declaration of
one of them out of ui/ui_util.h into ui/gtk/main_titlebar.h, and rename
them to clarify that they work on the window name and titlebar.

svn path=/trunk/; revision=43041
2012-06-03 18:35:34 +00:00
Anders Broman 55ad6f8b53 Get rid of mor hbox:es
svn path=/trunk/; revision=43039
2012-06-03 18:03:00 +00:00
Anders Broman de19187a4f From Evan Huus: Reset the comment tree when the filter changes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7317
svn path=/trunk/; revision=43038
2012-06-03 17:52:05 +00:00
Guy Harris 19dfeda6d6 Note in a comment that we should perhaps handle safe-saving on top of a
symlink.

svn path=/trunk/; revision=43037
2012-06-03 17:35:34 +00:00
Guy Harris cd90f2b6f5 gedit, at least, says
The file "xxx" is read-only.

if you try to save over a file that has no read permission bits.

svn path=/trunk/; revision=43036
2012-06-03 17:25:08 +00:00
Anders Broman dbc4b09004 From Evan Huus Convert a bunch more GTK-2 calls to their cross-version ws_ equivalent
svn path=/trunk/; revision=43009
2012-06-02 23:53:04 +00:00
Guy Harris 68a4971594 If the user tries to save a capture file atop a file that has all its
write bits turned off or, on 4.4-Lite-based systems, has its "user
immutable" bit turned on, ask them if they really want to overwrite the
file (as those are both used to say "this file is precious, don't let me
easily accidentally trash it") and, if the "user immutable" bit is set,
turn it off first so that the move in the "safe save" won't fail.

svn path=/trunk/; revision=43006
2012-06-02 18:53:13 +00:00
Guy Harris 2e4f30d0f9 The only reason we need to do locale conversions is that path names as
returned by the file selection dialog are in the locale's character
encoding.  Just convert those, and use the formatting capabilities of
the GTK+ message dialog rather than formattting the message to a string
and translating it in its entirety.

Use g_filename_display_basename() to do the locale conversion while
we're at it.

svn path=/trunk/; revision=43005
2012-06-02 18:13:12 +00:00
Guy Harris 49216b1091 Clean up indentation.
svn path=/trunk/; revision=43004
2012-06-02 17:05:12 +00:00
Anders Broman b647402c60 From Evan Huus Memory leak in voip_calls.c https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7320
svn path=/trunk/; revision=42997
2012-06-02 13:28:42 +00:00
Jeff Morriss d4fdd6ad52 Only propose decoding PPID 0 if that PPID is in the currently-selected frame.
(I used PPID 0xffffffff as an end-of-list marker so that PPID can no longer
be used in this dialog; if someone starts using that PPID then we'll have
to put a count of PPIDs in pinfo.)

svn path=/trunk/; revision=42991
2012-06-01 21:18:59 +00:00
Anders Broman 86c69b01e7 From Alexander Koeppe.
Patch that creates the filter according to the protocol tree selected.
Fixes
IPv6 filters built from "Protocol Hierarchy Statistics" dialog not specific
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7250

svn path=/trunk/; revision=42960
2012-06-01 07:02:04 +00:00
Gerald Combs 698ad5bd95 From Martin Kaiser via bug 7312:
there's three coverity defects about division by zero in ui/cli/tap-iostat.c,
function iostat_packet()

This can be triggered from the command line

martin@greta# ./tshark -z io,stat,0.2,AVG\(frame.number\)
Capturing on eth0
Floating point exception

it->num is 0, wireshark crashes in

parent->max_vals[it->colnum] =                       
MAX(parent->max_vals[it->colnum], it->counter/it->num);

(and similar for other data types)

My proposal for a fix is to not update parent->max_vals[it->colnum] when
it->num==0, see the attached patch.

svn path=/trunk/; revision=42952
2012-05-31 21:40:55 +00:00
Jakub Zawadzki c725ee11a6 Fix part of bug #4030
GeoIP strings from r39299 are encoded in UTF-8 so don't use format_text.

svn path=/trunk/; revision=42911
2012-05-30 06:44:37 +00:00
Anders Broman fa11167ea1 From Evan Huus:
Misc resource leaks.

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

svn path=/trunk/; revision=42892
2012-05-29 07:27:35 +00:00
Chris Maynard 3e52049ff5 Fix Coverity CID's 702388 and 702422: OVERFLOW_BEFORE_WIDEN.
svn path=/trunk/; revision=42886
2012-05-28 18:37:10 +00:00
Guy Harris 53375198ec Don't use pcap LINKTYPE_ values in the iface_options structure, use
Wiretap encapsulation values; rename the field in question encap_type to
emphasize that.  (Code that looks at that field already assumes it's a
Wiretap encapsulation value.)

For live captures, map the LINKTYPE_ value to a Wiretap encapsulation
value.

wtap_encap_string() never returns NULL, so don't check for a null return
value.

svn path=/trunk/; revision=42871
2012-05-28 00:31:27 +00:00
Guy Harris e6ec5d8f50 From Evan Huus in bug 7295:
cppcheck realized that if_info is known not to be null in that code
path, and therefore that checking whether it's null in that code path is
unnecessary.  Remove it.

svn path=/trunk/; revision=42867
2012-05-27 20:47:57 +00:00
Guy Harris d7279caa93 From Evan Huus from bug 7295:
Fix an ancient copy-and-pasteo of mine ("me" here meaning Guy Harris,
not Evan Huus) - remove an unused data structure (used in the code I
copied and pasted to make this code, not used here).

svn path=/trunk/; revision=42866
2012-05-27 20:45:16 +00:00
Guy Harris 92f38021bf See if this fixes the include problem.
svn path=/trunk/; revision=42857
2012-05-25 21:58:10 +00:00
Guy Harris 3ccf517f37 Fix some build problems.
svn path=/trunk/; revision=42856
2012-05-25 21:52:50 +00:00
Guy Harris 6014035703 Use GTK+'s GtkMessageDialog for the questions we ask in the process of
saving files, and run it modal (which we're already doing with the
GtkFileChooserDialog); this means less callback-based state machine
stuff, simplifying the code paths a bit.

If we're saving a file before closing it, don't bother reloading it
after saving it.

svn path=/trunk/; revision=42855
2012-05-25 21:25:55 +00:00
Guy Harris cc4f738fc0 Well, "ui/gtk/capture_file_dlg.h" is needed on Win32.
svn path=/trunk/; revision=42851
2012-05-25 09:58:42 +00:00
Guy Harris c48b78bbee ui/gtk/capture_file_dlg.h doesn't need to be included in these files.
svn path=/trunk/; revision=42850
2012-05-25 09:26:45 +00:00
Chris Maynard ada62f22a8 If either create_persconffile_dir() or ws_fopen() fail, then bail out. This avoids potentially dereferencing "daf" if it's NULL and fixes Coverity CID 281275.
svn path=/trunk/; revision=42841
2012-05-25 00:43:32 +00:00
Jeff Morriss 135ebc4148 Don't include a Clear button in the packet- and capture-file-comment dialogs:
the user can just Ctrl-A + backspace if they want to do that.

svn path=/trunk/; revision=42836
2012-05-24 21:38:22 +00:00
Jeff Morriss 373e0925f3 Enable word wrapping for capture-file comments.
svn path=/trunk/; revision=42835
2012-05-24 21:35:41 +00:00
Jeff Morriss 9ea08d6b12 Get rid of the button row for the capture-file comments. Instead, turn the
whole summary dialog into an editor-like dialog with an OK and Cancel buttons
(OK sets the new capture file comment, Cancel doesn't).

In order to keep the dialog the same regardless of the file type (and avoid
having a Cancel and OK button when there's no text field to edit), allow
users to create or edit capture-file comments even if the file type is not
PCAPNG (they can add a comment via the add/edit comment UI anyway).

Don't include a Clear button: the user can just Ctrl-A + backspace if they
want to do that.

Don't set the comment text to "[None]" if there's no comment, just leave it
blank.

Don't allow the user to create more than 1 Summary dialog at a time.

svn path=/trunk/; revision=42834
2012-05-24 21:33:25 +00:00
Guy Harris 0d6e9145be Word-wrap comments in the display.
svn path=/trunk/; revision=42833
2012-05-24 19:18:31 +00:00
Jeff Morriss a4bbd97979 Use cf_update_capture_comment() to save the capture comment (instead of
summary_update_comment() which is no longer necessary).
cf_update_capture_comment() has the advantage that it doesn't mark the file
as unsaved unless the comment actually changed.

svn path=/trunk/; revision=42832
2012-05-24 18:59:39 +00:00
Jeff Morriss 474281be2a Free the new comment after calling gtk_text_buffer_set_text().
svn path=/trunk/; revision=42831
2012-05-24 18:55:38 +00:00
Jeff Morriss b32c6c0658 menu_dissector_filter(): free the action_name when we're done with it.
capture_cb(): if we strrchr() didn't find a seperator, don't use
g_strdup_printf() to format the action_name (since that would have to be
freed), just set it to the action_name.

svn path=/trunk/; revision=42829
2012-05-24 18:26:52 +00:00
Jeff Morriss c1e2dd357d Free the comment after calling gtk_text_buffer_set_text().
svn path=/trunk/; revision=42828
2012-05-24 18:11:55 +00:00
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