aboutsummaryrefslogtreecommitdiffstats
path: root/plugins.c
AgeCommit message (Collapse)AuthorFilesLines
2000-09-14Move to version 0.8.12Gilbert Ramirez1-5/+5
svn path=/trunk/; revision=2432
2000-08-19- fix potential buffer overflow problems.Laurent Deniel1-9/+23
- fix potential memory allocation problems (e.g. if PF_DIR is changed to a longer string). - add some #defines. svn path=/trunk/; revision=2297
2000-08-18- move some #preprocessor directives at the fisrt column.Laurent Deniel1-4/+9
- do not silently ignore plugins with incomplete symbols or non compilable filter (but report the error to the user). svn path=/trunk/; revision=2291
2000-08-11Miscellaneous code cleaningLaurent Deniel1-1/+7
- add <stdarg.h> or <varargs.h> in snprintf.h and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes - remove the check of multiple inclusions in source (.c) code (there is a bit loss of _cpp_ performance, but I prefer the gain of code reading and maintenance; and nowadays, disk caches and VM are correctly optimized ;-). - protect all (well almost) header files against multiple inclusions - add header (i.e. GPL license) in some include files - reorganize a bit the way header files are included: First: #include <system_include_files> #include <external_package_include_files (e.g. gtk, glib etc.)> Then #include "ethereal_include_files" with the correct HAVE_XXX or NEED_XXX protections. - add some HAVE_XXX checks before including some system header files - add the same HAVE_XXX in wiretap as in ethereal Please forgive me, if I break something (I've only compiled and regression tested on Linux). svn path=/trunk/; revision=2254
2000-08-03Move to version 0.8.11Gilbert Ramirez1-5/+5
svn path=/trunk/; revision=2196
2000-07-04Change version to 0.8.10Gilbert Ramirez1-5/+5
In gtk/Makefile.nmake, add progress_dlg.obj svn path=/trunk/; revision=2108
2000-06-07Move to version 0.8.9Gilbert Ramirez1-5/+5
svn path=/trunk/; revision=2042
2000-05-31Fix plugin function table so that plugins work on Win32.Gilbert Ramirez1-1/+25
svn path=/trunk/; revision=2034
2000-05-08Move to version 0.8.8Gilbert Ramirez1-5/+5
svn path=/trunk/; revision=1925
2000-05-05Add routines to:Guy Harris1-1/+5
register lists of "heuristic" dissectors, which are handed a frame that may or may contain a payload for the protocol they dissect, and that return FALSE if it's not or dissect the packet and return TRUE if it is; add a dissector to such a list; go through such a list, calling each dissector until either a dissector returns TRUE, in which case the routine returns TRUE, or it runs out of entries in the list, in which case the routine returns FALSE. Have lists of heuristic dissectors for TCP and for COTP when used with the Inactive Subset of CLNP, and add the GIOP and Yahoo Messenger dissectors to the first list and the Sinec H1 dissector to the second list. Make the dissector name argument to "dissector_add()" and "dissector_delete()" a "const char *" rarther than just a "char *". Add "heur_dissector_add()", the routine to add a heuristic dissector to a list of heuristic dissectors, to the set of routines we can export to plugins through a table on platforms where dynamically-loaded code can't call stuff in the main program, and initialize the element in the table in question for "dissector_add()" (which we'd forgotten to do). svn path=/trunk/; revision=1909
2000-04-12Move to version 0.8.7.Gilbert Ramirez1-5/+5
I'm going to go ahead and install the plugins in a "0.8.7" directory, and continue incrementing the micro number until the minor version changes to 9. Then for all of 0.9.x, the plugin directory will be "0.9" until the ABI changes again. This should cause less confusion, even if it means the plugins don't change between 0.8.6 and 0.8.7. svn path=/trunk/; revision=1834
2000-04-05Plugin API is at version 0.8.5 (reflected in directory name for plugins)Gilbert Ramirez1-5/+5
svn path=/trunk/; revision=1800
2000-03-31Add a counter : "enabled_plugins_number", to record how many plugins areOlivier Abad1-1/+5
enabled. The counter is incremented in enable_plugin() and decremented in disable_plugin(). In add_packet_to_packet_list(), we check this counter (instead of plugin_list) to see if there is at least one enabled plugin. If this is the case, we must build the protocol tree. svn path=/trunk/; revision=1770
2000-03-15Give all the Ethereal APIs available to plugins their own functionGuy Harris1-24/+32
pointers, and call the APIs by calling through the function pointers - the old technique of using wrappers didn't work, as the underlying function they all called no longer exists. svn path=/trunk/; revision=1724
2000-02-09Change LT_LIB_EXT to ".so" for non-Win32 platforms.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=1614
2000-02-07Code changes, but not Makefile changes, for enabling plugins for Win32.Gilbert Ramirez1-7/+51
svn path=/trunk/; revision=1605
2000-02-03In init_plugins() :Olivier Abad1-14/+32
If std_plug_dir AND local_plug_dir don't exist, the code doesn't scan PLUGIN_DIR. Reported by Eric Lassauge. svn path=/trunk/; revision=1600
2000-01-31In init_plugins(), before scanning PLUGIN_DIR :Olivier Abad1-2/+14
do a "stat" on PLUGIN_DIR, /usr/lib/ethereal/plugins/0.8 and /usr/local/lib/ethereal/plugins/0.8 and compare st_dev and st_ino to be sure that PLUGIN_DIR is different from the others (and not a symlink which would cause a "plugin found in multiple directories" warning). svn path=/trunk/; revision=1588
2000-01-29Remove instances of getenv("HOME") and provide a get_home_dir() functionGilbert Ramirez1-9/+10
which provides a default value if "HOME" is not set. svn path=/trunk/; revision=1579
2000-01-15Merge in the final code to make Ethereal run on Win32, compiledGilbert Ramirez1-21/+42
with MSVC 6.0 and 'nmake', the make tool that comes with MSVC. It compiles, links, and runs. It doesn't run correctly. There's a problem when reading files. I'm getting short reads. I'm not linking in zlib or libsnmp because it first needs to be debugged. I changed the plugin code to use gmodule instead of libltdl, but the Unix build still links ethereal against libltdl. I'll fix that tonight; sorry about leaving it in such a sad state, but I wanted to check in this code before I left work on a Friday night. Ethereal still works, but the building is less than optimal. svn path=/trunk/; revision=1479
2000-01-04Small corrections :Olivier Abad1-7/+21
- create ~/.ethereal if it doesn't exist - use PF_DIR instead of .ethereal - remove two memory leaks svn path=/trunk/; revision=1418
2000-01-04Implement plugins status save/restore :Olivier Abad1-1/+206
Add a "Save status" button to the Plugins window which saves the status (enabled/disabled) and the filter used by all the plugins in ~/.ethereal/plugins.status Moved plugins_scan_dir() from gtk/plugins_dlg.c to plugins.c because it is GUI independent. Read plugins.status in this function and restore the saved status. Add a init_plugins() function in plugins.c which calls plugins_scan_dir() in order to build the plugin_list. It is called by ethereal_proto_init() in gtk/main.c svn path=/trunk/; revision=1417
1999-12-09Put in an RCS ID.Olivier Abad1-2/+4
svn path=/trunk/; revision=1267
1999-12-09plugins support (i.e. Dynamically loadable dissectors)Olivier Abad1-0/+204
depends on dlopen() being available on the target platform svn path=/trunk/; revision=1263