Commit graph

161 commits

Author SHA1 Message Date
Gerald Combs
17a67c3b5c Get the "Decode As" dialog working, albeit with a few warts. It differs
from the GTK flavor in two major ways:

- The "Decode As" and "User Specified Decodes" dialog have been unified.
- You can modify the decode as behavior at any time, not just when you
  have a packet selected.

Revert part of 53498 so that we can move items marked

/*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/

from epan/decode_as.h to ui/decode_as_utils.h. 

Move "save" code from decode_as_dlg.c to decode_as_utils.c as well.

In packet-dcerpc.c don't register a table named "ethertype". We might
want to add checks for duplicate table names.

To do:
- Add support for ranges?
- Either add support for DCERPC or make DCERPC use a regular dissector
  table.
- Fix string selectors (i.e. BER).


svn path=/trunk/; revision=53910
2013-12-10 19:23:26 +00:00
Guy Harris
125a17f8e5 Initialize the error-reporting routines before scanning for plugins, as
the code to scan for them uses those routines.

This means epan_init() no longer takes those routines as arguments -
which is just as well, given that the mechanism in question is no longer
part of libwireshark, but is part of libwsutil.

This should fix bug 9508.

svn path=/trunk/; revision=53796
2013-12-05 09:30:22 +00:00
Guy Harris
0cc1545d05 Move most of the plugin code from epan to wsutil and remove all
knowledge of particular types of plugins.  Instead, let particular types
of plugins register with the common plugin code, giving a name and a
routine to recognize that type of plugin.

In particular applications, only process the relevant plugin types.

Add a Makefile.common to the codecs directory.

svn path=/trunk/; revision=53710
2013-12-02 08:30:29 +00:00
Gerald Combs
70709e1b35 Move common "decode as" preference code to epan.
We presumably want "decode as" behavior to be consistent across UIs so
call load_decode_as_entries() from read_prefs().

svn path=/trunk/; revision=53498
2013-11-22 00:20:23 +00:00
Guy Harris
bd625113ea status, in main, is now used only if we have libpcap.
svn path=/trunk/; revision=53455
2013-11-20 22:38:15 +00:00
Michael Mann
01c8945438 Provide "Decode As" functionality through dissectors themselves instead of the GUI. Bug 9450 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9450)
The basic idea behind this design is to have dissectors register with a "decode as list" with their name and dissector table.  When "Decode As" dialog is launched, any "registered" dissector found in the packet will cause a tab to be created in the dialog.  Any GUI (GTK+/Qt/tshark) can just hook into the "decode as list" to see what can be provided.

This patch includes the GUI portion of the functionality (including packet-dcerpc.[ch] because it had some GUI dependencies that are now removed).

Other notes:
1. Some "GUI text" (UTF8_LEFTWARDS_ARROW and similar) made their way into the dissector code.  Not sure how necessary it is and if reformatting the strings to avoid the macros is desired (TCP/UDP use it, SCTP doesn't).

2. I converted the SCTP functionality to have 2 tabs (instead of radio button), currently both are labeled "Transport" which could be confusing to users.  Naming suggestions welcome (as well as for naming of tabs from other dissectors).

3. BER and DCERPC have more opportunity to use Decode As now that they are selected based on dissector presense, not packet_info values.

4. Catapult DCT2000 populates pinfo->ipproto, yet under new design will not show up to do Decode As.  Should a "decode as item" be created for it?

5. BER dissector doesn't have Clear/Show Current functionality working (never did)

6. Bluetooth (in old design) could have been used "capture wide" instead of single packet (creating tabs of values not present in current packet), which goes against what I believe to be in the intent of Decode As, but I'm willing to hear counter-arguments.

svn path=/trunk/; revision=53446
2013-11-20 19:23:02 +00:00
Guy Harris
06098fce7b Add routines to set the personal file directory paths (personal
configuration file directory and directory in which to save captures),
have the routine to parse -P options use them, and move that routine to
libui.

Have that routine just return a gboolean.

svn path=/trunk/; revision=53435
2013-11-19 19:45:38 +00:00
Guy Harris
db25270df8 Move the epan/filesystem.c routines to wsutil; they're not specific to
packet dissection, they're specific to the entire Wireshark suite of
programs.

svn path=/trunk/; revision=53377
2013-11-17 02:55:14 +00:00
Guy Harris
2a088c1d53 Add support for displaying dates as year and day-of-year (1-origin).
In the process, fix various man page descriptions of the -t flag,
and add support for UTC absolute times in the iousers and iostat TShark
taps.

svn path=/trunk/; revision=53114
2013-11-06 20:39:09 +00:00
Gerald Combs
ba49d9bcf0 Revert part of 52896 and (for now) all of 52935. As Jeff pointed out,
the PortableApps version relies on U3_-prefixed environment variables.

svn path=/trunk/; revision=52941
2013-10-29 04:05:27 +00:00
Gerald Combs
69741d086b Remove U3 code and packaging.
svn path=/trunk/; revision=52896
2013-10-27 17:15:39 +00:00
Michael Mann
bb25fad9de Add the ability to collapse subtrees with Shift+Left + additional menu items. Bug 9008 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9008).
Currently this is only for GTK, but allows users to test it to see if its worth adding to Qt (my personal opinion is yes).

From Jiří Engelthaler

svn path=/trunk/; revision=52790
2013-10-23 14:24:17 +00:00
Anders Broman
b8003ea06e g_slist_free_full() is glib 2.28
Fix spelling.

svn path=/trunk/; revision=52787
2013-10-23 14:04:19 +00:00
Anders Broman
e717ca06bd Make manual address resolution work again by putting the addresses
in a separate list and add that list when address resolution is rebuilt
during rescan of packets.

svn path=/trunk/; revision=52785
2013-10-23 12:02:15 +00:00
Jakub Zawadzki
28e9dcc4a9 Some work on multi file dissection
- make init_dissection/cleanup_dissection private for libwireshark
- implement epan_new(), epan_free()
- pass epan_t to epan_dissect*

svn path=/trunk/; revision=50761
2013-07-21 18:38:03 +00:00
Jeff Morriss
0a669967fa Move merge.{h,c} into wiretap: these modules use wiretap to merge files.
svn path=/trunk/; revision=50656
2013-07-16 02:35:33 +00:00
Jeff Morriss
56735f8c16 Move u3.{h,c} and g711.{h,c} into wsutil.
Project g711.h against multiple inclusion and add C++ compatibility wrapper.

svn path=/trunk/; revision=50654
2013-07-16 02:04:55 +00:00
Jeff Morriss
4dcc156cf3 Move the print modules into epan.
svn path=/trunk/; revision=50526
2013-07-12 03:50:50 +00:00
Jeff Morriss
16206348d9 Move disabled_protos.{h,c} into epan.
svn path=/trunk/; revision=50521
2013-07-12 01:40:06 +00:00
Jakub Zawadzki
ce81449ed9 packet dissection now takes pointer to tvb instead of guint8 data
implement frame_tvbuff, right now almost a copy of 'real' tvb.

svn path=/trunk/; revision=50497
2013-07-11 05:47:02 +00:00
Jeff Morriss
36d3734dcb From Jim Young via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8906 :
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
2013-07-08 16:25:13 +00:00
Luis Ontanon
7f5d688bda Windows changes for main_window_update ....
svn path=/trunk/; revision=50192
2013-06-27 17:45:07 +00:00
Luis Ontanon
0bdc0efc46 get main_window_update out of the way... pass an update_cb to the capture_sync stuff
... 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
2013-06-27 17:10:50 +00:00
Guy Harris
8c9edf1280 Have the seek-read routines take a Buffer rather than a guint8 pointer
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
2013-06-16 00:20:00 +00:00
Guy Harris
eb56f6fb96 Get rid of an unused routine.
svn path=/trunk/; revision=49521
2013-05-22 20:22:40 +00:00
Guy Harris
107fa2d599 Sigh, it was a "building without libpcap" issue.
svn path=/trunk/; revision=49507
2013-05-22 10:21:52 +00:00
Guy Harris
9277023cce OK, try hiding from *THIS*, GCC. Will break other buildbots, but the
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
2013-05-22 09:59:58 +00:00
Guy Harris
f096a1e57a OK, try directly including capture_session.h.
svn path=/trunk/; revision=49502
2013-05-22 09:05:35 +00:00
Guy Harris
575dc6d110 OK, what's your beef, GCC?
svn path=/trunk/; revision=49500
2013-05-22 08:48:26 +00:00
Guy Harris
8596d17d7f Pull the capture-session state information out of capture_opts and put
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
2013-05-22 07:44:28 +00:00
Guy Harris
1ca63098ac Rename capture_opts_trim_iface() to
capture_opts_default_iface_if_necessary(), to reflect what it actually
does.

svn path=/trunk/; revision=49491
2013-05-22 04:49:31 +00:00
Guy Harris
39779a7bee Send the output of the -D and -L options to the standard output rather
than the standard error.

In Wireshark on Windows, create a console before doing so and destroy it
before exiting.  Don't do that in TShark or dumpcap, as those are
console-mode programs on Windows.

This should fix bug 8609 and still allow "wireshark -D" and "wireshark
-L" to work when the standard output isn't redirected.

svn path=/trunk/; revision=49025
2013-04-25 05:47:11 +00:00
Irene Rüngeler
bcf7a98be1 Select the interface, if only one exists.
svn path=/trunk/; revision=48813
2013-04-11 08:31:59 +00:00
Irene Rüngeler
afb0e76c8b The default interface should now be selected also on Windows.
svn path=/trunk/; revision=48799
2013-04-09 08:41:01 +00:00
Jeff Morriss
c2ced4a2ab Don't try to open <home>/.wireshark on Windows: Wireshark hasn't written to
that directory since 2001 and reading from that directory was only left in for
backwards compatibility with versions prior to r4702.  I think it's now safe
to remove that backwards compatibility.

This eliminates the last argument of get_persconffile_path().

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

svn path=/trunk/; revision=48797
2013-04-09 02:48:03 +00:00
Guy Harris
d49404236c Get rid of main_capture_set_main_window_title(), as it just wraps
set_titlebar_for_capture_in_progress(); make the call directly, to make
it a bit clearer when it needs to be called (which helps us do the
equivalent in the Qt version).

svn path=/trunk/; revision=48687
2013-04-01 17:57:20 +00:00
Guy Harris
a94307adcf Move the knowledge about what the window title should be to
ui/gtk/main_titlebar.c, with set_titlebar_for_capture_file() for either
no capture file or an opened capture file and
set_titlebar_for_capture_in_progress() for an in-progress capture.

svn path=/trunk/; revision=48683
2013-04-01 00:21:44 +00:00
Guy Harris
78ab71cc9d Rename set_display_filename() to set_titlebar_for_capture_file(), as
it affects more than just the file name, it also affects whatever "you
have unsaved changes" indicator the UI provides.

Put a comment in the Qt code as a reminder of how to set the "you have
unsaved changes" indicator.

svn path=/trunk/; revision=48680
2013-03-31 22:17:43 +00:00
Evan Huus
6fa584b0db Move wireshark's display filter flag to -Y for consistency with tshark.
Part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8223

svn path=/trunk/; revision=48653
2013-03-30 12:15:42 +00:00
Evan Huus
20e049795f If wireshark is started with a file and a display filter, apply the display
filter *after* initially reading the file so that we get the expected multi-
pass behaviour and forward-looking filters (like response_in) work properly.

svn path=/trunk/; revision=48615
2013-03-28 14:54:33 +00:00
Pascal Quantin
5a877ea9fe From Jim Young via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8531 :
Fix compilation when building with HAVE_GTKOSXAPPLICATION

svn path=/trunk/; revision=48585
2013-03-27 12:29:44 +00:00
Gerald Combs
d1b87423df More icon updates.
Use the PNG versions of the new application icons.

Remove the XPM versions of the Wireshark application and capture icons.
To paraphrase Zoidberg, XPMs are bad and we should feel bad. Remove
xpm_to_widget_from_parent (which we weren't using and likely won't use
in the future).

Replace wiki_24.xpm (which was a GNOME or GTK+ stock icon IIRC) with the
16x16 and 24x24 versions emblem-web.png from GNOME icon theme 2.30.3.
This version was used specifically because it's GPLv2 and later versions
are GPLv3.

Update image/README.

svn path=/trunk/; revision=48565
2013-03-26 19:51:33 +00:00
Anders Broman
684c9e5d5c From Jim Young:
Add casts to support c++ when HAVE_GTKOSXAPPLICATION is defined.

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

svn path=/trunk/; revision=48557
2013-03-26 05:02:05 +00:00
Bill Meier
8112ecc321 From beroset:
remove C++ incompatibilities
 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416 attachment #10404

Note: The following parts of the patch had been previously done:
 asn1/snmp/packet-snmp-template.c
 epan/dissectors/packet-snmp.c
 epan/dissectors/packet-x11.c

Also; hostlist_table.c: code under '#ifdef HAVE_GEOIP'
 didn't compile and needed a few additional patches.


svn path=/trunk/; revision=48447
2013-03-21 02:29:09 +00:00
Anders Broman
2cc00294c7 Use explicit casts.
svn path=/trunk/; revision=48260
2013-03-12 06:41:00 +00:00
Anders Broman
ac2515ee6f Use explicit casts.
svn path=/trunk/; revision=48239
2013-03-11 06:47:34 +00:00
Jeff Morriss
19214234ae Followup to r48081: use the DEFAULT_CAPTURE_BUFFER_SIZE macro from r47942.
svn path=/trunk/; revision=48085
2013-03-05 15:22:28 +00:00
Chris Maynard
2b93c3b31e Default capture buffer size is now 2MB. (See also r47920 and r47937)
svn path=/trunk/; revision=48081
2013-03-05 02:09:37 +00:00
Bill Meier
162817ad33 it's ==> its & its ==> it's as needed.
In a few cases:
 Fix spelling;
 Clean up whitespace and formatting style.

svn path=/trunk/; revision=47889
2013-02-25 23:35:13 +00:00
Gerald Combs
b0d958c4ed Don't yell at the user quite so much. Remove exclamation points from
some error messages and rephrase some others.

svn path=/trunk/; revision=47787
2013-02-21 01:00:44 +00:00