Ethereal-dev: Re: [Ethereal-dev] Ethereal plugin versioning question

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

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Mon, 25 Oct 2004 20:05:38 +0200
Jaap Keuter wrote:

On Fri, 22 Oct 2004, Guy Harris wrote:

Filonenko Alexander-AAF013 wrote:

Protocol does not carry versioning info, so it is the user who has to make a
choice of what protocol version needed before Ethereal start.
If you have a single dissector that dissects all versions, with a
preference setting to specify which version, the user doesn't have to
choose before starting Ethereal - they can change it while Ethereal is
running.

Which would be nice if you have a unified source.... But than it would be
riddled with version selection logic, making it _very_ difficult to
maintain.
Why don't you put each version of your protocol into one file, and put all these file into *one* plugin. The user can then select one of the versions (files) using a preference setting at runtime.

This won't add a big selection logic to your plugin. Ok, the plugin will become a bit larger, but that shouldn't be a big issue.

I'm in a similar situation as Alexander is. The protocol get changed, and
I can accomodate the change requests on the plugin very quickly, but older
captures may become unreadable.
It would be nice to have a system which used the version information in
the plugin to be able to select the desired version of the dissector.
This could be done in a similar way as enabling/disabling dissectors is
done. The defacto version numbering standard should make it easy to
select the latest vesion dissector by default.
I really don't like that approach, because you want to use a mechanism which is not designed to be used that way.

This will complicate things for *all* users, as every option added requires the user to make a decision.

I would think, the approach you outlined is a complete maintainance nightmare, independant of the way you choose.

Regards, ULFL