aboutsummaryrefslogtreecommitdiffstats
path: root/plugins.c
AgeCommit message (Collapse)AuthorFilesLines
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