Wireshark-dev: Re: [Wireshark-dev] cannot get a handle on HTTP dissector
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 17 Jul 2006 14:09:07 -0700

On Jul 17, 2006, at 1:55 PM, Steve Grinwis wrote:

I attempted to run my plug-in with the pre-release version of Wireshark,
but it doesn't like me at all!  It comes up with the error
"Couldn't load module C:\Program
Files\Wireshark\plugins\0.99.2pre1\xxx.dll: The specified module could
not be found."

Am I to assume then that I would have to uninstall Ethereal, and then
build Wireshark from scratch, and recompile my plug-in, to get it to
work with Wireshark?

No.

You would, however, probably have to recompile your plug-in with Wireshark; there is no ABI for plugins at this point - plugins built with version N of Ethereal/Wireshark are not guaranteed to run with version M, for M != N.

(You would also have to install your binary in the right directory, i.e. to work with Wireshark 0.99.2pre1 on Windows, it'd have to be installed in {installation directory for Wireshark}\plugins \0.99.2pre1, but I assume that you'd either already done that or did that after seeing the error in question.)

Shouldn't the binaries of Ethereal and Wireshark be compatible?

In the sense of "would it be a good thing if there were a plugin ABI?", yes. However, a plugin ABI requires a plugin API, and a plugin API requires getting the API right, and the API for a dissector currently is not what I would consider "right" yet.

In the sense of "is there not a plugin ABI?", no, there isn't a plugin ABI, so the binaries of versions N and M don't support the same plugins. In particular, the binaries of Ethereal 0.99.1, and earlier Ethereal binaries, don't support the same plugins as the binary of Wireshark 0.99.2. (I.e., it's not an Ethereal vs. Wireshark issue, it's a version vs. version issue.)