Wireshark mailing list archives

Moving codecs to libwireshark or libwsutil?


From: Pascal Quantin <pascal.quantin () gmail com>
Date: Mon, 30 Nov 2015 15:40:49 +0100

Hi all,

I tried to create a codecs plugin for Windows, but the plugin registration
fails.

As reported previously on this list (
https://www.wireshark.org/lists/wireshark-dev/201409/msg00043.html), this
because the plugin itself ends with its own copy of register_codec function
instead of using one exported by the main program. So the codecs of the
plugin gets registered in a hash table local to the plugin.
I tried declaring register_codec as WS_DLL_PUBLIC but as expected it does
not work and it triggers the following error:

       "D:\dev\wireshark\x64\Wireshark.sln" (default target) (1) ->
       "D:\dev\wireshark\x64\ALL_BUILD.vcxproj.metaproj" (default target)
(2) -
       >
       "D:\dev\wireshark\x64\codecs\codecs.vcxproj.metaproj" (default
target) (
       11) ->
       "D:\dev\wireshark\x64\codecs\codecs.vcxproj" (default target) (85) ->
       (ClCompile target) ->
         D:\dev\wireshark\git\codecs\codecs.c(160): warning C4273:
'register_co
       dec' : inconsistent dll linkage
[D:\dev\wireshark\x64\codecs\codecs.vcxp
       roj]


       "D:\dev\wireshark\x64\Wireshark.sln" (default target) (1) ->
       "D:\dev\wireshark\x64\ALL_BUILD.vcxproj.metaproj" (default target)
(2) -
       >
       "D:\dev\wireshark\x64\wireshark.vcxproj.metaproj" (default target)
(50)
       ->
       "D:\dev\wireshark\x64\wireshark.vcxproj" (default target) (142) ->
       (Link target) ->
         LINK : fatal error LNK1149: output filename matches input filename
'D:
       \dev\wireshark\x64\run\Debug\Wireshark.lib'
[D:\dev\wireshark\x64\wiresh
       ark.vcxproj]

    1 Warning(s)
    1 Error(s)

I'm not sure it makes sense anyway to have a library depending on a
function (and global variable) from the main program. This sounds like bad
design (and maybe not even doable on some platforms but I'm not very
familiar of this kind of issues).

Should we move codecs functions to one of the existing libraries? Or add it
to its own? Because so far this officially supported plugin type does not
work at all (at least on Windows).

Regards,
Pascal.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: