Ethereal-dev: Re: [Ethereal-dev] 'Assertion failed' with CVS snapshots & Mandrake9.0.

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Wed, 27 Nov 2002 11:03:09 -0800
On Wed, Nov 27, 2002 at 10:14:45AM +0100, M.C. van den Bovenkamp wrote:
> You're absolutely right, of course. It was picking up the original 0.9.7 
> release plugins in /usr/lib/ethereal/plugins/0.9.7. Once I removed 
> those, it found the new ones in /usr/local/lib/ethereal/plugins/0.9.7 
> and all was well.

Sigh.

The UNIX version of Ethereal currently has, wired into it, a scan of
"/usr/lib/ethereal/plugins/{version}" and
"/usr/local/lib/ethereal/plugins/{version}", in that order, which means
that if you have Ethereal installed in both the system directories (so
that there are plugins in "/usr/lib/ethereal/plugins/{version}") and the
local directories (so that there are plugins in
"/usr/local/lib/ethereal/plugins/{version}"), Ethereal will pick up
plugins from both places, and probably get the wrong ones.

I put in a comment right before that code:

	/*
	 * XXX - why not just scan "plugin_dir"?  That's where we
	 * installed the plugins; if Ethereal isn't installed under
	 * "/usr" or "/usr/local", why should we search for its plugins
	 * there?
	 */

"plugin_dir" is passed in as an argument; it's ultimately set to
PLUGIN_DIR, which, on UNIX builds, is the directory in which plugins
will be installed.

Can anybody think of a reason not to just scan "plugin_dir" and not
hardwire in either "/usr/lib/ethereal/plugins/{version}" or
""/usr/local/lib/ethereal/plugins/{version}"?  Unless they can, that's
what I'm going to do, so we don't see this problem in the future.