Ethereal-dev: Re: [Ethereal-dev] plugins version-subdirectory: Why?

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

From: Lars Roland <lars.roland@xxxxxxx>
Date: Wed, 16 Mar 2005 11:24:20 +0100
Lars Ruoff schrieb:
From: "Ulf Lamping" <ulf.lamping@xxxxxx>

Summarize: Unless we have a reliable method of detecting a plugin API
version conflict (and I currently don't know a simple way doing this),
we shouldn't change it the way described for the reasons above. *If* we
have a method of detecting it, there would be no need for versioning the
plugin API at all.


Full Ack!

Why cant we just define a plugin API version number, independently of the
Ethereal version.
And each plugin should define (a function that returns) the API plugin
version it was developed for. If the two dont match the plugin isn't loaded
(with a warning message displayed).

Good idea.
How about using additionally a perl script, to scan for changes in the plugin api. If it detects changes, it should exit with an error. Then we make the buildbot run this perl script reporting any errors.

We have a list of exported symbols in libethereal.def. We would have to look for the declarations of these symbols in all header files in /epan and subdirectories. Then we compare the actual declarations with a declarations in a reference file, which is just an older output of this script. If a difference is detected, the script output suggests to update the reference file and the "plugin api version number" in the svn tree and exits with an error.

BTW, as already suggested by Ulf, it is time to retire the old api. If time permits, I'd like to do the final changes this evening.

Regards,
Lars Roland