Ethereal-dev: Re: [Ethereal-dev] General plugins

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Pavel Mores <pvl@xxxxx>
Date: Mon, 16 Jul 2001 10:05:08 +0200
On Sat, Jul 14, 2001 at 12:24:46PM -0700, Guy Harris wrote:

> On Sat, Jul 14, 2001 at 02:03:51PM -0400, Ed Warnicke wrote:
> > 5)	Put a plugin architecture into ethereal and associated tools
> > 	( not libethereal, in my view dissectors should plug into 
> > 	libethereal, most tools probably shouldn't).
> 
> "A plugin architecture" presumably includes the places where sockets are
> put into which stuff is to be plugged in, right?

Includes but is not limited to, IMHO. The communication between the core
and a plugin has to be duplex. This requires 2 major parts:
- placing "callback points" into the core so that the core can call
  plugins upon significant events. The list of events for which
  callbacks should be allowed has yet to be figured out but a couple of
  events (= places in the packet processing chain) are quite obvious.
  This enables the core to call a plugin.
- creating an API, a library of functions that plugins could call to
  make use of the core's sniffing and dissecting capabilities. A set of
  ethereal core's entry points if you will. This would enable a plugin
  to call the core.

We shouldn't neglect neither of these two pieces.

	pvl