Commit Graph

121 Commits

Author SHA1 Message Date
Stig Bjørlykke a2d1e9005d This patch adds support for configuration profiles, which can be used to
configure and use more than one set of preferences and configuration files.

This can be found in the "Configuration Profiles..." menu item from the Edit
menu, or by pressing Shift-Ctrl-A.  It's also possible to start wireshark
and tshark with a named profile by using the "-C ProfileName" option.
A new status pane in the main window will show the current profile.

The configuration files currently stored in the Profiles are:
- Preferences
- Capture Filters
- Display Filters
- Coloring Rules
- Disabled Protocols
- User Accessible Tables

The recent data are by design not added to the profile.

Planned future enhancements:
- make a more convenient function to switch between profiles
- add a "clone profile" button to copy an existing profile
- make the profiles list active and accept return as OK
- save users "Decode as" in the profile
- make new, clone and deletion of profiles more secure
- make some of the recent values available in the profile

This patch also fixes:
- setting default status pane sizes
- a bug setting status pane for packets when not having main lower pane.

svn path=/trunk/; revision=24089
2008-01-14 16:40:23 +00:00
Tomas Kukosa 136de3920c new codec table for registering codecs by name
new codec plugin type
search registered codecs in rtp player
fix memory leak in rtp player

svn path=/trunk/; revision=23270
2007-10-25 09:38:15 +00:00
Luis Ontanon d8e818e9da Make sure that wiretap plugins are loaded before dissectors are (if a new encap type is registered the plugin probably needs it before reg_handoff)
svn path=/trunk/; revision=22461
2007-08-07 20:07:43 +00:00
Luis Ontanon 11f06217ce Have editcap and capinfos loading the wiretap plugins.
epan/filesystem.c
   have get_plugin_dir() calling init_plugin_dir() if necessary

epan/epan.c and epan/report_err.c
   move the report_failure family into the new report_err.c file, have epan_init() calling the initializer

epan/plugins.h and epan/proto.c
   do not have init_plugins() calling the proto_reg functions instead do it in init_proto()

gtk/main.c and tshark.c
   init_plugin_dir() has become suprefluous

capinfos.c and editcap.c
   load the wiretap plugins

Makefiles
   do what's needed to build withe the above changes.




svn path=/trunk/; revision=21935
2007-05-25 17:22:32 +00:00
Luis Ontanon 869732d121 Prepare wireshark and tshark for wiretap plugins
svn path=/trunk/; revision=21928
2007-05-24 22:26:51 +00:00
Guy Harris 44c0624bd9 Add a WIRESHARK_RUN_FROM_BUILD_DIRECTORY environment variable on UN*X;
if set, and if the program isn't running with additional privileges,
it'll treat the directory in which the program is found as the data
directory.

If, on Windows, the version-number subdirectory of {data
directory}\plugins doesn't exist (which is assumed to mean that the
program is being run from the build directory), or if, on UN*X,
WIRESHARK_RUN_FROM_BUILD_DIRECTORY is set, the plugin directory is the
"plugins" subdirectory of the data directory, and all subdirectories of
that directory are scanned for plugins, as the "plugins" subdirectory of
the build directory contains subdirectories for the plugins; this means
that if we're running from the build directory, we'll find the plugins
we built in the build tree.

When generating the wireshark-filter man page, run tshark with
WIRESHARK_RUN_FROM_BUILD_DIRECTORY set, so it uses the plugins from the
build to generate the list of filters.

svn path=/trunk/; revision=20261
2007-01-02 06:49:40 +00:00
Jörg Mayer d9b930a7d7 image/wireshark.rc.in
svn path=/trunk/; revision=18310
2006-06-02 06:50:57 +00:00
Anders Broman 996d4db495 Ethereal->Wireshark
svn path=/trunk/; revision=18234
2006-05-28 19:49:07 +00:00
Ronnie Sahlberg 6075ec39fb ethereal->wireshark
svn path=/trunk/; revision=18207
2006-05-22 08:21:22 +00:00
Ronnie Sahlberg f0b33a4789 ethereal->wireshark updates
svn path=/trunk/; revision=18206
2006-05-22 08:14:01 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Guy Harris 4c4f18eb3f Add code to check whether the app was started with special privileges
(e.g., set-UID or set-GID), and don't load user plugs if it is.

svn path=/trunk/; revision=17174
2006-02-06 03:11:34 +00:00
Guy Harris ca781ff145 Use eth_dir_open(), not g_dir_open(); g_dir_open() isn't available in
GLib 1.2[.x].

svn path=/trunk/; revision=16412
2005-11-07 08:36:25 +00:00
Guy Harris db9fba20b4 Use <wiretap/file_util.h> to include "file_util.h"; otherwise, the
include fails as we don't do -Iwiretap.

If we have it, include <sys/stat.h> in epan/filesystem.c - we need it
for stat() and the macros and structures it uses.

svn path=/trunk/; revision=16410
2005-11-07 02:47:09 +00:00
Ulf Lamping c3187174bf replace *a lot* of file related calls by their GLib counterparts. This is necessary for the switch to GTK 2.6 (at least on WIN32).
to do this, I've added file_util.h to wiretap (would file_compat.h be a better name?), and provide compat_macros like eth_open() instead of open(). While at it, move other file related things there, like #include <io.h>, definition of O_BINARY and alike, so it's all in one place.

deleted related things from config.h.win32

As of these massive changes, I'm almost certain that this will break the Unix build. I'll keep an eye on the buildbot so hopefully everything is working again soon.

svn path=/trunk/; revision=16403
2005-11-06 22:43:25 +00:00
Ulf Lamping 994496a184 several times replacing:
sprintf -> g_snprintf
snprintf -> g_snprintf
vsnprintf -> g_vsnprintf
strdup -> g_strdup

svn path=/trunk/; revision=15412
2005-08-18 19:31:15 +00:00
Ulf Lamping 0dc9fb3d4a various code cleanup:
-use g_snprintf instead of sprintf and snprintf
-use g_strdup_printf where appropriate
-remove #include "snprintf.h" (as only g_snprintf should be used)
-replace some more alloc/realloc/calloc/free with their glib pendants

svn path=/trunk/; revision=15264
2005-08-08 18:50:39 +00:00
Lars Roland 65fb9ef620 Remove support for the old plugin api.
TODO: 
cleanup files in /trunk/plugins

svn path=/trunk/; revision=13782
2005-03-16 23:07:08 +00:00
Guy Harris 802859d3fd Call the "new-style init" routine for plugins a "register" routine, as
it serves the same purpose as the register routine in a built-in
dissector, and don't require all dissectors to have one, as they might
just be taps.

Get rid of the stats tree's init routine, as it's just a tap, and as it
doesn't do anything.

Update the idl2eth Python script to generate plugins with register routines.

svn path=/trunk/; revision=13644
2005-03-07 02:44:41 +00:00
Guy Harris e27279e14d "report_err.h" declares "report_failure()", so it doesn't need to be
declared in "epan.h", and, as "epan/plugins.c" now includes
"report_err.h", it doesn't need to include "epan.h".

svn path=/trunk/; revision=13634
2005-03-06 19:37:09 +00:00
Jörg Mayer 8b13213e85 Warning fix:
plugins.c:236: warning: implicit declaration of function
        'report_failure'


svn path=/trunk/; revision=13625
2005-03-06 09:40:58 +00:00
Guy Harris 1a4502d5a9 Squelch some compiler warnings.
svn path=/trunk/; revision=13622
2005-03-06 04:41:42 +00:00
Lars Roland 00273300e7 Preparations for dropping the old plugin api.
Introduce a new init routine for plugins, 
which does not take the plugin api table as an 
argument and allows etheral to distinguish 
between plugins using the old and the new api.

Update README.plugins accordingly

Change all g_warnings() in epan/plugins.c to report_failue().
On windows we do not have a log console open while
loading the plugins, because a log console cannot be opened before the prefs have been read. Thus g_warnings()
does not work for reporting problems with plugins.

svn path=/trunk/; revision=13596
2005-03-05 06:28:10 +00:00
Guy Harris dd4b0b718b The stats tree stuff should ultimately allow us to have plugin taps, so
add infrastructure for them, and display the plugin type (which could be
both dissector *and* tap) in the list of plugins.

svn path=/trunk/; revision=13543
2005-02-27 22:04:48 +00:00
Lars Roland ec9ca01616 Move the following files from /trunk to /trunk/epan:
asn1.[ch]
follow.[ch]
ptvcursor.[ch]
reassemble.[ch]
xmlstub.[ch]

fix #include statements accordingly.

svn path=/trunk/; revision=13366
2005-02-09 23:38:00 +00:00
Ulf Lamping 80d0151d6c add some of the DCE/RPC functions to the plugin API
svn path=/trunk/; revision=13010
2005-01-12 21:44:53 +00:00
Guy Harris bc7a4459e1 Don't cast pointers passed as arguments - pass a pointer to the right
type of variable and assign the value; that squelches "dereferencing
type-punned pointer will break strict-aliasing rules" warnings from some
versions of GCC.


svn path=/trunk/; revision=12924
2005-01-02 04:01:00 +00:00
Guy Harris 4c0f806dc9 As "get_persconffile_path()" doesn't return a "const char *", neither
does "get_plugins_pers_dir()" - and "get_plugins_global_dir()" doesn't
return one either.  Both of them return mallocated data, and making them
return a "const char *" just causes compiler whining when you try to
free them.

svn path=/trunk/; revision=12883
2004-12-31 00:32:00 +00:00
Guy Harris 6472876ab3 Move the tap infrastructure to the epan directory.
svn path=/trunk/; revision=12128
2004-09-29 00:06:36 +00:00
Guy Harris 53ab91826b Move the xDLC helper routines into epan.
svn path=/trunk/; revision=12127
2004-09-28 23:48:02 +00:00
Guy Harris ac98f225a8 Move various checksum routines and headers to epan.
svn path=/trunk/; revision=12117
2004-09-28 00:06:32 +00:00
Guy Harris bbe7f89742 Move prefs.c and prefs.h into the epan subdirectory.
svn path=/trunk/; revision=12115
2004-09-27 22:55:15 +00:00
Guy Harris 55d15a436b Add proto_tree_add_debug_text(), rtcp_add_address(), and
rtp_add_address() to the list of functions exported from libethereal.dll
and exported via the plugin function table.

svn path=/trunk/; revision=12067
2004-09-23 07:32:16 +00:00
Guy Harris f23f4ecf04 Use _WIN32 rather than WIN32 to determine if we're compiling on Win32;
according to Gisle Vanem, WIN32 isn't a built-in in MSVC, but _WIN32 is.

svn path=/trunk/; revision=11972
2004-09-11 23:03:36 +00:00
Gilbert Ramirez 669db206cb Move dissectors to epan/dissectors directory.
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.

Adjust #include lines in files that include packet-*.h
files.

svn path=/trunk/; revision=11410
2004-07-18 18:06:47 +00:00
Guy Harris 8a8b883450 Set the svn:eol-style property on all text files to "native", so that
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.

svn path=/trunk/; revision=11400
2004-07-18 00:24:25 +00:00
Guy Harris 6feb4e2751 Add "crc16_ccitt_tvb()" to the plugin API and the list of functions
exported from libethereal.dll.

svn path=/trunk/; revision=11280
2004-06-30 08:22:56 +00:00
Guy Harris b93965db56 From Dennis Lim: add routines used by dissectors for ONC RPC protocols
to the plugin API.

Add them to the list of routines exported from the libethereal DLL on
Windows as well.

svn path=/trunk/; revision=11186
2004-06-19 10:13:52 +00:00
Guy Harris 8f4a65ae86 Get rid of a no-longer-used variable.
svn path=/trunk/; revision=10938
2004-05-21 00:39:33 +00:00
Guy Harris 9f05c2598f "datafile_dir" in "init_plugins()" is used regardless of whether we're
on Windows or UN*X - don't #ifdef it.

Clean up the #ifdefs in "get_plugins_global_dir()".

Clean up white space.

svn path=/trunk/; revision=10931
2004-05-20 22:37:45 +00:00
Ulf Lamping 957ebcf71d separate dir functions from the plugin init,
put this and some other dirs in the about dialog

svn path=/trunk/; revision=10928
2004-05-20 13:48:25 +00:00
Guy Harris 36a9a266f4 From Tomas Kukosa: add packet-ber.c routines to the plugin API.
svn path=/trunk/; revision=10295
2004-03-04 07:07:57 +00:00
Guy Harris 6ab89ff776 Include "report_err.h" to declare "report_open_failure()" and
"report_read_failure()".

svn path=/trunk/; revision=10166
2004-02-21 11:13:54 +00:00
Ulf Lamping b6a0525091 Bugfix from Lars Roland: included missing xdlc.h
svn path=/trunk/; revision=9553
2004-01-05 15:03:38 +00:00
Guy Harris 342fa7a1b5 From Tomas Kukosa:
Remove the internal packet-per.c functions
	"dissect_per_length_determinant()" and
	"dissect_per_normally_small_nonnegative_whole_number()" from the
	plugin API, as they shouldn't be used outside the PER dissector.

	Remove the H.225/H.245 functions
	"dissect_h225_TransportAddress()" and
	"dissect_h245_NonStandardParameter()" from the plugin API until
	we really need them in plugins.

	Add the string dissector table functions to the plugin API.

svn path=/trunk/; revision=8532
2003-09-24 18:35:58 +00:00
Guy Harris 0333b96fbf Include the header files required by new APIs in the plugin API table.
svn path=/trunk/; revision=8252
2003-08-25 21:35:36 +00:00
Guy Harris e7c8d1f5a0 From Matthijs Melchior:
move the initialization of the addresses in the plugin interface
	structure from run-time to link time;

	don't attempt to rebuild the X* files automatically, just warn
	that they're out of date and show the command used to rebuild
	them (not everybody has GCC installed, but it's required in
	order to rebuild them).

Get rid of the checked-in Xepan_plugins.c, as it's no longer generated
or used.

Fix Makefile.am now that Xepan_plugins.c has been replaced by Xass-list.

Give plugin_gen.py an RCS ID.

svn path=/trunk/; revision=8186
2003-08-18 20:17:55 +00:00
Guy Harris bef8e395a8 From Matthijs Melchior: generate all declarations and definitions for
plugin ABI from a single file.

svn path=/trunk/; revision=8038
2003-07-18 03:02:12 +00:00
Guy Harris feadec85eb Export "tvb_get_string()" and "tvb_get_stringz()" to plugins.
svn path=/trunk/; revision=7862
2003-06-12 10:10:39 +00:00
Guy Harris 4875604484 Fix up some comments, and move some common GLib 1.2[.x]/2.x code outside
#ifdefs.

svn path=/trunk/; revision=7775
2003-06-04 00:11:02 +00:00